mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-22 20:23:57 +08:00
c7977ec4a3
If the pin function controller (which can be a GPIO controller) is
instantiated before the interrupt controllers, due to the ordering in
the DTS, the irq domains for the interrupt controllers referenced by its
"interrupts-extended" property cannot be found yet:
irq: no irq domain found for /interrupt-controller@e61c0000 !
As the sh-pfc driver accesses the platform device's resources directly,
it cannot find the (optional) IRQ resources, and thinks no interrupts
are available. This may lead to failures later, when GPIOs are used as
interupts:
gpio-keys keyboard: Unable to claim irq 0; error -22
gpio-keys: probe of keyboard failed with error -22
To fix this, add support for deferred probing to sh-pfc, by converting
the driver from direct platform device resource access to using the
platform_get_resource() and platform_get_irq() helpers.
Note that while this fixes the root cause worked around by commit
|
||
---|---|---|
.. | ||
core.c | ||
core.h | ||
gpio.c | ||
Kconfig | ||
Makefile | ||
pfc-emev2.c | ||
pfc-r8a73a4.c | ||
pfc-r8a7740.c | ||
pfc-r8a7778.c | ||
pfc-r8a7779.c | ||
pfc-r8a7790.c | ||
pfc-r8a7791.c | ||
pfc-r8a7794.c | ||
pfc-sh73a0.c | ||
pfc-sh7203.c | ||
pfc-sh7264.c | ||
pfc-sh7269.c | ||
pfc-sh7720.c | ||
pfc-sh7722.c | ||
pfc-sh7723.c | ||
pfc-sh7724.c | ||
pfc-sh7734.c | ||
pfc-sh7757.c | ||
pfc-sh7785.c | ||
pfc-sh7786.c | ||
pfc-shx3.c | ||
pinctrl.c | ||
sh_pfc.h |