2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-28 15:13:55 +08:00
linux-next/arch/arm/mach-pxa
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: 157d2644cb ("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
..
include/mach ARM: pxa: fix broken isa interrupts for zeus and viper 2015-01-27 14:53:07 -08:00
am200epd.c ARM: pxa: remove IRQF_DISABLED 2013-12-11 17:32:41 -08:00
am300epd.c ARM: pxa: fix compilation problem on AM300EPD board 2014-02-10 10:32:08 -08:00
balloon3.c arch/arm/mach-pxa: replace strict_strto call with kstrto 2014-08-08 15:57:27 -07:00
capc7117.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
clock-pxa2xx.c ARM: pxa: use common IOMEM definition 2012-03-25 14:36:31 -05:00
clock-pxa3xx.c ARM: pxa: support CKENC in clk_enable 2012-08-16 16:15:44 +08:00
clock.c ARM: pxa: add clk_set_rate() 2011-07-12 19:45:19 +08:00
clock.h ARM: pxa: remove pxa95x support 2012-11-15 13:50:13 +01:00
cm-x2xx-pci.c ARM: PCI: provide a default bus scan implementation 2012-05-13 17:12:17 +01:00
cm-x2xx-pci.h
cm-x2xx.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
cm-x255.c ARM: 7104/1: plat-pxa: break out GPIO driver specifics 2011-10-01 23:45:34 +01:00
cm-x270.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
cm-x300.c ARM: 8025/1: Get rid of meminfo 2014-06-01 01:17:12 +01:00
colibri-evalboard.c ARM: pxa: fix colibri build 2014-03-21 18:26:02 +01:00
colibri-pxa3xx.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
colibri-pxa270-income.c ARM: pxa: Initialize PWM backlight enable_gpio field 2013-10-16 09:05:57 +02:00
colibri-pxa270.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
colibri-pxa300.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
colibri-pxa320.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
corgi_pm.c ARM: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
corgi.c ARM: pxa: add regulator_has_full_constraints to corgi board file 2014-12-26 18:03:20 +01:00
csb701.c
csb726.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
devices.c arm: pxa: specify PMUs are for XScale CPUs 2015-02-06 00:12:57 -08:00
devices.h ARM: pxa3xx: provide specific platform_devices for all ssp ports 2014-09-19 01:58:43 +08:00
em-x270.c arm: mach-pxa: Convert pr_warning to pr_warn 2014-11-19 23:53:13 +01:00
eseries.c ARM: 8025/1: Get rid of meminfo 2014-06-01 01:17:12 +01:00
ezx.c ARM: pxa: Initialize PWM backlight enable_gpio field 2013-10-16 09:05:57 +02:00
generic.c ARM: pxa: fix section mismatch warning for pxa_timer_nodt_init 2014-09-09 16:42:25 +02:00
generic.h arm: pxa: move init functions into generic.h 2014-11-19 23:53:14 +01:00
gumstix.c arm: mach-pxa: Convert pr_warning to pr_warn 2014-11-19 23:53:13 +01:00
h5000.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
himalaya.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
hx4700.c hx4700: regulator: declare full constraints 2014-12-26 18:05:32 +01:00
icontrol.c can: mcp251x: Replace power callbacks with regulator API 2013-08-21 09:28:29 +02:00
idp.c ARM: fix typos in smc91x platform data 2015-03-04 23:32:26 -05:00
irq.c ARM: pxa: fix pxa interrupts handling in DT 2015-02-23 22:40:48 +01:00
Kconfig ARM: pxa: pxa_cplds: add lubbock and mainstone IO 2015-04-30 22:52:12 +02:00
littleton.c Input: pxa27x-keypad - use matrix_keymap for matrix keys 2013-06-18 22:56:51 -07:00
lpd270.c ARM: fix typos in smc91x platform data 2015-03-04 23:32:26 -05:00
lubbock.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
magician.c ARM: pxa: remove IRQF_DISABLED 2013-12-11 17:32:41 -08:00
mainstone.c ARM: pxa: remove IRQF_DISABLED 2013-12-11 17:32:41 -08:00
Makefile ARM: pxa: pxa_cplds: add lubbock and mainstone IO 2015-04-30 22:52:12 +02:00
Makefile.boot ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mfp-pxa2xx.c arm: mach-pxa: Convert pr_warning to pr_warn 2014-11-19 23:53:13 +01:00
mfp-pxa3xx.c ARM / PXA: Use struct syscore_ops for "core" power management 2011-04-24 19:16:09 +02:00
mioa701_bootresume.S ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+ 2014-07-18 12:29:04 +01:00
mioa701.c ARM: pxa: Add dummy backlight power supply on Mitac Mio A701 2014-02-11 11:33:09 +08:00
mp900.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mxm8x10.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
palm27x.c ARM: pxa: Initialize PWM backlight enable_gpio field 2013-10-16 09:05:57 +02:00
palmld.c Input: pxa27x-keypad - use matrix_keymap for matrix keys 2013-06-18 22:56:51 -07:00
palmt5.c Input: pxa27x-keypad - use matrix_keymap for matrix keys 2013-06-18 22:56:51 -07:00
palmtc.c ARM: pxa: Initialize PWM backlight enable_gpio field 2013-10-16 09:05:57 +02:00
palmte2.c ARM: pxa: Initialize PWM backlight enable_gpio field 2013-10-16 09:05:57 +02:00
palmtreo.c Input: pxa27x-keypad - use matrix_keymap for matrix keys 2013-06-18 22:56:51 -07:00
palmtx.c Input: pxa27x-keypad - use matrix_keymap for matrix keys 2013-06-18 22:56:51 -07:00
palmz72.c Input: pxa27x-keypad - use matrix_keymap for matrix keys 2013-06-18 22:56:51 -07:00
pcm027.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
pcm990-baseboard.c ARM: pxa: remove IRQF_DISABLED 2013-12-11 17:32:41 -08:00
pm.c ARM: pm: move cpu_init() call into core code 2011-06-24 08:48:43 +01:00
poodle.c ARM: pxa: add regulator_has_full_constraints to poodle board file 2014-12-26 18:03:20 +01:00
pxa2xx.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
pxa3xx-ulpi.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
pxa3xx.c ARM: pxa3xx: provide specific platform_devices for all ssp ports 2014-09-19 01:58:43 +08:00
pxa25x.c ARM: pxa: Move UNCACHED_PHYS_0 mapping from generic.c to pxa2[57]x.c 2014-07-12 09:51:40 -07:00
pxa27x.c arm: pxa: add device-tree irq init for pxa27x 2014-11-19 23:53:14 +01:00
pxa300.c ARM: pxa: use common IOMEM definition 2012-03-25 14:36:31 -05:00
pxa320.c ARM: pxa: use common IOMEM definition 2012-03-25 14:36:31 -05:00
pxa930.c ARM: pxa: move PXA_GPIO_TO_IRQ macro 2013-04-11 10:00:05 +08:00
pxa_cplds_irqs.c ARM: pxa: pxa_cplds: add lubbock and mainstone IO 2015-04-30 22:52:12 +02:00
pxa-dt.c arm: pxa: add pxa27x device-tree support 2014-11-19 23:53:14 +01:00
raumfeld.c arm: mach-pxa: Decrement the power supply's device reference counter 2015-03-13 23:15:55 +01:00
reset.c ARM: pxa: prevent PXA270 occasional reboot freezes 2013-12-11 16:35:16 -08:00
saar.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
sharpsl_pm.c ARM: pxa: remove IRQF_DISABLED 2013-12-11 17:32:41 -08:00
sleep.S ARM: pxa: correct errata number for PXA270 2014-07-04 20:30:42 +08:00
smemc.c ARM: PXA3xx: program the CSMSADRCFG register 2013-01-23 16:56:32 +08:00
spitz_pm.c ARM: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
spitz.c ARM: pxa: add regulator_has_full_constraints to spitz board file 2014-12-26 18:04:26 +01:00
standby.S ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+ 2014-07-18 12:29:04 +01:00
stargate2.c misc: (at24) move header to linux/platform_data/ 2013-09-30 06:02:34 +02:00
tavorevb.c ARM: pxa: Initialize PWM backlight enable_gpio field 2013-10-16 09:05:57 +02:00
tosa-bt.c ARM: mach-pxa: drop owner assignment from platform_drivers 2014-10-20 16:20:05 +02:00
tosa.c ARM: pxa: tosa: switch to gpio-charger 2014-11-19 23:53:13 +01:00
trizeps4.c ARM: pxa: remove IRQF_DISABLED 2013-12-11 17:32:41 -08:00
viper.c arch/arm/mach-pxa: replace strict_strto call with kstrto 2014-08-08 15:57:27 -07:00
vpac270.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
xcep.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
z2.c ARM: pxa: Initialize PWM backlight enable_gpio field 2013-10-16 09:05:57 +02:00
zeus.c ARM: pxa: Fix typo in zeus.c 2015-02-23 22:40:09 +01:00
zylonite_pxa300.c gpio: (gpio-pca953x) move header to linux/platform_data/ 2013-08-29 12:33:52 -07:00
zylonite_pxa320.c [ARM] pxa/zylonite: simplify reduntant gpio settings on mmc slot 2009-12-29 14:11:34 +08:00
zylonite.c ARM: pxa: Initialize PWM backlight enable_gpio field 2013-10-16 09:05:57 +02:00