Robert Jarzmik aa8d6b73ea ARM: pxa: pxa_cplds: add lubbock and mainstone IO
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 <robert.jarzmik@free.fr>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2015-04-30 22:52:12 +02:00
..
2013-12-11 17:32:41 -08:00
2012-12-24 09:36:38 -07:00
2011-07-12 19:45:19 +08:00
2012-11-15 13:50:13 +01:00
2012-12-24 09:36:38 -07:00
2014-06-01 01:17:12 +01:00
2012-12-24 09:36:38 -07:00
2012-12-24 09:36:38 -07:00
2012-12-24 09:36:38 -07:00
2012-12-24 09:36:38 -07:00
2014-06-01 01:17:12 +01:00
2012-12-24 09:36:38 -07:00
2012-12-24 09:36:38 -07:00
2015-03-04 23:32:26 -05:00
2012-12-24 09:36:38 -07:00
2013-12-11 17:32:41 -08:00
2013-12-11 17:32:41 -08:00
2012-12-24 09:36:38 -07:00
2012-12-24 09:36:38 -07:00
2014-12-14 16:10:09 -08:00
2012-03-25 14:36:31 -05:00
2012-03-25 14:36:31 -05:00
2013-04-11 10:00:05 +08:00
2012-12-24 09:36:38 -07:00
2013-12-11 17:32:41 -08:00
2014-11-19 23:53:13 +01:00
2013-12-11 17:32:41 -08:00
2012-12-24 09:36:38 -07:00
2012-12-24 09:36:38 -07:00
2015-02-23 22:40:09 +01:00