22 May, 2015

1 commit

  • "base_irq" needs to be signed for the error handling to work. Also we
    can remove the initialization because we re-assign it later.

    Fixes: aa8d6b73ea33 ('ARM: pxa: pxa_cplds: add lubbock and mainstone IO')
    Signed-off-by: Dan Carpenter
    Signed-off-by: Robert Jarzmik
    Signed-off-by: Arnd Bergmann

    Robert Jarzmik
     

01 May, 2015

1 commit

  • Historically, this support was in arch/arm/mach-pxa/lubbock.c and
    arch/arm/mach-pxa/mainstone.c. When gpio-pxa was moved to drivers/pxa,
    it became a driver, and its initialization and probing happened at
    postcore initcall. The lubbock code used to install the chained lubbock
    interrupt handler at init_irq() time.

    The consequence of the gpio-pxa change is that the installed chained irq
    handler lubbock_irq_handler() was overwritten in pxa_gpio_probe(_dt)(),
    removing :
    - the handler
    - the falling edge detection setting of GPIO0, which revealed the
    interrupt request from the lubbock IO board.

    As a fix, move the gpio0 chained handler setup to a place where we have
    the guarantee that pxa_gpio_probe() was called before, so that lubbock
    handler becomes the true IRQ chained handler of GPIO0, demuxing the
    lubbock IO board interrupts.

    This patch moves all that handling to a mfd driver. It's only purpose
    for the time being is the interrupt handling, but in the future it
    should encompass all the motherboard CPLDs handling :
    - leds
    - switches
    - hexleds

    The same logic applies to mainstone board.

    Fixes: 157d2644cb0c ("ARM: pxa: change gpio to platform device")
    Signed-off-by: Robert Jarzmik
    Acked-by: Arnd Bergmann

    Robert Jarzmik