Make mach/gpio.h optional
Subsystems (27)
cover Make mach/gpio.h optional
From: Rob Herring <[email protected]>
This series makes mach/gpio.h optional like we have done for other mach headers in preparation for multi-platform kernel images. Unfortunately, it adds more mach includes to drivers/, but really they are just now explicitly included and easily found.
A few platforms like Samsung were such a mess I didn't convert them and they still require a gpio.h.
This is build tested on all ARM defconfigs. There may be a few lingering failures, but I've iterated thru builds several times.
The series plus multi-platform support is available here:
git://sources.calxeda.com/kernel/linux.git multi-plat
Rob
Rob Herring (10):
usb: pxa27x_udc: remove IRQ_USB define
gpio: pxa: add explicit includes for cpu_is_X macros
serial: atmel: add explict mach/gpio.h include
net: pxaficp_ir: add explicit mach/gpio.h includes
ARM: at91: explicitly include mach/gpio.h
ARM: shmobile: explicitly include mach/gpio.h
ARM: orion: add explict mach/gpio.h includes
ARM: omap2: add explict mach/gpio.h includes
ARM: omap1: add explict mach/gpio.h includes
ARM: make mach/gpio.h headers optional
arch/arm/Kconfig | 17 +++++++++++++ arch/arm/include/asm/gpio.h | 2 ++ arch/arm/mach-at91/at91rm9200_devices.c | 1 + arch/arm/mach-at91/at91sam9260_devices.c | 1 + arch/arm/mach-at91/at91sam9261_devices.c | 1 + arch/arm/mach-at91/at91sam9263_devices.c | 1 + arch/arm/mach-at91/at91sam9g45_devices.c | 1 + arch/arm/mach-at91/at91sam9rl_devices.c | 1 + arch/arm/mach-at91/board-1arm.c | 1 + arch/arm/mach-at91/board-afeb-9260v1.c | 1 + arch/arm/mach-at91/board-cam60.c | 1 + arch/arm/mach-at91/board-carmeva.c | 1 + arch/arm/mach-at91/board-cpu9krea.c | 1 + arch/arm/mach-at91/board-cpuat91.c | 1 + arch/arm/mach-at91/board-csb337.c | 1 + arch/arm/mach-at91/board-csb637.c | 1 + arch/arm/mach-at91/board-eb9200.c | 1 + arch/arm/mach-at91/board-ecbat91.c | 1 + arch/arm/mach-at91/board-eco920.c | 1 + arch/arm/mach-at91/board-flexibity.c | 1 + arch/arm/mach-at91/board-foxg20.c | 1 + arch/arm/mach-at91/board-gsia18s.c | 1 + arch/arm/mach-at91/board-kafa.c | 1 + arch/arm/mach-at91/board-kb9202.c | 1 + arch/arm/mach-at91/board-neocore926.c | 1 + arch/arm/mach-at91/board-pcontrol-g20.c | 1 + arch/arm/mach-at91/board-picotux200.c | 1 + arch/arm/mach-at91/board-qil-a9260.c | 1 + arch/arm/mach-at91/board-rm9200dk.c | 1 + arch/arm/mach-at91/board-rm9200ek.c | 1 + arch/arm/mach-at91/board-rsi-ews.c | 1 + arch/arm/mach-at91/board-sam9-l9260.c | 1 + arch/arm/mach-at91/board-sam9260ek.c | 1 + arch/arm/mach-at91/board-sam9261ek.c | 1 + arch/arm/mach-at91/board-sam9263ek.c | 1 + arch/arm/mach-at91/board-sam9g20ek.c | 1 + arch/arm/mach-at91/board-sam9m10g45ek.c | 1 + arch/arm/mach-at91/board-sam9rlek.c | 1 + arch/arm/mach-at91/board-snapper9260.c | 1 + arch/arm/mach-at91/board-stamp9g20.c | 1 + arch/arm/mach-at91/board-usb-a926x.c | 1 + arch/arm/mach-at91/board-yl-9200.c | 1 + arch/arm/mach-at91/gpio.c | 1 + arch/arm/mach-at91/leds.c | 1 + arch/arm/mach-at91/pm.c | 1 + arch/arm/mach-dove/irq.c | 1 + arch/arm/mach-dove/mpp.c | 1 + arch/arm/mach-ep93xx/include/mach/gpio.h | 1 - arch/arm/mach-highbank/include/mach/gpio.h | 1 - arch/arm/mach-ixp4xx/include/mach/gpio.h | 2 -- arch/arm/mach-kirkwood/irq.c | 1 + arch/arm/mach-kirkwood/rd88f6192-nas-setup.c | 1 + arch/arm/mach-mmp/include/mach/gpio.h | 8 ------ arch/arm/mach-msm/include/mach/gpio.h | 1 - arch/arm/mach-mv78xx0/irq.c | 1 + arch/arm/mach-mxs/include/mach/gpio.h | 1 - arch/arm/mach-nomadik/include/mach/gpio.h | 4 --- arch/arm/mach-omap1/board-ams-delta.c | 1 + arch/arm/mach-omap1/board-osk.c | 1 + arch/arm/mach-omap1/gpio15xx.c | 1 + arch/arm/mach-omap1/gpio16xx.c | 1 + arch/arm/mach-omap1/gpio7xx.c | 1 + arch/arm/mach-omap1/leds-h2p2-debug.c | 1 + arch/arm/mach-omap1/leds.c | 1 + arch/arm/mach-omap2/board-zoom-display.c | 1 + arch/arm/mach-omap2/gpio.c | 1 + arch/arm/mach-omap2/pm24xx.c | 1 + arch/arm/mach-omap2/pm34xx.c | 1 + arch/arm/mach-orion5x/d2net-setup.c | 1 + arch/arm/mach-orion5x/dns323-setup.c | 1 + arch/arm/mach-orion5x/irq.c | 1 + arch/arm/mach-orion5x/net2big-setup.c | 1 + arch/arm/mach-picoxcell/include/mach/gpio.h | 1 - arch/arm/mach-pxa/include/mach/gpio.h | 32 ------------------------ arch/arm/mach-realview/include/mach/gpio.h | 1 - arch/arm/mach-shmobile/board-ap4evb.c | 1 + arch/arm/mach-shmobile/board-armadillo800eva.c | 1 + arch/arm/mach-shmobile/board-g4evm.c | 1 + arch/arm/mach-shmobile/board-mackerel.c | 1 + arch/arm/mach-shmobile/include/mach/gpio.h | 14 ----------- arch/arm/mach-shmobile/pfc-r8a7740.c | 2 +- arch/arm/mach-shmobile/pfc-r8a7779.c | 2 +- arch/arm/mach-shmobile/pfc-sh7367.c | 2 +- arch/arm/mach-shmobile/pfc-sh7372.c | 2 +- arch/arm/mach-shmobile/pfc-sh7377.c | 2 +- arch/arm/mach-shmobile/pfc-sh73a0.c | 2 +- arch/arm/mach-spear13xx/include/mach/gpio.h | 19 -------------- arch/arm/mach-spear3xx/include/mach/gpio.h | 19 -------------- arch/arm/mach-spear6xx/include/mach/gpio.h | 19 -------------- arch/arm/mach-tegra/include/mach/gpio.h | 1 - arch/arm/mach-u300/include/mach/gpio.h | 1 - arch/arm/mach-ux500/include/mach/gpio.h | 5 ---- arch/arm/mach-versatile/include/mach/gpio.h | 1 - arch/arm/mach-vexpress/include/mach/gpio.h | 1 - arch/arm/mach-vt8500/include/mach/gpio.h | 1 - arch/arm/plat-mxc/include/mach/gpio.h | 1 - arch/arm/plat-orion/mpp.c | 1 + arch/arm/plat-spear/include/plat/gpio.h | 1 - drivers/gpio/gpio-omap.c | 2 +- drivers/gpio/gpio-pxa.c | 4 +++ drivers/net/irda/pxaficp_ir.c | 3 ++- drivers/sh/pfc/gpio.c | 1 + drivers/tty/serial/atmel_serial.c | 2 +- drivers/usb/gadget/pxa27x_udc.c | 2 +- 104 files changed, 103 insertions(+), 145 deletions(-) delete mode 100644 arch/arm/mach-ep93xx/include/mach/gpio.h delete mode 100644 arch/arm/mach-highbank/include/mach/gpio.h delete mode 100644 arch/arm/mach-ixp4xx/include/mach/gpio.h delete mode 100644 arch/arm/mach-mmp/include/mach/gpio.h delete mode 100644 arch/arm/mach-msm/include/mach/gpio.h delete mode 100644 arch/arm/mach-mxs/include/mach/gpio.h delete mode 100644 arch/arm/mach-nomadik/include/mach/gpio.h delete mode 100644 arch/arm/mach-picoxcell/include/mach/gpio.h delete mode 100644 arch/arm/mach-pxa/include/mach/gpio.h delete mode 100644 arch/arm/mach-realview/include/mach/gpio.h delete mode 100644 arch/arm/mach-spear13xx/include/mach/gpio.h delete mode 100644 arch/arm/mach-spear3xx/include/mach/gpio.h delete mode 100644 arch/arm/mach-spear6xx/include/mach/gpio.h delete mode 100644 arch/arm/mach-tegra/include/mach/gpio.h delete mode 100644 arch/arm/mach-u300/include/mach/gpio.h delete mode 100644 arch/arm/mach-ux500/include/mach/gpio.h delete mode 100644 arch/arm/mach-versatile/include/mach/gpio.h delete mode 100644 arch/arm/mach-vexpress/include/mach/gpio.h delete mode 100644 arch/arm/mach-vt8500/include/mach/gpio.h delete mode 100644 arch/arm/plat-mxc/include/mach/gpio.h delete mode 100644 arch/arm/plat-spear/include/plat/gpio.h
Signature · 1 line
1.7.9.5
PATCH 1/10 usb: pxa27x_udc: remove IRQ_USB define
From: Rob Herring <[email protected]>
IRQ_USB was implicitly included by gpio.h. Use the existing variable instead of IRQ_USB.
--- drivers/usb/gadget/pxa27x_udc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/usb/gadget/pxa27x_udc.c +1 -1
@@ -2508,7 +2508,7 @@ static int __init pxa_udc_probe(struct platform_device *pdev) IRQF_SHARED, driver_name, udc);if (retval !=0 ) {dev_err (udc->dev,"%s: can't get irq %i, err %d\n" , - driver_name,IRQ_USB , retval); + driver_name, udc->irq, retval); goto err_irq; } retval =usb_add_gadget_udc (&pdev->dev, &udc->gadget);
Signature · 1 line
1.7.9.5
PATCH 2/10 gpio: pxa: add explicit includes for cpu_is_X macros
In reply to Rob HerringFrom: Rob Herring <[email protected]>
In preparation to remove implicit inclusion of mach/gpio.h, add the necessary includes for cpu_is_X macros.
--- drivers/gpio/gpio-pxa.c | 4 ++++ 1 file changed, 4 insertions(+)
drivers/gpio/gpio-pxa.c +4 -0
@@ -27,6 +27,10 @@#include <linux/slab.h> #include <mach/irqs.h> +#include <mach/hardware.h> +#ifdef CONFIG_ARCH_MMP +#include <mach/cputype.h> +#endif /* * We handle the GPIOs by banks, each bank covers up to 32 GPIOs with
Signature · 1 line
1.7.9.5
PATCH 2/10 gpio: pxa: add explicit includes for cpu_is_X macros
Quoted 4 lines · Rob Herring
From: Rob Herring <[email protected]>
In preparation to remove implicit inclusion of
mach/gpio.h, add the necessary includes forcpu_is_Xmacros.
The commit message talks about gpio.h, but...
drivers/gpio/gpio-pxa.c line 33
Quoted 5 lines
#include <
mach/irqs.h>drivers/gpio/gpio-pxa.c +4
-0+#include <mach/hardware.h> +#ifdef CONFIG_ARCH_MMP +#include <mach/cputype.h> +#endif
This seems completely unrelated, but correct in the sense that every driver should include its resources.
But isn't the proper fix to move arch/arm/mach-pxa/include/mach/cputype.h to include/linux/*/pxa-cputype.h or something (note: no clue what "*" should be!), or even better, modify this one driver to take a flag from platform data and/or DT?
Anyway, we need the PXA maintainers to look at this.
Yours,
Linus Walleij
Haojian Zhuang
maintainerPATCH 2/10 gpio: pxa: add explicit includes for cpu_is_X macros
Quoted 23 lines · Linus Walleij
Quoted 4 lines · Rob Herring
From: Rob Herring <[email protected]>
In preparation to remove implicit inclusion of
mach/gpio.h, add the necessary includes forcpu_is_Xmacros.The commit message talks about
gpio.h, but...drivers/gpio/gpio-pxa.c line 33
Quoted 5 lines
#include <
mach/irqs.h>drivers/gpio/gpio-pxa.c +4
-0+#include <mach/hardware.h> +#ifdef CONFIG_ARCH_MMP +#include <mach/cputype.h> +#endif This seems completely unrelated, but correct in the sense that every driver should include its resources.
But isn't the proper fix to move
arch/arm/mach-pxa/include/mach/cputype.htoinclude/linux/*/pxa-cputype.hor something (note: no clue what "*" should be!), or even better, modify this one driver to take a flag from platform data and/or DT?
Quoted 4 lines
Anyway, we need the PXA maintainers to look at this.
Yours,
Linus Walleij
It's no problem to include cputype.h. I agree Linus's comments to use a same name head file. For example, add cputype.h in arch-pxa. Use cputype.h to include hardware.h.
My question is whether your patches are also based on Arnd's multi-header branch.
I remember that some changes are done in his multiplatform branch. Should we do any patches on his multiplatform branch?
PATCH 2/10 gpio: pxa: add explicit includes for cpu_is_X macros
Quoted 24 lines · Haojian Zhuang
Quoted 23 lines · Linus Walleij
Quoted 4 lines · Rob Herring
From: Rob Herring <[email protected]>
In preparation to remove implicit inclusion of
mach/gpio.h, add the necessary includes forcpu_is_Xmacros.The commit message talks about
gpio.h, but...drivers/gpio/gpio-pxa.c line 33
Quoted 5 lines
#include <
mach/irqs.h>drivers/gpio/gpio-pxa.c +4
-0+#include <mach/hardware.h> +#ifdef CONFIG_ARCH_MMP +#include <mach/cputype.h> +#endif This seems completely unrelated, but correct in the sense that every driver should include its resources.
But isn't the proper fix to move
arch/arm/mach-pxa/include/mach/cputype.htoinclude/linux/*/pxa-cputype.hor something (note: no clue what "*" should be!), or even better, modify this one driver to take a flag from platform data and/or DT?
Quoted 8 lines
Quoted 4 lines
Anyway, we need the PXA maintainers to look at this.
Yours,
Linus WalleijIt's no problem to include
cputype.h. I agree Linus's comments to use a same name head file. For example, addcputype.hin arch-pxa. Usecputype.hto includehardware.h.
I think the right fix is really removing the use of cpu_is_X macros altogether.
Quoted 4 lines
My question is whether your patches are also based on Arnd's multi-header branch.
I remember that some changes are done in his multiplatform branch. Should we do any patches on his multiplatform branch?
It is not based on it. We decided at the ARM mini-summit to not do the mach header rename and to deprecate including mach headers outside of arch/arm.
I'm thinking I will just make PXA and MMP select CONFIG_NEED_MACH_GPIO_H and drop this patch. If pxa and mmp want to be included in multi-platform images, then this will need to be fixed.
Rob
Haojian Zhuang
maintainerPATCH 2/10 gpio: pxa: add explicit includes for cpu_is_X macros
Quoted 30 lines · Rob Herring
Quoted 29 lines · Haojian Zhuang
Quoted 27 lines · Linus Walleij
Quoted 4 lines · Rob Herring
From: Rob Herring <[email protected]>
In preparation to remove implicit inclusion of
mach/gpio.h, add the necessary includes forcpu_is_Xmacros.The commit message talks about
gpio.h, but...drivers/gpio/gpio-pxa.c line 33
Quoted 5 lines
#include <
mach/irqs.h>drivers/gpio/gpio-pxa.c +4
-0+#include <mach/hardware.h> +#ifdef CONFIG_ARCH_MMP +#include <mach/cputype.h> +#endif This seems completely unrelated, but correct in the sense that every driver should include its resources.
But isn't the proper fix to move
arch/arm/mach-pxa/include/mach/cputype.htoinclude/linux/*/pxa-cputype.hor something (note: no clue what "*" should be!), or even better, modify this one driver to take a flag from platform data and/or DT?Anyway, we need the PXA maintainers to look at this.
Yours,
Linus Walleij
Quoted 7 lines
Quoted 3 lines
It's no problem to include
cputype.h. I agree Linus's comments to use a same name head file. For example, addcputype.hin arch-pxa. Usecputype.hto includehardware.h.I think the right fix is really removing the use of
cpu_is_Xmacros altogether.
We'll support non-DT mode at least half a year. So we don't plan to remove cpu_is_X
macros so quickly.
Quoted 9 lines
Quoted 4 lines
My question is whether your patches are also based on Arnd's multi-header branch.
I remember that some changes are done in his multiplatform branch. Should we do any patches on his multiplatform branch?It is not based on it. We decided at the ARM mini-summit to not do the mach header rename and to deprecate including mach headers outside of
arch/arm.
Quoted 5 lines
I'm thinking I will just make PXA and MMP select
CONFIG_NEED_MACH_GPIO_Hand drop this patch. If pxa and mmp want to be included in multi-platform images, then this will need to be fixed.Rob
I checked with Arnd that new patches would be on his multiplatform branch in that
summit. And mulitplatform branch is based on multiheader branch.
It's ok to enable CONFIG_NEED_MACH_GPIO_H and drop this patch.
PATCH 3/10 serial: atmel: add explict mach/gpio.h include
In reply to Rob HerringFrom: Rob Herring <[email protected]>
In preparation to remove implicit inclusion of mach/gpio.h, add explicit include of mach/gpio.h.
--- drivers/tty/serial/atmel_serial.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/tty/serial/atmel_serial.c +1 -1
@@ -48,7 +48,7 @@#ifdef CONFIG_ARM #include <mach/cpu.h> -#include <asm/gpio.h> +#include <mach/gpio.h> #endif #define PDC_BUFFER_SIZE 512
Signature · 1 line
1.7.9.5
PATCH 3/10 serial: atmel: add explict mach/gpio.h include
Quoted 4 lines · Rob Herring
From: Rob Herring <[email protected]>
In preparation to remove implicit inclusion of
mach/gpio.h, add explicit include ofmach/gpio.h.
Definitely NAK.
What is in the Atmel mach/gpio.h has hardly anything to do with the gpio subsystem (it's more a private gpio implementation). It should be renamed as such to make it clear (and so it doesn't trigger my sanity filtering.)
PATCH 3/10 serial: atmel: add explict mach/gpio.h include
Quoted 6 lines · Russell King - ARM Linux
Quoted 4 lines · Rob Herring
From: Rob Herring <[email protected]>
In preparation to remove implicit inclusion of
mach/gpio.h, add explicit include ofmach/gpio.h.
Quoted 6 lines
Definitely NAK.
What is in the Atmel
mach/gpio.hhas hardly anything to do with the gpio subsystem (it's more a private gpio implementation). It should be renamed as such to make it clear (and so it doesn't trigger my sanity filtering.)
Jean-Christophe, Does your gpio clean-up address this?
Rob
PATCH 3/10 serial: atmel: add explict mach/gpio.h include
Quoted 7 lines · Rob Herring
Quoted 6 lines · Russell King - ARM Linux
Quoted 4 lines · Rob Herring
From: Rob Herring <[email protected]>
In preparation to remove implicit inclusion of
mach/gpio.h, add explicit include ofmach/gpio.h.
Quoted 8 lines
Quoted 6 lines
Definitely NAK.
What is in the Atmel
mach/gpio.hhas hardly anything to do with the gpio subsystem (it's more a private gpio implementation). It should be renamed as such to make it clear (and so it doesn't trigger my sanity filtering.)Jean-Christophe, Does your gpio clean-up address this?
yes I've a patch series on my local tree that cleanup this
on at91 we do not need the include/mach/gpio.h
and I do plan to drop most of the stuff in it
Best Regards,
J.
PATCH 3/10 serial: atmel: add explict mach/gpio.h include
In reply to Rob HerringQuoted 8 lines · Rob Herring
From: Rob Herring <[email protected]>
In preparation to remove implicit inclusion of
mach/gpio.h, add explicit include ofmach/gpio.h.Signed-off-by Rob Herring <[email protected]>Cc Nicolas Ferre <[email protected]>Cc Alan Cox <[email protected]>
no you do not fix the right way
we need to use the gpio lig in this driver
Best Regards,
J.
PATCH 4/10 net: pxaficp_ir: add explicit mach/gpio.h includes
In reply to Rob HerringFrom: Rob Herring <[email protected]>
In preparation to remove implicit inclusion of mach/gpio.h, add explict include of mach/gpio.h.
--- drivers/net/irda/pxaficp_ir.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/net/irda/pxaficp_ir.c +2 -1
@@ -29,8 +29,9 @@#include <mach/dma.h> #include <mach/irda.h> -#include <mach/regs-uart.h> +#include <mach/irqs.h> #include <mach/regs-ost.h> +#include <mach/regs-uart.h> #define FICP __REG(0x40800000)/* Start of FICP area */ #define ICCR0 __REG(0x40800000)/* ICP Control Register 0 */
Signature · 1 line
1.7.9.5
PATCH 5/10 ARM: at91: explicitly include mach/gpio.h
In reply to Rob HerringFrom: Rob Herring <[email protected]>
In preparation to remove implicit inclusion of mach/gpio.h, add explict include of mach/gpio.h.
--- arch/arm/mach-at91/at91rm9200_devices.c | 1 + arch/arm/mach-at91/at91sam9260_devices.c | 1 + arch/arm/mach-at91/at91sam9261_devices.c | 1 + arch/arm/mach-at91/at91sam9263_devices.c | 1 + arch/arm/mach-at91/at91sam9g45_devices.c | 1 + arch/arm/mach-at91/at91sam9rl_devices.c | 1 + arch/arm/mach-at91/board-1arm.c | 1 + arch/arm/mach-at91/board-afeb-9260v1.c | 1 + arch/arm/mach-at91/board-cam60.c | 1 + arch/arm/mach-at91/board-carmeva.c | 1 + arch/arm/mach-at91/board-cpu9krea.c | 1 + arch/arm/mach-at91/board-cpuat91.c | 1 + arch/arm/mach-at91/board-csb337.c | 1 + arch/arm/mach-at91/board-csb637.c | 1 + arch/arm/mach-at91/board-eb9200.c | 1 + arch/arm/mach-at91/board-ecbat91.c | 1 + arch/arm/mach-at91/board-eco920.c | 1 + arch/arm/mach-at91/board-flexibity.c | 1 + arch/arm/mach-at91/board-foxg20.c | 1 + arch/arm/mach-at91/board-gsia18s.c | 1 + arch/arm/mach-at91/board-kafa.c | 1 + arch/arm/mach-at91/board-kb9202.c | 1 + arch/arm/mach-at91/board-neocore926.c | 1 + arch/arm/mach-at91/board-pcontrol-g20.c | 1 + arch/arm/mach-at91/board-picotux200.c | 1 + arch/arm/mach-at91/board-qil-a9260.c | 1 + arch/arm/mach-at91/board-rm9200dk.c | 1 + arch/arm/mach-at91/board-rm9200ek.c | 1 + arch/arm/mach-at91/board-rsi-ews.c | 1 + arch/arm/mach-at91/board-sam9-l9260.c | 1 + arch/arm/mach-at91/board-sam9260ek.c | 1 + arch/arm/mach-at91/board-sam9261ek.c | 1 + arch/arm/mach-at91/board-sam9263ek.c | 1 + arch/arm/mach-at91/board-sam9g20ek.c | 1 + arch/arm/mach-at91/board-sam9m10g45ek.c | 1 + arch/arm/mach-at91/board-sam9rlek.c | 1 + arch/arm/mach-at91/board-snapper9260.c | 1 + arch/arm/mach-at91/board-stamp9g20.c | 1 + arch/arm/mach-at91/board-usb-a926x.c | 1 + arch/arm/mach-at91/board-yl-9200.c | 1 + arch/arm/mach-at91/gpio.c | 1 + arch/arm/mach-at91/leds.c | 1 + arch/arm/mach-at91/pm.c | 1 + 43 files changed, 43 insertions(+)
arch/arm/mach-at91/at91rm9200_devices.c +1 -0
@@ -22,6 +22,7 @@#include <mach/at91rm9200.h> #include <mach/at91rm9200_mc.h> #include <mach/at91_ramc.h> +#include <mach/gpio.h> #include "generic.h"
arch/arm/mach-at91/at91sam9260_devices.c +1 -0
@@ -26,6 +26,7 @@#include <mach/at91_matrix.h> #include <mach/at91sam9_smc.h> #include <mach/at91_adc.h> +#include <mach/gpio.h> #include "generic.h"
arch/arm/mach-at91/at91sam9261_devices.c +1 -0
@@ -26,6 +26,7 @@#include <mach/at91sam9261_matrix.h> #include <mach/at91_matrix.h> #include <mach/at91sam9_smc.h> +#include <mach/gpio.h> #include "generic.h"
arch/arm/mach-at91/at91sam9263_devices.c +1 -0
@@ -25,6 +25,7 @@#include <mach/at91sam9263_matrix.h> #include <mach/at91_matrix.h> #include <mach/at91sam9_smc.h> +#include <mach/gpio.h> #include "generic.h"
arch/arm/mach-at91/at91sam9g45_devices.c +1 -0
@@ -33,6 +33,7 @@#include <mach/at91sam9_smc.h> #include <mach/at_hdmac.h> #include <mach/atmel-mci.h> +#include <mach/gpio.h> #include <media/atmel-isi.h>
arch/arm/mach-at91/at91sam9rl_devices.c +1 -0
@@ -23,6 +23,7 @@#include <mach/at91_matrix.h> #include <mach/at91sam9_smc.h> #include <mach/at_hdmac.h> +#include <mach/gpio.h> #include "generic.h"
arch/arm/mach-at91/board-1arm.c +1 -0
@@ -37,6 +37,7 @@#include <mach/board.h> #include <mach/cpu.h> #include <mach/at91_aic.h> +#include <mach/gpio.h> #include "generic.h"
arch/arm/mach-at91/board-afeb-9260v1.c +1 -0
@@ -45,6 +45,7 @@#include <mach/board.h> #include <mach/at91_aic.h> +#include <mach/gpio.h> #include "generic.h"
arch/arm/mach-at91/board-cam60.c +1 -0
@@ -41,6 +41,7 @@#include <mach/board.h> #include <mach/at91_aic.h> #include <mach/at91sam9_smc.h> +#include <mach/gpio.h> #include "sam9_smc.h" #include "generic.h"
arch/arm/mach-at91/board-carmeva.c +1 -0
@@ -37,6 +37,7 @@#include <mach/hardware.h> #include <mach/board.h> #include <mach/at91_aic.h> +#include <mach/gpio.h> #include "generic.h"
arch/arm/mach-at91/board-cpu9krea.c +1 -0
@@ -45,6 +45,7 @@#include <mach/at91sam9_smc.h> #include <mach/at91sam9260_matrix.h> #include <mach/at91_matrix.h> +#include <mach/gpio.h> #include "sam9_smc.h" #include "generic.h"
arch/arm/mach-at91/board-cpuat91.c +1 -0
@@ -41,6 +41,7 @@#include <mach/at91rm9200_mc.h> #include <mach/at91_ramc.h> #include <mach/cpu.h> +#include <mach/gpio.h> #include "generic.h"
arch/arm/mach-at91/board-csb337.c +1 -0
@@ -40,6 +40,7 @@#include <mach/hardware.h> #include <mach/board.h> #include <mach/at91_aic.h> +#include <mach/gpio.h> #include "generic.h"
arch/arm/mach-at91/board-csb637.c +1 -0
@@ -37,6 +37,7 @@#include <mach/hardware.h> #include <mach/board.h> #include <mach/at91_aic.h> +#include <mach/gpio.h> #include "generic.h"
arch/arm/mach-at91/board-eb9200.c +1 -0
@@ -37,6 +37,7 @@#include <mach/board.h> #include <mach/at91_aic.h> +#include <mach/gpio.h> #include "generic.h"
arch/arm/mach-at91/board-ecbat91.c +1 -0
@@ -40,6 +40,7 @@#include <mach/board.h> #include <mach/cpu.h> #include <mach/at91_aic.h> +#include <mach/gpio.h> #include "generic.h"
arch/arm/mach-at91/board-eco920.c +1 -0
@@ -29,6 +29,7 @@#include <mach/at91rm9200_mc.h> #include <mach/at91_ramc.h> #include <mach/cpu.h> +#include <mach/gpio.h> #include "generic.h"
arch/arm/mach-at91/board-flexibity.c +1 -0
@@ -35,6 +35,7 @@#include <mach/hardware.h> #include <mach/board.h> #include <mach/at91_aic.h> +#include <mach/gpio.h> #include "generic.h"
arch/arm/mach-at91/board-foxg20.c +1 -0
@@ -44,6 +44,7 @@#include <mach/board.h> #include <mach/at91_aic.h> #include <mach/at91sam9_smc.h> +#include <mach/gpio.h> #include "sam9_smc.h" #include "generic.h"
arch/arm/mach-at91/board-gsia18s.c +1 -0
@@ -35,6 +35,7 @@#include <mach/at91sam9_smc.h> #include <mach/gsia18s.h> #include <mach/stamp9g20.h> +#include <mach/gpio.h> #include "sam9_smc.h" #include "generic.h"
arch/arm/mach-at91/board-kafa.c +1 -0
@@ -37,6 +37,7 @@#include <mach/board.h> #include <mach/at91_aic.h> #include <mach/cpu.h> +#include <mach/gpio.h> #include "generic.h"
arch/arm/mach-at91/board-kb9202.c +1 -0
@@ -40,6 +40,7 @@#include <mach/at91_aic.h> #include <mach/at91rm9200_mc.h> #include <mach/at91_ramc.h> +#include <mach/gpio.h> #include "generic.h"
arch/arm/mach-at91/board-neocore926.c +1 -0
@@ -47,6 +47,7 @@#include <mach/board.h> #include <mach/at91_aic.h> #include <mach/at91sam9_smc.h> +#include <mach/gpio.h> #include "sam9_smc.h" #include "generic.h"
arch/arm/mach-at91/board-pcontrol-g20.c +1 -0
@@ -33,6 +33,7 @@#include <mach/at91_aic.h> #include <mach/at91sam9_smc.h> #include <mach/stamp9g20.h> +#include <mach/gpio.h> #include "sam9_smc.h" #include "generic.h"
arch/arm/mach-at91/board-picotux200.c +1 -0
@@ -41,6 +41,7 @@#include <mach/at91_aic.h> #include <mach/at91rm9200_mc.h> #include <mach/at91_ramc.h> +#include <mach/gpio.h> #include "generic.h"
arch/arm/mach-at91/board-qil-a9260.c +1 -0
@@ -44,6 +44,7 @@#include <mach/at91_aic.h> #include <mach/at91sam9_smc.h> #include <mach/at91_shdwc.h> +#include <mach/gpio.h> #include "sam9_smc.h" #include "generic.h"
arch/arm/mach-at91/board-rm9200dk.c +1 -0
@@ -43,6 +43,7 @@#include <mach/at91_aic.h> #include <mach/at91rm9200_mc.h> #include <mach/at91_ramc.h> +#include <mach/gpio.h> #include "generic.h"
arch/arm/mach-at91/board-rm9200ek.c +1 -0
@@ -43,6 +43,7 @@#include <mach/at91_aic.h> #include <mach/at91rm9200_mc.h> #include <mach/at91_ramc.h> +#include <mach/gpio.h> #include "generic.h"
arch/arm/mach-at91/board-rsi-ews.c +1 -0
@@ -27,6 +27,7 @@#include <mach/hardware.h> #include <mach/board.h> #include <mach/at91_aic.h> +#include <mach/gpio.h> #include <linux/gpio.h>
arch/arm/mach-at91/board-sam9-l9260.c +1 -0
@@ -40,6 +40,7 @@#include <mach/board.h> #include <mach/at91_aic.h> #include <mach/at91sam9_smc.h> +#include <mach/gpio.h> #include "sam9_smc.h" #include "generic.h"
arch/arm/mach-at91/board-sam9260ek.c +1 -0
@@ -45,6 +45,7 @@#include <mach/at91_aic.h> #include <mach/at91sam9_smc.h> #include <mach/at91_shdwc.h> +#include <mach/gpio.h> #include <mach/system_rev.h> #include "sam9_smc.h"
arch/arm/mach-at91/board-sam9261ek.c +1 -0
@@ -49,6 +49,7 @@#include <mach/at91_aic.h> #include <mach/at91sam9_smc.h> #include <mach/at91_shdwc.h> +#include <mach/gpio.h> #include <mach/system_rev.h> #include "sam9_smc.h"
arch/arm/mach-at91/board-sam9263ek.c +1 -0
@@ -48,6 +48,7 @@#include <mach/at91_aic.h> #include <mach/at91sam9_smc.h> #include <mach/at91_shdwc.h> +#include <mach/gpio.h> #include <mach/system_rev.h> #include "sam9_smc.h"
arch/arm/mach-at91/board-sam9g20ek.c +1 -0
@@ -46,6 +46,7 @@#include <mach/board.h> #include <mach/at91_aic.h> #include <mach/at91sam9_smc.h> +#include <mach/gpio.h> #include <mach/system_rev.h> #include "sam9_smc.h"
arch/arm/mach-at91/board-sam9m10g45ek.c +1 -0
@@ -46,6 +46,7 @@#include <mach/at91_aic.h> #include <mach/at91sam9_smc.h> #include <mach/at91_shdwc.h> +#include <mach/gpio.h> #include <mach/system_rev.h> #include "sam9_smc.h"
arch/arm/mach-at91/board-sam9rlek.c +1 -0
@@ -34,6 +34,7 @@#include <mach/at91_aic.h> #include <mach/at91sam9_smc.h> #include <mach/at91_shdwc.h> +#include <mach/gpio.h> #include "sam9_smc.h" #include "generic.h"
arch/arm/mach-at91/board-snapper9260.c +1 -0
@@ -35,6 +35,7 @@#include <mach/board.h> #include <mach/at91_aic.h> #include <mach/at91sam9_smc.h> +#include <mach/gpio.h> #include "sam9_smc.h" #include "generic.h"
arch/arm/mach-at91/board-stamp9g20.c +1 -0
@@ -28,6 +28,7 @@#include <mach/board.h> #include <mach/at91_aic.h> #include <mach/at91sam9_smc.h> +#include <mach/gpio.h> #include "sam9_smc.h" #include "generic.h"
arch/arm/mach-at91/board-usb-a926x.c +1 -0
@@ -45,6 +45,7 @@#include <mach/at91_aic.h> #include <mach/at91sam9_smc.h> #include <mach/at91_shdwc.h> +#include <mach/gpio.h> #include "sam9_smc.h" #include "generic.h"
arch/arm/mach-at91/board-yl-9200.c +1 -0
@@ -48,6 +48,7 @@#include <mach/at91rm9200_mc.h> #include <mach/at91_ramc.h> #include <mach/cpu.h> +#include <mach/gpio.h> #include "generic.h"
arch/arm/mach-at91/gpio.c +1 -0
@@ -28,6 +28,7 @@#include <asm/mach/irq.h> +#include <mach/gpio.h> #include <mach/hardware.h> #include <mach/at91_pio.h>
arch/arm/mach-at91/leds.c +1 -0
@@ -16,6 +16,7 @@#include <linux/platform_device.h> #include <mach/board.h> +#include <mach/gpio.h> /* ------------------------------------------------------------------------- */
arch/arm/mach-at91/pm.c +1 -0
@@ -28,6 +28,7 @@#include <mach/at91_aic.h> #include <mach/at91_pmc.h> #include <mach/cpu.h> +#include <mach/gpio.h> #include "generic.h" #include "pm.h"
Signature · 1 line
1.7.9.5
PATCH 5/10 ARM: at91: explicitly include mach/gpio.h
Quoted 4 lines · Rob Herring
From: Rob Herring <[email protected]>
In preparation to remove implicit inclusion of
mach/gpio.h, add explict include ofmach/gpio.h.
I'm going to drop it for 3.7 too
the attached patch will do the same but in a more simpler way
Best Regards,
J.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-arm-at91-move-old-style-gpio-and-mux-to-arch-arm-mac.patch
Type: text/x-diff
Size: 10441 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120830/3ada4f76/attachment-0001.bin>
PATCH 5/10 ARM: at91: explicitly include mach/gpio.h
Quoted 8 lines · Jean-Christophe PLAGNIOL-VILLARD
Quoted 4 lines · Rob Herring
From: Rob Herring <[email protected]>
In preparation to remove implicit inclusion of
mach/gpio.h, add explict include ofmach/gpio.h.I'm going to drop it for 3.7 too
the attached patch will do the same but in a more simpler way
I wonder whether you read your patches before you send them... it's sometimes quite a good idea to review your own patches. :)
arch/arm/mach-at91/gpio.c line 33
Quoted 9 lines
arch/arm/mach-at91/gpio.c +1
-0@@ -30,6 +30,7 @@#include <mach/at91_pio.h> #include "generic.h" +#include "generic.h"
That's fairly obviously wrong.
PATCH 6/10 ARM: shmobile: explicitly include mach/gpio.h
In reply to Rob HerringFrom: Rob Herring <[email protected]>
In preparation to remove implicit inclusion of mach/gpio.h, add explict includes of necessary headers.
shmobile always uses gpiolib, so we can remove some of mach/gpio.h.
--- arch/arm/mach-shmobile/board-ap4evb.c | 1 + arch/arm/mach-shmobile/board-armadillo800eva.c | 1 + arch/arm/mach-shmobile/board-g4evm.c | 1 + arch/arm/mach-shmobile/board-mackerel.c | 1 + arch/arm/mach-shmobile/include/mach/gpio.h | 14 -------------- arch/arm/mach-shmobile/pfc-r8a7740.c | 2 +- arch/arm/mach-shmobile/pfc-r8a7779.c | 2 +- arch/arm/mach-shmobile/pfc-sh7367.c | 2 +- arch/arm/mach-shmobile/pfc-sh7372.c | 2 +- arch/arm/mach-shmobile/pfc-sh7377.c | 2 +- arch/arm/mach-shmobile/pfc-sh73a0.c | 2 +- drivers/sh/pfc/gpio.c | 1 + 12 files changed, 11 insertions(+), 20 deletions(-)
arch/arm/mach-shmobile/board-ap4evb.c +1 -0
@@ -61,6 +61,7 @@#include <mach/common.h> #include <mach/irqs.h> #include <mach/sh7372.h> +#include <mach/gpio.h> #include <asm/mach-types.h> #include <asm/mach/arch.h>
arch/arm/mach-shmobile/board-armadillo800eva.c +1 -0
@@ -38,6 +38,7 @@#include <linux/mmc/sh_mmcif.h> #include <linux/mmc/sh_mobile_sdhi.h> #include <mach/common.h> +#include <mach/gpio.h> #include <mach/irqs.h> #include <mach/r8a7740.h> #include <media/mt9t112.h>
arch/arm/mach-shmobile/board-g4evm.c +1 -0
@@ -36,6 +36,7 @@#include <linux/mmc/sh_mobile_sdhi.h> #include <linux/gpio.h> #include <linux/dma-mapping.h> +#include <mach/gpio.h> #include <mach/irqs.h> #include <mach/sh7377.h> #include <mach/common.h>
arch/arm/mach-shmobile/board-mackerel.c +1 -0
@@ -60,6 +60,7 @@#include <mach/common.h> #include <mach/irqs.h> #include <mach/sh7372.h> +#include <mach/gpio.h> #include <asm/mach/arch.h> #include <asm/mach-types.h>
arch/arm/mach-shmobile/include/mach/gpio.h +0 -14
@@ -12,22 +12,8 @@#include <linux/kernel.h> #include <linux/errno.h> -#include <linux/sh_pfc.h> #include <linux/io.h> -#ifdef CONFIG_GPIOLIB - -static inline int irq_to_gpio (unsigned int irq) -{ -return -ENOSYS ; -} - -#else - -#define __ARM_GPIOLIB_COMPLEX - -#endif /* CONFIG_GPIOLIB */ -/* * FIXME !! *
arch/arm/mach-shmobile/pfc-r8a7740.c +1 -1
@@ -20,7 +20,7 @@*/ #include <linux/init.h> #include <linux/kernel.h> -#include <linux/gpio.h> +#include <linux/sh_pfc.h> #include <mach/r8a7740.h> #include <mach/irqs.h>
arch/arm/mach-shmobile/pfc-r8a7779.c +1 -1
@@ -19,7 +19,7 @@*/ #include <linux/init.h> #include <linux/kernel.h> -#include <linux/gpio.h> +#include <linux/sh_pfc.h> #include <linux/ioport.h> #include <mach/r8a7779.h>
arch/arm/mach-shmobile/pfc-sh7367.c +1 -1
@@ -18,7 +18,7 @@*/ #include <linux/init.h> #include <linux/kernel.h> -#include <linux/gpio.h> +#include <linux/sh_pfc.h> #include <mach/sh7367.h> #define CPU_ALL_PORT (fn, pfx, sfx) \
arch/arm/mach-shmobile/pfc-sh7372.c +1 -1
@@ -22,7 +22,7 @@*/ #include <linux/init.h> #include <linux/kernel.h> -#include <linux/gpio.h> +#include <linux/sh_pfc.h> #include <mach/irqs.h> #include <mach/sh7372.h>
arch/arm/mach-shmobile/pfc-sh7377.c +1 -1
@@ -19,7 +19,7 @@*/ #include <linux/init.h> #include <linux/kernel.h> -#include <linux/gpio.h> +#include <linux/sh_pfc.h> #include <mach/sh7377.h> #define CPU_ALL_PORT (fn, pfx, sfx) \
arch/arm/mach-shmobile/pfc-sh73a0.c +1 -1
@@ -20,7 +20,7 @@*/ #include <linux/init.h> #include <linux/kernel.h> -#include <linux/gpio.h> +#include <linux/sh_pfc.h> #include <mach/sh73a0.h> #include <mach/irqs.h>
drivers/sh/pfc/gpio.c +1 -0
@@ -17,6 +17,7 @@#include <linux/module.h> #include <linux/platform_device.h> #include <linux/pinctrl/consumer.h> +#include <linux/sh_pfc.h> struct sh_pfc_chip {struct sh_pfc *pfc;
Signature · 1 line
1.7.9.5
PATCH 6/10 ARM: shmobile: explicitly include mach/gpio.h
Quoted 6 lines · Rob Herring
From: Rob Herring <[email protected]>
In preparation to remove implicit inclusion of
mach/gpio.h, add explict includes of necessary headers.shmobile always uses gpiolib, so we can remove some of
mach/gpio.h.
Given that I spent a long time getting rid of all explicit mach/gpio.h includes to fix the madness with what definitions drivers picked up from where, NAK.
PATCH 7/10 ARM: orion: add explict mach/gpio.h includes
In reply to Rob HerringFrom: Rob Herring <[email protected]>
In preparation to remove implicit inclusion of mach/gpio.h, add explict include of mach/gpio.h.
--- arch/arm/mach-dove/irq.c | 1 + arch/arm/mach-dove/mpp.c | 1 + arch/arm/mach-kirkwood/irq.c | 1 + arch/arm/mach-kirkwood/rd88f6192-nas-setup.c | 1 + arch/arm/mach-mv78xx0/irq.c | 1 + arch/arm/mach-orion5x/d2net-setup.c | 1 + arch/arm/mach-orion5x/dns323-setup.c | 1 + arch/arm/mach-orion5x/irq.c | 1 + arch/arm/mach-orion5x/net2big-setup.c | 1 + arch/arm/plat-orion/mpp.c | 1 + 10 files changed, 10 insertions(+)
arch/arm/mach-dove/irq.c +1 -0
@@ -18,6 +18,7 @@#include <asm/mach/irq.h> #include <mach/pm.h> #include <mach/bridge-regs.h> +#include <mach/gpio.h> #include "common.h" static void pmu_irq_mask (struct irq_data *d)
arch/arm/mach-dove/mpp.c +1 -0
@@ -13,6 +13,7 @@#include <linux/io.h> #include <plat/mpp.h> #include <mach/dove.h> +#include <mach/gpio.h> #include "mpp.h" struct dove_mpp_grp {
arch/arm/mach-kirkwood/irq.c +1 -0
@@ -11,6 +11,7 @@#include <linux/kernel.h> #include <linux/irq.h> #include <mach/bridge-regs.h> +#include <mach/gpio.h> #include <plat/irq.h> static int __initdata gpio0_irqs[4 ] = {
arch/arm/mach-kirkwood/rd88f6192-nas-setup.c +1 -0
@@ -18,6 +18,7 @@#include <linux/spi/spi.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> +#include <mach/gpio.h> #include <mach/kirkwood.h> #include "common.h"
arch/arm/mach-mv78xx0/irq.c +1 -0
@@ -11,6 +11,7 @@#include <linux/kernel.h> #include <linux/irq.h> #include <mach/bridge-regs.h> +#include <mach/gpio.h> #include <plat/irq.h> #include "common.h"
arch/arm/mach-orion5x/d2net-setup.c +1 -0
@@ -26,6 +26,7 @@#include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/pci.h> +#include <mach/gpio.h> #include <mach/orion5x.h> #include "common.h" #include "mpp.h"
arch/arm/mach-orion5x/dns323-setup.c +1 -0
@@ -33,6 +33,7 @@#include <asm/mach/arch.h> #include <asm/mach/pci.h> #include <asm/system_info.h> +#include <mach/gpio.h> #include <mach/orion5x.h> #include "common.h" #include "mpp.h"
arch/arm/mach-orion5x/irq.c +1 -0
@@ -13,6 +13,7 @@#include <linux/kernel.h> #include <linux/irq.h> #include <mach/bridge-regs.h> +#include <mach/gpio.h> #include <plat/irq.h> static int __initdata gpio0_irqs[4 ] = {
arch/arm/mach-orion5x/net2big-setup.c +1 -0
@@ -24,6 +24,7 @@#include <linux/delay.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> +#include <mach/gpio.h> #include <mach/orion5x.h> #include "common.h" #include "mpp.h"
arch/arm/plat-orion/mpp.c +1 -0
@@ -14,6 +14,7 @@#include <linux/io.h> #include <linux/gpio.h> #include <mach/hardware.h> +#include <plat/gpio.h> #include <plat/mpp.h> /* Address of the ith MPP control register */
Signature · 1 line
1.7.9.5
PATCH 8/10 ARM: omap2: add explict mach/gpio.h includes
In reply to Rob HerringFrom: Rob Herring <[email protected]>
In preparation to remove implicit inclusion of mach/gpio.h, add explict include of mach/gpio.h.
--- arch/arm/mach-omap2/board-zoom-display.c | 1 + arch/arm/mach-omap2/gpio.c | 1 + arch/arm/mach-omap2/pm24xx.c | 1 + arch/arm/mach-omap2/pm34xx.c | 1 + drivers/gpio/gpio-omap.c | 2 +- 5 files changed, 5 insertions(+), 1 deletion(-)
arch/arm/mach-omap2/board-zoom-display.c +1 -0
@@ -17,6 +17,7 @@#include <plat/mcspi.h> #include <video/omapdss.h> #include <mach/board-zoom.h> +#include <plat/cpu.h> #define LCD_PANEL_RESET_GPIO_PROD 96#define LCD_PANEL_RESET_GPIO_PILOT 55
arch/arm/mach-omap2/gpio.c +1 -0
@@ -25,6 +25,7 @@#include <plat/omap_hwmod.h> #include <plat/omap_device.h> #include <plat/omap-pm.h> +#include <plat/gpio.h> #include "powerdomain.h"
arch/arm/mach-omap2/pm24xx.c +1 -0
@@ -39,6 +39,7 @@#include <plat/sram.h> #include <plat/dma.h> #include <plat/board.h> +#include <plat/gpio.h> #include <mach/irqs.h>
arch/arm/mach-omap2/pm34xx.c +1 -0
@@ -40,6 +40,7 @@#include <plat/prcm.h> #include <plat/gpmc.h> #include <plat/dma.h> +#include <plat/gpio.h> #include "common.h" #include "cm2xxx_3xxx.h"
drivers/gpio/gpio-omap.c +1 -1
@@ -29,7 +29,7 @@#include <mach/hardware.h> #include <asm/irq.h> #include <mach/irqs.h> -#include <asm/gpio.h> +#include <mach/gpio.h> #include <asm/mach/irq.h> #define OFF_MODE 1
Signature · 1 line
1.7.9.5
Tony Lindgren
maintainerPATCH 8/10 ARM: omap2: add explict mach/gpio.h includes
Quoted 4 lines · Rob Herring
From: Rob Herring <[email protected]>
In preparation to remove implicit inclusion of
mach/gpio.h, add explict include ofmach/gpio.h.
Just for reference, as Rob already mentioned, these should no longer be needed for omaps after the "Clean up hardcoded IRQs for mach-omap2, enable SPARSE_IRQ, plaform_data/gpio-omap.h" series I posted yesterday.
Regards,
Tony
PATCH 9/10 ARM: omap1: add explict mach/gpio.h includes
In reply to Rob HerringFrom: Rob Herring <[email protected]>
In preparation to remove implicit inclusion of mach/gpio.h, add explict include of mach/gpio.h.
--- arch/arm/mach-omap1/board-ams-delta.c | 1 + arch/arm/mach-omap1/board-osk.c | 1 + arch/arm/mach-omap1/gpio15xx.c | 1 + arch/arm/mach-omap1/gpio16xx.c | 1 + arch/arm/mach-omap1/gpio7xx.c | 1 + arch/arm/mach-omap1/leds-h2p2-debug.c | 1 + arch/arm/mach-omap1/leds.c | 1 + 7 files changed, 7 insertions(+)
arch/arm/mach-omap1/board-ams-delta.c +1 -0
@@ -39,6 +39,7 @@#include <plat/mux.h> #include <plat/board.h> +#include <mach/gpio.h> #include <mach/hardware.h> #include <mach/ams-delta-fiq.h> #include <mach/camera.h>
arch/arm/mach-omap1/board-osk.c +1 -0
@@ -48,6 +48,7 @@#include <plat/mux.h> #include <plat/tc.h> +#include <mach/gpio.h> #include <mach/hardware.h> #include <mach/usb.h>
arch/arm/mach-omap1/gpio15xx.c +1 -0
@@ -17,6 +17,7 @@*/ #include <linux/gpio.h> +#include <mach/gpio.h> #define OMAP1_MPUIO_VBASE OMAP1_MPUIO_BASE#define OMAP1510_GPIO_BASE 0xFFFCE000
arch/arm/mach-omap1/gpio16xx.c +1 -0
@@ -17,6 +17,7 @@*/ #include <linux/gpio.h> +#include <mach/gpio.h> #define OMAP1610_GPIO1_BASE 0xfffbe400#define OMAP1610_GPIO2_BASE 0xfffbec00
arch/arm/mach-omap1/gpio7xx.c +1 -0
@@ -17,6 +17,7 @@*/ #include <linux/gpio.h> +#include <mach/gpio.h> #define OMAP7XX_GPIO1_BASE 0xfffbc000#define OMAP7XX_GPIO2_BASE 0xfffbc800
arch/arm/mach-omap1/leds-h2p2-debug.c +1 -0
@@ -15,6 +15,7 @@#include <linux/sched.h> #include <linux/io.h> +#include <mach/gpio.h> #include <mach/hardware.h> #include <asm/leds.h> #include <asm/mach-types.h>
arch/arm/mach-omap1/leds.c +1 -0
@@ -10,6 +10,7 @@#include <asm/leds.h> #include <asm/mach-types.h> +#include <mach/gpio.h> #include <plat/mux.h> #include "leds.h"
Signature · 1 line
1.7.9.5
PATCH 10/10 ARM: make mach/gpio.h headers optional
In reply to Rob HerringFrom: Rob Herring <[email protected]>
Most platforms don't need mach/gpio.h and it prevents multi-platform kernel images. Add CONFIG_NEED_MACH_GPIO_H and make platforns select it if they need gpio.h. This is platforms that define __GPIOLIB_COMPLEX or have lots of implicit includes pulled in by mach/gpio.h.
--- arch/arm/Kconfig | 17 ++++++++++++++ arch/arm/include/asm/gpio.h | 2 ++ arch/arm/mach-ep93xx/include/mach/gpio.h | 1 - arch/arm/mach-highbank/include/mach/gpio.h | 1 - arch/arm/mach-ixp4xx/include/mach/gpio.h | 2 -- arch/arm/mach-mmp/include/mach/gpio.h | 8 ------- arch/arm/mach-msm/include/mach/gpio.h | 1 - arch/arm/mach-mxs/include/mach/gpio.h | 1 - arch/arm/mach-nomadik/include/mach/gpio.h | 4 ---- arch/arm/mach-picoxcell/include/mach/gpio.h | 1 - arch/arm/mach-pxa/include/mach/gpio.h | 32 --------------------------- arch/arm/mach-realview/include/mach/gpio.h | 1 - arch/arm/mach-spear13xx/include/mach/gpio.h | 19 ---------------- arch/arm/mach-spear3xx/include/mach/gpio.h | 19 ---------------- arch/arm/mach-spear6xx/include/mach/gpio.h | 19 ---------------- arch/arm/mach-tegra/include/mach/gpio.h | 1 - arch/arm/mach-u300/include/mach/gpio.h | 1 - arch/arm/mach-ux500/include/mach/gpio.h | 5 ----- arch/arm/mach-versatile/include/mach/gpio.h | 1 - arch/arm/mach-vexpress/include/mach/gpio.h | 1 - arch/arm/mach-vt8500/include/mach/gpio.h | 1 - arch/arm/plat-mxc/include/mach/gpio.h | 1 - arch/arm/plat-spear/include/plat/gpio.h | 1 - 23 files changed, 19 insertions(+), 121 deletions(-) delete mode 100644 arch/arm/mach-ep93xx/include/mach/gpio.h delete mode 100644 arch/arm/mach-highbank/include/mach/gpio.h delete mode 100644 arch/arm/mach-ixp4xx/include/mach/gpio.h delete mode 100644 arch/arm/mach-mmp/include/mach/gpio.h delete mode 100644 arch/arm/mach-msm/include/mach/gpio.h delete mode 100644 arch/arm/mach-mxs/include/mach/gpio.h delete mode 100644 arch/arm/mach-nomadik/include/mach/gpio.h delete mode 100644 arch/arm/mach-picoxcell/include/mach/gpio.h delete mode 100644 arch/arm/mach-pxa/include/mach/gpio.h delete mode 100644 arch/arm/mach-realview/include/mach/gpio.h delete mode 100644 arch/arm/mach-spear13xx/include/mach/gpio.h delete mode 100644 arch/arm/mach-spear3xx/include/mach/gpio.h delete mode 100644 arch/arm/mach-spear6xx/include/mach/gpio.h delete mode 100644 arch/arm/mach-tegra/include/mach/gpio.h delete mode 100644 arch/arm/mach-u300/include/mach/gpio.h delete mode 100644 arch/arm/mach-ux500/include/mach/gpio.h delete mode 100644 arch/arm/mach-versatile/include/mach/gpio.h delete mode 100644 arch/arm/mach-vexpress/include/mach/gpio.h delete mode 100644 arch/arm/mach-vt8500/include/mach/gpio.h delete mode 100644 arch/arm/plat-mxc/include/mach/gpio.h delete mode 100644 arch/arm/plat-spear/include/plat/gpio.h
arch/arm/Kconfig +17 -0
@@ -202,6 +202,13 @@ config ARM_PATCH_PHYS_VIRT this feature (eg, building a kernel for a single machine) and you need to shrink the kernel to the minimal size. +config NEED_MACH_GPIO_H + bool + help + Select this when mach/gpio.h is required to provide special + definitions for this platform. The need for mach/gpio.h should + be avoided when possible. + config NEED_MACH_IO_H bool help
@@ -523,6 +530,7 @@ config ARCH_IOP32X bool "IOP32x-based" depends on MMU select CPU_XSCALE + select NEED_MACH_GPIO_H select NEED_MACH_IO_H select NEED_RET_TO_USER select PLAT_IOP
@@ -536,6 +544,7 @@ config ARCH_IOP33X bool "IOP33x-based" depends on MMU select CPU_XSCALE + select NEED_MACH_GPIO_H select NEED_MACH_IO_H select NEED_RET_TO_USER select PLAT_IOP
@@ -795,6 +804,7 @@ config ARCH_SA1100 select CLKDEV_LOOKUP select ARCH_REQUIRE_GPIOLIB select HAVE_IDE + select NEED_MACH_GPIO_H select NEED_MACH_MEMORY_H select SPARSE_IRQ help
@@ -810,6 +820,7 @@ config ARCH_S3C24XX select HAVE_S3C2410_I2C if I2C select HAVE_S3C_RTC if RTC_CLASS select HAVE_S3C2410_WATCHDOG if WATCHDOG + select NEED_MACH_GPIO_H select NEED_MACH_IO_H help Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443
@@ -837,6 +848,7 @@ config ARCH_S3C64XX select SAMSUNG_GPIOLIB_4BIT select HAVE_S3C2410_I2C if I2C select HAVE_S3C2410_WATCHDOG if WATCHDOG + select NEED_MACH_GPIO_H help Samsung S3C64XX series based systems
@@ -851,6 +863,7 @@ config ARCH_S5P64X0 select GENERIC_CLOCKEVENTS select HAVE_S3C2410_I2C if I2C select HAVE_S3C_RTC if RTC_CLASS + select NEED_MACH_GPIO_H help Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440, SMDK6450.
@@ -865,6 +878,7 @@ config ARCH_S5PC100 select HAVE_S3C2410_I2C if I2C select HAVE_S3C_RTC if RTC_CLASS select HAVE_S3C2410_WATCHDOG if WATCHDOG + select NEED_MACH_GPIO_H help Samsung S5PC100 series based systems
@@ -882,6 +896,7 @@ config ARCH_S5PV210 select HAVE_S3C2410_I2C if I2C select HAVE_S3C_RTC if RTC_CLASS select HAVE_S3C2410_WATCHDOG if WATCHDOG + select NEED_MACH_GPIO_H select NEED_MACH_MEMORY_H help Samsung S5PV210/S5PC110 series based systems
@@ -899,6 +914,7 @@ config ARCH_EXYNOS select HAVE_S3C_RTC if RTC_CLASS select HAVE_S3C2410_I2C if I2C select HAVE_S3C2410_WATCHDOG if WATCHDOG + select NEED_MACH_GPIO_H select NEED_MACH_MEMORY_H help Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5)
@@ -971,6 +987,7 @@ config ARCH_DAVINCI select GENERIC_ALLOCATOR select GENERIC_IRQ_CHIP select ARCH_HAS_HOLES_MEMORYMODEL + select NEED_MACH_GPIO_H help Support for TI's DaVinci platform.
arch/arm/include/asm/gpio.h +2 -0
@@ -6,7 +6,9 @@#endif /* not all ARM platforms necessarily support this API ... */ +#ifdef CONFIG_NEED_MACH_GPIO_H #include <mach/gpio.h> +#endif #ifndef __ARM_GPIOLIB_COMPLEX/* Note: this may rely upon the value of ARCH_NR_GPIOS set in mach/gpio.h */
arch/arm/mach-ep93xx/include/mach/gpio.h deleted +0 -1
@@ -1 +0,0 @@ -/* empty */
arch/arm/mach-highbank/include/mach/gpio.h deleted +0 -1
@@ -1 +0,0 @@ -/* empty */
arch/arm/mach-ixp4xx/include/mach/gpio.h deleted +0 -2
@@ -1,2 +0,0 @@ -/* empty */ -
arch/arm/mach-mmp/include/mach/gpio.h deleted +0 -8
@@ -1,8 +0,0 @@ -#ifndef __ASM_MACH_GPIO_H -#define __ASM_MACH_GPIO_H - -#include <asm-generic/gpio.h> - -#include <mach/cputype.h> - -#endif /* __ASM_MACH_GPIO_H */
arch/arm/mach-msm/include/mach/gpio.h deleted +0 -1
@@ -1 +0,0 @@ -/* empty */
arch/arm/mach-mxs/include/mach/gpio.h deleted +0 -1
@@ -1 +0,0 @@ -/* empty */
arch/arm/mach-nomadik/include/mach/gpio.h deleted +0 -4
@@ -1,4 +0,0 @@ -#ifndef __ASM_ARCH_GPIO_H -#define __ASM_ARCH_GPIO_H - -#endif /* __ASM_ARCH_GPIO_H */
arch/arm/mach-picoxcell/include/mach/gpio.h deleted +0 -1
@@ -1 +0,0 @@ -/* empty */
arch/arm/mach-pxa/include/mach/gpio.h deleted +0 -32
@@ -1,32 +0,0 @@ -/* -* arch/arm/mach-pxa/include/mach/gpio.h -* -* PXA GPIO wrappers for arch-neutral GPIO calls -* -* Written by Philipp Zabel <[email protected]> -* -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation; either version 2 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -* -*/ - -#ifndef __ASM_ARCH_PXA_GPIO_H -#define __ASM_ARCH_PXA_GPIO_H - -#include <asm-generic/gpio.h> - -#include <mach/irqs.h> -#include <mach/hardware.h> - -#endif
arch/arm/mach-realview/include/mach/gpio.h deleted +0 -1
@@ -1 +0,0 @@ -/* empty */
arch/arm/mach-spear13xx/include/mach/gpio.h deleted +0 -19
@@ -1,19 +0,0 @@ -/* -* arch/arm/mach-spear13xx/include/mach/gpio.h -* -* GPIO macros for SPEAr13xx machine family -* -* Copyright (C) 2012 ST Microelectronics -* Viresh Kumar <[email protected]> -* -* This file is licensed under the terms of the GNU General Public -* License version 2. This program is licensed "as is" without any -* warranty of any kind, whether express or implied. -*/ - -#ifndef __MACH_GPIO_H -#define __MACH_GPIO_H - -#include <plat/gpio.h> - -#endif /* __MACH_GPIO_H */
arch/arm/mach-spear3xx/include/mach/gpio.h deleted +0 -19
@@ -1,19 +0,0 @@ -/* -* arch/arm/mach-spear3xx/include/mach/gpio.h -* -* GPIO macros for SPEAr3xx machine family -* -* Copyright (C) 2009 ST Microelectronics -* Viresh Kumar<[email protected]> -* -* This file is licensed under the terms of the GNU General Public -* License version 2. This program is licensed "as is" without any -* warranty of any kind, whether express or implied. -*/ - -#ifndef __MACH_GPIO_H -#define __MACH_GPIO_H - -#include <plat/gpio.h> - -#endif /* __MACH_GPIO_H */
arch/arm/mach-spear6xx/include/mach/gpio.h deleted +0 -19
@@ -1,19 +0,0 @@ -/* -* arch/arm/mach-spear6xx/include/mach/gpio.h -* -* GPIO macros for SPEAr6xx machine family -* -* Copyright (C) 2009 ST Microelectronics -* Viresh Kumar <[email protected]> -* -* This file is licensed under the terms of the GNU General Public -* License version 2. This program is licensed "as is" without any -* warranty of any kind, whether express or implied. -*/ - -#ifndef __MACH_GPIO_H -#define __MACH_GPIO_H - -#include <plat/gpio.h> - -#endif /* __MACH_GPIO_H */
arch/arm/mach-tegra/include/mach/gpio.h deleted +0 -1
@@ -1 +0,0 @@ -/* empty */
arch/arm/mach-u300/include/mach/gpio.h deleted +0 -1
@@ -1 +0,0 @@ -/* empty */
arch/arm/mach-ux500/include/mach/gpio.h deleted +0 -5
@@ -1,5 +0,0 @@ -#ifndef __ASM_ARCH_GPIO_H -#define __ASM_ARCH_GPIO_H - - -#endif /* __ASM_ARCH_GPIO_H */
arch/arm/mach-versatile/include/mach/gpio.h deleted +0 -1
@@ -1 +0,0 @@ -/* empty */
arch/arm/mach-vexpress/include/mach/gpio.h deleted +0 -1
@@ -1 +0,0 @@ -/* empty */
arch/arm/mach-vt8500/include/mach/gpio.h deleted +0 -1
@@ -1 +0,0 @@ -/* empty */
arch/arm/plat-mxc/include/mach/gpio.h deleted +0 -1
@@ -1 +0,0 @@ -/* empty */
arch/arm/plat-spear/include/plat/gpio.h deleted +0 -1
@@ -1 +0,0 @@ -/* empty */
Signature · 1 line
1.7.9.5
cover Make mach/gpio.h optional
In reply to Rob HerringQuoted 6 lines · Rob Herring
From: Rob Herring <[email protected]>
This series makes
mach/gpio.hoptional like we have done for other mach headers in preparation for multi-platform kernel images. Unfortunately, it adds more mach includes todrivers/, but really they are just now explicitly included and easily found.
This in general looks like a complete backwards step rather than a forwards step for multi-platform kernels. All these drivers are not going to be usable in multi-platform kernel images, because with mach/ includes they're not going to be picking up the correct set of headers.
So all these SoC types might as well not be part of the multi-platform project until they get their act together with their headers.
cover Make mach/gpio.h optional
Quoted 8 lines · Russell King - ARM Linux
Quoted 6 lines · Rob Herring
From: Rob Herring <[email protected]>
This series makes
mach/gpio.hoptional like we have done for other mach headers in preparation for multi-platform kernel images. Unfortunately, it adds more mach includes todrivers/, but really they are just now explicitly included and easily found.
Quoted 4 lines
This in general looks like a complete backwards step rather than a forwards step for multi-platform kernels. All these drivers are not going to be usable in multi-platform kernel images, because with mach/ includes they're not going to be picking up the correct set of headers.
These drivers are already not usable. I'm just making that obvious.
Quoted 2 lines
So all these SoC types might as well not be part of the multi-platform project until they get their act together with their headers.
Precisely the point. It is pushing the problem to the sub-arches so they can clean-up their stuff if they want to get into a multi-plat image. I expect we will see some clean starting in parallel with this. The omap folks are working omap headers and there were some clean-ups for Marvell parts posted. Arnd has platform_data header series he is working on.
Rob
cover Make mach/gpio.h optional
Quoted 9 lines · Rob Herring
Quoted 8 lines · Russell King - ARM Linux
Quoted 6 lines · Rob Herring
From: Rob Herring <[email protected]>
This series makes
mach/gpio.hoptional like we have done for other mach headers in preparation for multi-platform kernel images. Unfortunately, it adds more mach includes todrivers/, but really they are just now explicitly included and easily found.
Quoted 6 lines
Quoted 4 lines
This in general looks like a complete backwards step rather than a forwards step for multi-platform kernels. All these drivers are not going to be usable in multi-platform kernel images, because with mach/ includes they're not going to be picking up the correct set of headers.
These drivers are already not usable. I'm just making that obvious.
Yes, by undoing all the work I did cleaning up the gpio shite, which I object to.
Quoted 8 lines
Quoted 2 lines
So all these SoC types might as well not be part of the multi-platform project until they get their act together with their headers.
Precisely the point. It is pushing the problem to the sub-arches so they can clean-up their stuff if they want to get into a multi-plat image. I expect we will see some clean starting in parallel with this. The omap folks are working omap headers and there were some clean-ups for Marvell parts posted. Arnd has
platform_dataheader series he is working on.
No, it is undoing the work I did getting rid of mach/gpio.h includes, and tidying up the asm/gpio.h & mach/gpio.h crap, ensuring that stuff won't work properly with mach/gpio.h includes, and encouraging everyone to move to the right include - linux/gpio.h. You're undoing all that work by effectively saying "we want you to start using mach/gpio.h because this patch is re-introducing it".
So, a very strong NAK against that from me.
If they're not able to be part of a multi-platform kernel as they stand, and they're still not able after your patch series, you've not achieved anything material, and the changes you propose are just pure churn.
If you're thinking that your patch series will spark cleanup work, then you're mistaken - no one cares about gpio header files, if they did then my cleanup to make stuff use asm/gpio.h or linux/gpio.h would have also sparked cleanup, which it didn't. So please stop daydreaming that patches spark other people to do cleanups.
What sparks people into life is when you tell them that their favourite arch can't be part of new feature Y because Z is incompatible. They'll then fix Z if they want feature Y.
Sure, no problem with getting rid of the empty gpio.h headers, and ifdef'ing the mach/gpio.h include - but don't then go around changing all those asm/gpio.h's into mach/gpio.h's.