Hi Linus, Bartosz,
If request_irq() is called on an otherwise unused GPIO that was
incorrectly configured for output by the firmware, this fails with:
gpio gpiochip2: (e6052000.gpio): gpiochip_lock_as_irq: tried to
flag a GPIO set as output for IRQ
gpio gpiochip2: (e6052000.gpio): unable to lock HW IRQ 22 for IRQ
genirq: Failed to request resources for 0-0020 (irq 142) on
irqchip e6052000.gpio
This happens since commit ad817297418539b8 ("gpio: rcar: Implement
.get_direction() callback"), as the (default) input state is changed to
output by reading the hardware state. Without that callback, the code
just continues.
While I strongly agree the firmware should be fixed not to configure
random GPIOs as outputs, shouldn't Linux just override this, if the GPIO
is not marked in use (has not been requested)?
What is your opinion on this?
Thanks!
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds