• Geert Uytterhoeven's avatar
    ARM: shmobile: r8a73a4: Move pfc node to work around probe ordering bug · e4ba0a9b
    Geert Uytterhoeven authored
    Currently the pin function controller (which is also a GPIO controller)
    is instantiated before the interrupt controllers due to the order in the
    DTS. At that time, 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 !
    
    Nevertheless, the core OF probing code ignores this failure, besides a
    debug message that's not normally printed:
    
        not all legacy IRQ resources mapped for pfc
    
    and continues initialization of the device. Then, the sh-pfc driver
    cannot find any IRQ resources, and thinks no interrupts are available,
    causing gpio-keys to fail later:
    
        gpio-keys keyboard: Unable to claim irq 0; error -22
        gpio-keys: probe of keyboard failed with error -22
    
    Move the pin function controller node after the interrupt controller
    nodes it references to work around the bug in the core OF probing code.
    Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
    e4ba0a9b
r8a73a4.dtsi 21.4 KB