Messages in this thread | | | From | Linus Walleij <> | Date | Wed, 27 May 2020 15:56:16 +0200 | Subject | Re: [PATCH v2 1/4] gpio: gpiolib: Allow GPIO IRQs to lazy disable |
| |
On Wed, May 27, 2020 at 12:38 PM Hans Verkuil <hverkuil@xs4all.nl> wrote:
> However, I discovered that patch 256efaea1fdc ("gpiolib: fix up emulated > open drain outputs") broke the cec-gpio driver on the Raspberry Pi starting > with kernel v5.5. > > The CEC pin is an open drain pin that is used in both input and output > directions and has an interrupt (which is of course disabled while in > output mode). > > With this patch the interrupt can no longer be requested: > > [ 4.157806] gpio gpiochip0: (pinctrl-bcm2835): gpiochip_lock_as_irq: tried to flag a GPIO set as output for IRQ > > [ 4.168086] gpio gpiochip0: (pinctrl-bcm2835): unable to lock HW IRQ 7 for IRQ > [ 4.175425] genirq: Failed to request resources for cec-gpio@7 (irq 79) on irqchip pinctrl-bcm2835 > [ 4.184597] cec-gpio: probe of cec-gpio@7 failed with error -5
There is nothing conceptually wrong with that patch so I think we need to have the irqchip code check if it is input *OR* open drain.
I'll send a separate patch for this, it should be an easy fix.
Yours, Linus Walleij
| |