All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/10] Make mach/gpio.h optional
@ 2012-08-29 22:31 Rob Herring
  2012-08-29 22:31 ` [PATCH 01/10] usb: pxa27x_udc: remove IRQ_USB define Rob Herring
                   ` (10 more replies)
  0 siblings, 11 replies; 26+ messages in thread
From: Rob Herring @ 2012-08-29 22:31 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

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

-- 
1.7.9.5

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 01/10] usb: pxa27x_udc: remove IRQ_USB define
  2012-08-29 22:31 [PATCH 00/10] Make mach/gpio.h optional Rob Herring
@ 2012-08-29 22:31 ` Rob Herring
  2012-08-29 22:31 ` [PATCH 02/10] gpio: pxa: add explicit includes for cpu_is_X macros Rob Herring
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 26+ messages in thread
From: Rob Herring @ 2012-08-29 22:31 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

IRQ_USB was implicitly included by gpio.h. Use the existing variable
instead of IRQ_USB.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Eric Miao <eric.y.miao@gmail.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/usb/gadget/pxa27x_udc.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/gadget/pxa27x_udc.c b/drivers/usb/gadget/pxa27x_udc.c
index 644b430..7a8713c 100644
--- a/drivers/usb/gadget/pxa27x_udc.c
+++ b/drivers/usb/gadget/pxa27x_udc.c
@@ -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);
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 02/10] gpio: pxa: add explicit includes for cpu_is_X macros
  2012-08-29 22:31 [PATCH 00/10] Make mach/gpio.h optional Rob Herring
  2012-08-29 22:31 ` [PATCH 01/10] usb: pxa27x_udc: remove IRQ_USB define Rob Herring
@ 2012-08-29 22:31 ` Rob Herring
  2012-08-30 22:17   ` Linus Walleij
  2012-08-29 22:31 ` [PATCH 03/10] serial: atmel: add explict mach/gpio.h include Rob Herring
                   ` (8 subsequent siblings)
  10 siblings, 1 reply; 26+ messages in thread
From: Rob Herring @ 2012-08-29 22:31 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

In preparation to remove implicit inclusion of mach/gpio.h, add the
necessary includes for cpu_is_X macros.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Linus Walleij <linus.walleij@linaro.org>
---
 drivers/gpio/gpio-pxa.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpio/gpio-pxa.c b/drivers/gpio/gpio-pxa.c
index 9cac88a..4d44e2f 100644
--- a/drivers/gpio/gpio-pxa.c
+++ b/drivers/gpio/gpio-pxa.c
@@ -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
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 03/10] serial: atmel: add explict mach/gpio.h include
  2012-08-29 22:31 [PATCH 00/10] Make mach/gpio.h optional Rob Herring
  2012-08-29 22:31 ` [PATCH 01/10] usb: pxa27x_udc: remove IRQ_USB define Rob Herring
  2012-08-29 22:31 ` [PATCH 02/10] gpio: pxa: add explicit includes for cpu_is_X macros Rob Herring
@ 2012-08-29 22:31 ` Rob Herring
  2012-08-29 23:37   ` Russell King - ARM Linux
  2012-08-31  4:12   ` Jean-Christophe PLAGNIOL-VILLARD
  2012-08-29 22:31 ` [PATCH 04/10] net: pxaficp_ir: add explicit mach/gpio.h includes Rob Herring
                   ` (7 subsequent siblings)
  10 siblings, 2 replies; 26+ messages in thread
From: Rob Herring @ 2012-08-29 22:31 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

In preparation to remove implicit inclusion of mach/gpio.h, add explicit
include of mach/gpio.h.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Alan Cox <alan@linux.intel.com>
---
 drivers/tty/serial/atmel_serial.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/tty/serial/atmel_serial.c b/drivers/tty/serial/atmel_serial.c
index 3d7e1ee..c799001 100644
--- a/drivers/tty/serial/atmel_serial.c
+++ b/drivers/tty/serial/atmel_serial.c
@@ -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
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 04/10] net: pxaficp_ir: add explicit mach/gpio.h includes
  2012-08-29 22:31 [PATCH 00/10] Make mach/gpio.h optional Rob Herring
                   ` (2 preceding siblings ...)
  2012-08-29 22:31 ` [PATCH 03/10] serial: atmel: add explict mach/gpio.h include Rob Herring
@ 2012-08-29 22:31 ` Rob Herring
  2012-08-29 22:31 ` [PATCH 05/10] ARM: at91: explicitly include mach/gpio.h Rob Herring
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 26+ messages in thread
From: Rob Herring @ 2012-08-29 22:31 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

In preparation to remove implicit inclusion of mach/gpio.h, add explict
include of mach/gpio.h.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Samuel Ortiz <samuel@sortiz.org>
---
 drivers/net/irda/pxaficp_ir.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/irda/pxaficp_ir.c b/drivers/net/irda/pxaficp_ir.c
index 8d54767..e7e3e79 100644
--- a/drivers/net/irda/pxaficp_ir.c
+++ b/drivers/net/irda/pxaficp_ir.c
@@ -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 */
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 05/10] ARM: at91: explicitly include mach/gpio.h
  2012-08-29 22:31 [PATCH 00/10] Make mach/gpio.h optional Rob Herring
                   ` (3 preceding siblings ...)
  2012-08-29 22:31 ` [PATCH 04/10] net: pxaficp_ir: add explicit mach/gpio.h includes Rob Herring
@ 2012-08-29 22:31 ` Rob Herring
  2012-08-30 17:14   ` Jean-Christophe PLAGNIOL-VILLARD
  2012-08-29 22:31 ` [PATCH 06/10] ARM: shmobile: " Rob Herring
                   ` (5 subsequent siblings)
  10 siblings, 1 reply; 26+ messages in thread
From: Rob Herring @ 2012-08-29 22:31 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

In preparation to remove implicit inclusion of mach/gpio.h, add explict
include of mach/gpio.h.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Andrew Victor <linux@maxim.org.za>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
---
 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(+)

diff --git a/arch/arm/mach-at91/at91rm9200_devices.c b/arch/arm/mach-at91/at91rm9200_devices.c
index 01fb732..8b15739 100644
--- a/arch/arm/mach-at91/at91rm9200_devices.c
+++ b/arch/arm/mach-at91/at91rm9200_devices.c
@@ -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"
 
diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c
index 7b9c2ba..2b6caf3 100644
--- a/arch/arm/mach-at91/at91sam9260_devices.c
+++ b/arch/arm/mach-at91/at91sam9260_devices.c
@@ -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"
 
diff --git a/arch/arm/mach-at91/at91sam9261_devices.c b/arch/arm/mach-at91/at91sam9261_devices.c
index 8df5c1b..e79d7b4 100644
--- a/arch/arm/mach-at91/at91sam9261_devices.c
+++ b/arch/arm/mach-at91/at91sam9261_devices.c
@@ -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"
 
diff --git a/arch/arm/mach-at91/at91sam9263_devices.c b/arch/arm/mach-at91/at91sam9263_devices.c
index eb6bbf8..4a58359 100644
--- a/arch/arm/mach-at91/at91sam9263_devices.c
+++ b/arch/arm/mach-at91/at91sam9263_devices.c
@@ -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"
 
diff --git a/arch/arm/mach-at91/at91sam9g45_devices.c b/arch/arm/mach-at91/at91sam9g45_devices.c
index 0607399..799861f 100644
--- a/arch/arm/mach-at91/at91sam9g45_devices.c
+++ b/arch/arm/mach-at91/at91sam9g45_devices.c
@@ -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>
 
diff --git a/arch/arm/mach-at91/at91sam9rl_devices.c b/arch/arm/mach-at91/at91sam9rl_devices.c
index f09fff9..ca6abdd 100644
--- a/arch/arm/mach-at91/at91sam9rl_devices.c
+++ b/arch/arm/mach-at91/at91sam9rl_devices.c
@@ -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"
 
diff --git a/arch/arm/mach-at91/board-1arm.c b/arch/arm/mach-at91/board-1arm.c
index 22d8856..bbd9f05 100644
--- a/arch/arm/mach-at91/board-1arm.c
+++ b/arch/arm/mach-at91/board-1arm.c
@@ -37,6 +37,7 @@
 #include <mach/board.h>
 #include <mach/cpu.h>
 #include <mach/at91_aic.h>
+#include <mach/gpio.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/board-afeb-9260v1.c b/arch/arm/mach-at91/board-afeb-9260v1.c
index de7be19..4d09924 100644
--- a/arch/arm/mach-at91/board-afeb-9260v1.c
+++ b/arch/arm/mach-at91/board-afeb-9260v1.c
@@ -45,6 +45,7 @@
 
 #include <mach/board.h>
 #include <mach/at91_aic.h>
+#include <mach/gpio.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/board-cam60.c b/arch/arm/mach-at91/board-cam60.c
index 477e708..bec435c 100644
--- a/arch/arm/mach-at91/board-cam60.c
+++ b/arch/arm/mach-at91/board-cam60.c
@@ -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"
diff --git a/arch/arm/mach-at91/board-carmeva.c b/arch/arm/mach-at91/board-carmeva.c
index a5b002f..685a170 100644
--- a/arch/arm/mach-at91/board-carmeva.c
+++ b/arch/arm/mach-at91/board-carmeva.c
@@ -37,6 +37,7 @@
 #include <mach/hardware.h>
 #include <mach/board.h>
 #include <mach/at91_aic.h>
+#include <mach/gpio.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/board-cpu9krea.c b/arch/arm/mach-at91/board-cpu9krea.c
index ecbc13b..1d05046 100644
--- a/arch/arm/mach-at91/board-cpu9krea.c
+++ b/arch/arm/mach-at91/board-cpu9krea.c
@@ -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"
diff --git a/arch/arm/mach-at91/board-cpuat91.c b/arch/arm/mach-at91/board-cpuat91.c
index 2e6d043..cfa39e9 100644
--- a/arch/arm/mach-at91/board-cpuat91.c
+++ b/arch/arm/mach-at91/board-cpuat91.c
@@ -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"
 
diff --git a/arch/arm/mach-at91/board-csb337.c b/arch/arm/mach-at91/board-csb337.c
index 462bc31..59741c1 100644
--- a/arch/arm/mach-at91/board-csb337.c
+++ b/arch/arm/mach-at91/board-csb337.c
@@ -40,6 +40,7 @@
 #include <mach/hardware.h>
 #include <mach/board.h>
 #include <mach/at91_aic.h>
+#include <mach/gpio.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/board-csb637.c b/arch/arm/mach-at91/board-csb637.c
index 872871a..e36c63c 100644
--- a/arch/arm/mach-at91/board-csb637.c
+++ b/arch/arm/mach-at91/board-csb637.c
@@ -37,6 +37,7 @@
 #include <mach/hardware.h>
 #include <mach/board.h>
 #include <mach/at91_aic.h>
+#include <mach/gpio.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/board-eb9200.c b/arch/arm/mach-at91/board-eb9200.c
index d1e1f3f..8816928 100644
--- a/arch/arm/mach-at91/board-eb9200.c
+++ b/arch/arm/mach-at91/board-eb9200.c
@@ -37,6 +37,7 @@
 
 #include <mach/board.h>
 #include <mach/at91_aic.h>
+#include <mach/gpio.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/board-ecbat91.c b/arch/arm/mach-at91/board-ecbat91.c
index 9c24cb2..90af119 100644
--- a/arch/arm/mach-at91/board-ecbat91.c
+++ b/arch/arm/mach-at91/board-ecbat91.c
@@ -40,6 +40,7 @@
 #include <mach/board.h>
 #include <mach/cpu.h>
 #include <mach/at91_aic.h>
+#include <mach/gpio.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/board-eco920.c b/arch/arm/mach-at91/board-eco920.c
index 82bdfde..8f4ba07 100644
--- a/arch/arm/mach-at91/board-eco920.c
+++ b/arch/arm/mach-at91/board-eco920.c
@@ -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"
 
diff --git a/arch/arm/mach-at91/board-flexibity.c b/arch/arm/mach-at91/board-flexibity.c
index 6cc83a8..790791a 100644
--- a/arch/arm/mach-at91/board-flexibity.c
+++ b/arch/arm/mach-at91/board-flexibity.c
@@ -35,6 +35,7 @@
 #include <mach/hardware.h>
 #include <mach/board.h>
 #include <mach/at91_aic.h>
+#include <mach/gpio.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/board-foxg20.c b/arch/arm/mach-at91/board-foxg20.c
index 69ab124..1f7bc1f 100644
--- a/arch/arm/mach-at91/board-foxg20.c
+++ b/arch/arm/mach-at91/board-foxg20.c
@@ -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"
diff --git a/arch/arm/mach-at91/board-gsia18s.c b/arch/arm/mach-at91/board-gsia18s.c
index a9d5e78..8bf7046 100644
--- a/arch/arm/mach-at91/board-gsia18s.c
+++ b/arch/arm/mach-at91/board-gsia18s.c
@@ -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"
diff --git a/arch/arm/mach-at91/board-kafa.c b/arch/arm/mach-at91/board-kafa.c
index 64c1dbf..5945808 100644
--- a/arch/arm/mach-at91/board-kafa.c
+++ b/arch/arm/mach-at91/board-kafa.c
@@ -37,6 +37,7 @@
 #include <mach/board.h>
 #include <mach/at91_aic.h>
 #include <mach/cpu.h>
+#include <mach/gpio.h>
 
 #include "generic.h"
 
diff --git a/arch/arm/mach-at91/board-kb9202.c b/arch/arm/mach-at91/board-kb9202.c
index 5d96cb8..3a88688 100644
--- a/arch/arm/mach-at91/board-kb9202.c
+++ b/arch/arm/mach-at91/board-kb9202.c
@@ -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"
 
diff --git a/arch/arm/mach-at91/board-neocore926.c b/arch/arm/mach-at91/board-neocore926.c
index 18103c5d..5deb106 100644
--- a/arch/arm/mach-at91/board-neocore926.c
+++ b/arch/arm/mach-at91/board-neocore926.c
@@ -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"
diff --git a/arch/arm/mach-at91/board-pcontrol-g20.c b/arch/arm/mach-at91/board-pcontrol-g20.c
index 9ca3e32..d622a07 100644
--- a/arch/arm/mach-at91/board-pcontrol-g20.c
+++ b/arch/arm/mach-at91/board-pcontrol-g20.c
@@ -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"
diff --git a/arch/arm/mach-at91/board-picotux200.c b/arch/arm/mach-at91/board-picotux200.c
index 1270655..a33a6b5 100644
--- a/arch/arm/mach-at91/board-picotux200.c
+++ b/arch/arm/mach-at91/board-picotux200.c
@@ -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"
 
diff --git a/arch/arm/mach-at91/board-qil-a9260.c b/arch/arm/mach-at91/board-qil-a9260.c
index bf351e2..655b1f3 100644
--- a/arch/arm/mach-at91/board-qil-a9260.c
+++ b/arch/arm/mach-at91/board-qil-a9260.c
@@ -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"
diff --git a/arch/arm/mach-at91/board-rm9200dk.c b/arch/arm/mach-at91/board-rm9200dk.c
index cc2bf97..0e42db0 100644
--- a/arch/arm/mach-at91/board-rm9200dk.c
+++ b/arch/arm/mach-at91/board-rm9200dk.c
@@ -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"
 
diff --git a/arch/arm/mach-at91/board-rm9200ek.c b/arch/arm/mach-at91/board-rm9200ek.c
index 62e19e6..b1d0d36 100644
--- a/arch/arm/mach-at91/board-rm9200ek.c
+++ b/arch/arm/mach-at91/board-rm9200ek.c
@@ -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"
 
diff --git a/arch/arm/mach-at91/board-rsi-ews.c b/arch/arm/mach-at91/board-rsi-ews.c
index c3b43ae..f2b4d26 100644
--- a/arch/arm/mach-at91/board-rsi-ews.c
+++ b/arch/arm/mach-at91/board-rsi-ews.c
@@ -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>
 
diff --git a/arch/arm/mach-at91/board-sam9-l9260.c b/arch/arm/mach-at91/board-sam9-l9260.c
index 7bf6da7..0a7e7e2 100644
--- a/arch/arm/mach-at91/board-sam9-l9260.c
+++ b/arch/arm/mach-at91/board-sam9-l9260.c
@@ -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"
diff --git a/arch/arm/mach-at91/board-sam9260ek.c b/arch/arm/mach-at91/board-sam9260ek.c
index 889c1bf..232a9f6 100644
--- a/arch/arm/mach-at91/board-sam9260ek.c
+++ b/arch/arm/mach-at91/board-sam9260ek.c
@@ -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"
diff --git a/arch/arm/mach-at91/board-sam9261ek.c b/arch/arm/mach-at91/board-sam9261ek.c
index 2269be5..13cb9b4 100644
--- a/arch/arm/mach-at91/board-sam9261ek.c
+++ b/arch/arm/mach-at91/board-sam9261ek.c
@@ -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"
diff --git a/arch/arm/mach-at91/board-sam9263ek.c b/arch/arm/mach-at91/board-sam9263ek.c
index 82adf58..d1ce5cb 100644
--- a/arch/arm/mach-at91/board-sam9263ek.c
+++ b/arch/arm/mach-at91/board-sam9263ek.c
@@ -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"
diff --git a/arch/arm/mach-at91/board-sam9g20ek.c b/arch/arm/mach-at91/board-sam9g20ek.c
index 4ea4ee0..4aecb95 100644
--- a/arch/arm/mach-at91/board-sam9g20ek.c
+++ b/arch/arm/mach-at91/board-sam9g20ek.c
@@ -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"
diff --git a/arch/arm/mach-at91/board-sam9m10g45ek.c b/arch/arm/mach-at91/board-sam9m10g45ek.c
index 3d48ec1..74a7101 100644
--- a/arch/arm/mach-at91/board-sam9m10g45ek.c
+++ b/arch/arm/mach-at91/board-sam9m10g45ek.c
@@ -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"
diff --git a/arch/arm/mach-at91/board-sam9rlek.c b/arch/arm/mach-at91/board-sam9rlek.c
index e7dc3ea..2a03138 100644
--- a/arch/arm/mach-at91/board-sam9rlek.c
+++ b/arch/arm/mach-at91/board-sam9rlek.c
@@ -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"
diff --git a/arch/arm/mach-at91/board-snapper9260.c b/arch/arm/mach-at91/board-snapper9260.c
index a4e031a..4eeae73 100644
--- a/arch/arm/mach-at91/board-snapper9260.c
+++ b/arch/arm/mach-at91/board-snapper9260.c
@@ -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"
diff --git a/arch/arm/mach-at91/board-stamp9g20.c b/arch/arm/mach-at91/board-stamp9g20.c
index 29eae16..836d25c 100644
--- a/arch/arm/mach-at91/board-stamp9g20.c
+++ b/arch/arm/mach-at91/board-stamp9g20.c
@@ -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"
diff --git a/arch/arm/mach-at91/board-usb-a926x.c b/arch/arm/mach-at91/board-usb-a926x.c
index c1476b9..76b5271 100644
--- a/arch/arm/mach-at91/board-usb-a926x.c
+++ b/arch/arm/mach-at91/board-usb-a926x.c
@@ -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"
diff --git a/arch/arm/mach-at91/board-yl-9200.c b/arch/arm/mach-at91/board-yl-9200.c
index 516d340..d98ae49 100644
--- a/arch/arm/mach-at91/board-yl-9200.c
+++ b/arch/arm/mach-at91/board-yl-9200.c
@@ -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"
 
diff --git a/arch/arm/mach-at91/gpio.c b/arch/arm/mach-at91/gpio.c
index be42cf0..f498461 100644
--- a/arch/arm/mach-at91/gpio.c
+++ b/arch/arm/mach-at91/gpio.c
@@ -28,6 +28,7 @@
 
 #include <asm/mach/irq.h>
 
+#include <mach/gpio.h>
 #include <mach/hardware.h>
 #include <mach/at91_pio.h>
 
diff --git a/arch/arm/mach-at91/leds.c b/arch/arm/mach-at91/leds.c
index 8dfafe7..042ba65 100644
--- a/arch/arm/mach-at91/leds.c
+++ b/arch/arm/mach-at91/leds.c
@@ -16,6 +16,7 @@
 #include <linux/platform_device.h>
 
 #include <mach/board.h>
+#include <mach/gpio.h>
 
 
 /* ------------------------------------------------------------------------- */
diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
index 2c2d865..363c40e 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
@@ -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"
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 06/10] ARM: shmobile: explicitly include mach/gpio.h
  2012-08-29 22:31 [PATCH 00/10] Make mach/gpio.h optional Rob Herring
                   ` (4 preceding siblings ...)
  2012-08-29 22:31 ` [PATCH 05/10] ARM: at91: explicitly include mach/gpio.h Rob Herring
@ 2012-08-29 22:31 ` Rob Herring
  2012-08-29 23:38   ` Russell King - ARM Linux
  2012-08-29 22:31 ` [PATCH 07/10] ARM: orion: add explict mach/gpio.h includes Rob Herring
                   ` (4 subsequent siblings)
  10 siblings, 1 reply; 26+ messages in thread
From: Rob Herring @ 2012-08-29 22:31 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

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.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Magnus Damm <magnus.damm@gmail.com>
---
 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(-)

diff --git a/arch/arm/mach-shmobile/board-ap4evb.c b/arch/arm/mach-shmobile/board-ap4evb.c
index f172ca8..65a959a 100644
--- a/arch/arm/mach-shmobile/board-ap4evb.c
+++ b/arch/arm/mach-shmobile/board-ap4evb.c
@@ -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>
diff --git a/arch/arm/mach-shmobile/board-armadillo800eva.c b/arch/arm/mach-shmobile/board-armadillo800eva.c
index cf10f92..2e647d8 100644
--- a/arch/arm/mach-shmobile/board-armadillo800eva.c
+++ b/arch/arm/mach-shmobile/board-armadillo800eva.c
@@ -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>
diff --git a/arch/arm/mach-shmobile/board-g4evm.c b/arch/arm/mach-shmobile/board-g4evm.c
index fa5dfc5..b8688c1 100644
--- a/arch/arm/mach-shmobile/board-g4evm.c
+++ b/arch/arm/mach-shmobile/board-g4evm.c
@@ -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>
diff --git a/arch/arm/mach-shmobile/board-mackerel.c b/arch/arm/mach-shmobile/board-mackerel.c
index 7ea2b31..86e72a0 100644
--- a/arch/arm/mach-shmobile/board-mackerel.c
+++ b/arch/arm/mach-shmobile/board-mackerel.c
@@ -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>
diff --git a/arch/arm/mach-shmobile/include/mach/gpio.h b/arch/arm/mach-shmobile/include/mach/gpio.h
index 844507d..7ba1877 100644
--- a/arch/arm/mach-shmobile/include/mach/gpio.h
+++ b/arch/arm/mach-shmobile/include/mach/gpio.h
@@ -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 !!
  *
diff --git a/arch/arm/mach-shmobile/pfc-r8a7740.c b/arch/arm/mach-shmobile/pfc-r8a7740.c
index ce9e7fa..134d1b9 100644
--- a/arch/arm/mach-shmobile/pfc-r8a7740.c
+++ b/arch/arm/mach-shmobile/pfc-r8a7740.c
@@ -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>
 
diff --git a/arch/arm/mach-shmobile/pfc-r8a7779.c b/arch/arm/mach-shmobile/pfc-r8a7779.c
index d14c9b0..cbc26ba 100644
--- a/arch/arm/mach-shmobile/pfc-r8a7779.c
+++ b/arch/arm/mach-shmobile/pfc-r8a7779.c
@@ -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>
 
diff --git a/arch/arm/mach-shmobile/pfc-sh7367.c b/arch/arm/mach-shmobile/pfc-sh7367.c
index e6e5246..c0c137f 100644
--- a/arch/arm/mach-shmobile/pfc-sh7367.c
+++ b/arch/arm/mach-shmobile/pfc-sh7367.c
@@ -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)				\
diff --git a/arch/arm/mach-shmobile/pfc-sh7372.c b/arch/arm/mach-shmobile/pfc-sh7372.c
index 336093f9..7a1525f 100644
--- a/arch/arm/mach-shmobile/pfc-sh7372.c
+++ b/arch/arm/mach-shmobile/pfc-sh7372.c
@@ -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>
 
diff --git a/arch/arm/mach-shmobile/pfc-sh7377.c b/arch/arm/mach-shmobile/pfc-sh7377.c
index 2f10511..f3117f6 100644
--- a/arch/arm/mach-shmobile/pfc-sh7377.c
+++ b/arch/arm/mach-shmobile/pfc-sh7377.c
@@ -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)				\
diff --git a/arch/arm/mach-shmobile/pfc-sh73a0.c b/arch/arm/mach-shmobile/pfc-sh73a0.c
index 4a547b8..b442f9d 100644
--- a/arch/arm/mach-shmobile/pfc-sh73a0.c
+++ b/arch/arm/mach-shmobile/pfc-sh73a0.c
@@ -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>
 
diff --git a/drivers/sh/pfc/gpio.c b/drivers/sh/pfc/gpio.c
index 62bca98..038fa07 100644
--- a/drivers/sh/pfc/gpio.c
+++ b/drivers/sh/pfc/gpio.c
@@ -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;
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 07/10] ARM: orion: add explict mach/gpio.h includes
  2012-08-29 22:31 [PATCH 00/10] Make mach/gpio.h optional Rob Herring
                   ` (5 preceding siblings ...)
  2012-08-29 22:31 ` [PATCH 06/10] ARM: shmobile: " Rob Herring
@ 2012-08-29 22:31 ` Rob Herring
  2012-08-29 22:31 ` [PATCH 08/10] ARM: omap2: " Rob Herring
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 26+ messages in thread
From: Rob Herring @ 2012-08-29 22:31 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

In preparation to remove implicit inclusion of mach/gpio.h, add explict
include of mach/gpio.h.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
---
 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(+)

diff --git a/arch/arm/mach-dove/irq.c b/arch/arm/mach-dove/irq.c
index 9bc97a5..6b30d76 100644
--- a/arch/arm/mach-dove/irq.c
+++ b/arch/arm/mach-dove/irq.c
@@ -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)
diff --git a/arch/arm/mach-dove/mpp.c b/arch/arm/mach-dove/mpp.c
index 7f70afc..f5851da 100644
--- a/arch/arm/mach-dove/mpp.c
+++ b/arch/arm/mach-dove/mpp.c
@@ -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 {
diff --git a/arch/arm/mach-kirkwood/irq.c b/arch/arm/mach-kirkwood/irq.c
index 720063f..5dadebd 100644
--- a/arch/arm/mach-kirkwood/irq.c
+++ b/arch/arm/mach-kirkwood/irq.c
@@ -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] = {
diff --git a/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c b/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c
index f742a66..8e5d470 100644
--- a/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c
+++ b/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c
@@ -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"
 
diff --git a/arch/arm/mach-mv78xx0/irq.c b/arch/arm/mach-mv78xx0/irq.c
index eff9a75..2b33bd7 100644
--- a/arch/arm/mach-mv78xx0/irq.c
+++ b/arch/arm/mach-mv78xx0/irq.c
@@ -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"
 
diff --git a/arch/arm/mach-orion5x/d2net-setup.c b/arch/arm/mach-orion5x/d2net-setup.c
index d75dcfa..39aecc8 100644
--- a/arch/arm/mach-orion5x/d2net-setup.c
+++ b/arch/arm/mach-orion5x/d2net-setup.c
@@ -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"
diff --git a/arch/arm/mach-orion5x/dns323-setup.c b/arch/arm/mach-orion5x/dns323-setup.c
index d470864..b720804 100644
--- a/arch/arm/mach-orion5x/dns323-setup.c
+++ b/arch/arm/mach-orion5x/dns323-setup.c
@@ -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"
diff --git a/arch/arm/mach-orion5x/irq.c b/arch/arm/mach-orion5x/irq.c
index 17da709..bfdeab1 100644
--- a/arch/arm/mach-orion5x/irq.c
+++ b/arch/arm/mach-orion5x/irq.c
@@ -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] = {
diff --git a/arch/arm/mach-orion5x/net2big-setup.c b/arch/arm/mach-orion5x/net2big-setup.c
index 0180c39..472e9c6 100644
--- a/arch/arm/mach-orion5x/net2big-setup.c
+++ b/arch/arm/mach-orion5x/net2big-setup.c
@@ -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"
diff --git a/arch/arm/plat-orion/mpp.c b/arch/arm/plat-orion/mpp.c
index 3b1e17b..c140c2f 100644
--- a/arch/arm/plat-orion/mpp.c
+++ b/arch/arm/plat-orion/mpp.c
@@ -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 */
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 08/10] ARM: omap2: add explict mach/gpio.h includes
  2012-08-29 22:31 [PATCH 00/10] Make mach/gpio.h optional Rob Herring
                   ` (6 preceding siblings ...)
  2012-08-29 22:31 ` [PATCH 07/10] ARM: orion: add explict mach/gpio.h includes Rob Herring
@ 2012-08-29 22:31 ` Rob Herring
  2012-08-31 15:39   ` Tony Lindgren
  2012-08-29 22:31 ` [PATCH 09/10] ARM: omap1: " Rob Herring
                   ` (2 subsequent siblings)
  10 siblings, 1 reply; 26+ messages in thread
From: Rob Herring @ 2012-08-29 22:31 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

In preparation to remove implicit inclusion of mach/gpio.h, add explict
include of mach/gpio.h.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Linus Walleij <linus.walleij@linaro.org>
---
 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(-)

diff --git a/arch/arm/mach-omap2/board-zoom-display.c b/arch/arm/mach-omap2/board-zoom-display.c
index 28187f1..c1a27b8 100644
--- a/arch/arm/mach-omap2/board-zoom-display.c
+++ b/arch/arm/mach-omap2/board-zoom-display.c
@@ -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
diff --git a/arch/arm/mach-omap2/gpio.c b/arch/arm/mach-omap2/gpio.c
index 9ad7d48..c090e9e 100644
--- a/arch/arm/mach-omap2/gpio.c
+++ b/arch/arm/mach-omap2/gpio.c
@@ -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"
 
diff --git a/arch/arm/mach-omap2/pm24xx.c b/arch/arm/mach-omap2/pm24xx.c
index 2edeffc..95f37e9 100644
--- a/arch/arm/mach-omap2/pm24xx.c
+++ b/arch/arm/mach-omap2/pm24xx.c
@@ -39,6 +39,7 @@
 #include <plat/sram.h>
 #include <plat/dma.h>
 #include <plat/board.h>
+#include <plat/gpio.h>
 
 #include <mach/irqs.h>
 
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index e4fc88c..6373400 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -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"
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
index e6efd77..06dceba 100644
--- a/drivers/gpio/gpio-omap.c
+++ b/drivers/gpio/gpio-omap.c
@@ -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
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 09/10] ARM: omap1: add explict mach/gpio.h includes
  2012-08-29 22:31 [PATCH 00/10] Make mach/gpio.h optional Rob Herring
                   ` (7 preceding siblings ...)
  2012-08-29 22:31 ` [PATCH 08/10] ARM: omap2: " Rob Herring
@ 2012-08-29 22:31 ` Rob Herring
  2012-08-29 22:31 ` [PATCH 10/10] ARM: make mach/gpio.h headers optional Rob Herring
  2012-08-29 23:40 ` [PATCH 00/10] Make mach/gpio.h optional Russell King - ARM Linux
  10 siblings, 0 replies; 26+ messages in thread
From: Rob Herring @ 2012-08-29 22:31 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

In preparation to remove implicit inclusion of mach/gpio.h, add explict
include of mach/gpio.h.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Tony Lindgren <tony@atomide.com>
---
 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(+)

diff --git a/arch/arm/mach-omap1/board-ams-delta.c b/arch/arm/mach-omap1/board-ams-delta.c
index c534698..ad80fd0 100644
--- a/arch/arm/mach-omap1/board-ams-delta.c
+++ b/arch/arm/mach-omap1/board-ams-delta.c
@@ -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>
diff --git a/arch/arm/mach-omap1/board-osk.c b/arch/arm/mach-omap1/board-osk.c
index 8784705..5cbb780 100644
--- a/arch/arm/mach-omap1/board-osk.c
+++ b/arch/arm/mach-omap1/board-osk.c
@@ -48,6 +48,7 @@
 #include <plat/mux.h>
 #include <plat/tc.h>
 
+#include <mach/gpio.h>
 #include <mach/hardware.h>
 #include <mach/usb.h>
 
diff --git a/arch/arm/mach-omap1/gpio15xx.c b/arch/arm/mach-omap1/gpio15xx.c
index ebef15e..c54efb4 100644
--- a/arch/arm/mach-omap1/gpio15xx.c
+++ b/arch/arm/mach-omap1/gpio15xx.c
@@ -17,6 +17,7 @@
  */
 
 #include <linux/gpio.h>
+#include <mach/gpio.h>
 
 #define OMAP1_MPUIO_VBASE		OMAP1_MPUIO_BASE
 #define OMAP1510_GPIO_BASE		0xFFFCE000
diff --git a/arch/arm/mach-omap1/gpio16xx.c b/arch/arm/mach-omap1/gpio16xx.c
index 2a48cd2..fd934bf 100644
--- a/arch/arm/mach-omap1/gpio16xx.c
+++ b/arch/arm/mach-omap1/gpio16xx.c
@@ -17,6 +17,7 @@
  */
 
 #include <linux/gpio.h>
+#include <mach/gpio.h>
 
 #define OMAP1610_GPIO1_BASE		0xfffbe400
 #define OMAP1610_GPIO2_BASE		0xfffbec00
diff --git a/arch/arm/mach-omap1/gpio7xx.c b/arch/arm/mach-omap1/gpio7xx.c
index acf12b7..20d33c0 100644
--- a/arch/arm/mach-omap1/gpio7xx.c
+++ b/arch/arm/mach-omap1/gpio7xx.c
@@ -17,6 +17,7 @@
  */
 
 #include <linux/gpio.h>
+#include <mach/gpio.h>
 
 #define OMAP7XX_GPIO1_BASE		0xfffbc000
 #define OMAP7XX_GPIO2_BASE		0xfffbc800
diff --git a/arch/arm/mach-omap1/leds-h2p2-debug.c b/arch/arm/mach-omap1/leds-h2p2-debug.c
index f6b14a1..c7e16db 100644
--- a/arch/arm/mach-omap1/leds-h2p2-debug.c
+++ b/arch/arm/mach-omap1/leds-h2p2-debug.c
@@ -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>
diff --git a/arch/arm/mach-omap1/leds.c b/arch/arm/mach-omap1/leds.c
index ae6dd93..de155dc 100644
--- a/arch/arm/mach-omap1/leds.c
+++ b/arch/arm/mach-omap1/leds.c
@@ -10,6 +10,7 @@
 #include <asm/leds.h>
 #include <asm/mach-types.h>
 
+#include <mach/gpio.h>
 #include <plat/mux.h>
 
 #include "leds.h"
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 10/10] ARM: make mach/gpio.h headers optional
  2012-08-29 22:31 [PATCH 00/10] Make mach/gpio.h optional Rob Herring
                   ` (8 preceding siblings ...)
  2012-08-29 22:31 ` [PATCH 09/10] ARM: omap1: " Rob Herring
@ 2012-08-29 22:31 ` Rob Herring
  2012-08-29 23:40 ` [PATCH 00/10] Make mach/gpio.h optional Russell King - ARM Linux
  10 siblings, 0 replies; 26+ messages in thread
From: Rob Herring @ 2012-08-29 22:31 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

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.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
---
 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

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 6d6e18f..3557f12 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -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.
 
diff --git a/arch/arm/include/asm/gpio.h b/arch/arm/include/asm/gpio.h
index c402e9b..477e020 100644
--- a/arch/arm/include/asm/gpio.h
+++ b/arch/arm/include/asm/gpio.h
@@ -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 */
diff --git a/arch/arm/mach-ep93xx/include/mach/gpio.h b/arch/arm/mach-ep93xx/include/mach/gpio.h
deleted file mode 100644
index 40a8c17..0000000
--- a/arch/arm/mach-ep93xx/include/mach/gpio.h
+++ /dev/null
@@ -1 +0,0 @@
-/* empty */
diff --git a/arch/arm/mach-highbank/include/mach/gpio.h b/arch/arm/mach-highbank/include/mach/gpio.h
deleted file mode 100644
index 40a8c17..0000000
--- a/arch/arm/mach-highbank/include/mach/gpio.h
+++ /dev/null
@@ -1 +0,0 @@
-/* empty */
diff --git a/arch/arm/mach-ixp4xx/include/mach/gpio.h b/arch/arm/mach-ixp4xx/include/mach/gpio.h
deleted file mode 100644
index ef37f26..0000000
--- a/arch/arm/mach-ixp4xx/include/mach/gpio.h
+++ /dev/null
@@ -1,2 +0,0 @@
-/* empty */
-
diff --git a/arch/arm/mach-mmp/include/mach/gpio.h b/arch/arm/mach-mmp/include/mach/gpio.h
deleted file mode 100644
index 13219eb..0000000
--- a/arch/arm/mach-mmp/include/mach/gpio.h
+++ /dev/null
@@ -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 */
diff --git a/arch/arm/mach-msm/include/mach/gpio.h b/arch/arm/mach-msm/include/mach/gpio.h
deleted file mode 100644
index 40a8c17..0000000
--- a/arch/arm/mach-msm/include/mach/gpio.h
+++ /dev/null
@@ -1 +0,0 @@
-/* empty */
diff --git a/arch/arm/mach-mxs/include/mach/gpio.h b/arch/arm/mach-mxs/include/mach/gpio.h
deleted file mode 100644
index 40a8c17..0000000
--- a/arch/arm/mach-mxs/include/mach/gpio.h
+++ /dev/null
@@ -1 +0,0 @@
-/* empty */
diff --git a/arch/arm/mach-nomadik/include/mach/gpio.h b/arch/arm/mach-nomadik/include/mach/gpio.h
deleted file mode 100644
index efdde0a..0000000
--- a/arch/arm/mach-nomadik/include/mach/gpio.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef __ASM_ARCH_GPIO_H
-#define __ASM_ARCH_GPIO_H
-
-#endif /* __ASM_ARCH_GPIO_H */
diff --git a/arch/arm/mach-picoxcell/include/mach/gpio.h b/arch/arm/mach-picoxcell/include/mach/gpio.h
deleted file mode 100644
index 40a8c17..0000000
--- a/arch/arm/mach-picoxcell/include/mach/gpio.h
+++ /dev/null
@@ -1 +0,0 @@
-/* empty */
diff --git a/arch/arm/mach-pxa/include/mach/gpio.h b/arch/arm/mach-pxa/include/mach/gpio.h
deleted file mode 100644
index 0248e43..0000000
--- a/arch/arm/mach-pxa/include/mach/gpio.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * arch/arm/mach-pxa/include/mach/gpio.h
- *
- * PXA GPIO wrappers for arch-neutral GPIO calls
- *
- * Written by Philipp Zabel <philipp.zabel@gmail.com>
- *
- * 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
diff --git a/arch/arm/mach-realview/include/mach/gpio.h b/arch/arm/mach-realview/include/mach/gpio.h
deleted file mode 100644
index 40a8c17..0000000
--- a/arch/arm/mach-realview/include/mach/gpio.h
+++ /dev/null
@@ -1 +0,0 @@
-/* empty */
diff --git a/arch/arm/mach-spear13xx/include/mach/gpio.h b/arch/arm/mach-spear13xx/include/mach/gpio.h
deleted file mode 100644
index 85f1763..0000000
--- a/arch/arm/mach-spear13xx/include/mach/gpio.h
+++ /dev/null
@@ -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 <viresh.linux@gmail.com>
- *
- * 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 */
diff --git a/arch/arm/mach-spear3xx/include/mach/gpio.h b/arch/arm/mach-spear3xx/include/mach/gpio.h
deleted file mode 100644
index 2ac74c6..0000000
--- a/arch/arm/mach-spear3xx/include/mach/gpio.h
+++ /dev/null
@@ -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<viresh.linux@gmail.com>
- *
- * 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 */
diff --git a/arch/arm/mach-spear6xx/include/mach/gpio.h b/arch/arm/mach-spear6xx/include/mach/gpio.h
deleted file mode 100644
index d42cefc..0000000
--- a/arch/arm/mach-spear6xx/include/mach/gpio.h
+++ /dev/null
@@ -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 <viresh.linux@gmail.com>
- *
- * 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 */
diff --git a/arch/arm/mach-tegra/include/mach/gpio.h b/arch/arm/mach-tegra/include/mach/gpio.h
deleted file mode 100644
index 40a8c17..0000000
--- a/arch/arm/mach-tegra/include/mach/gpio.h
+++ /dev/null
@@ -1 +0,0 @@
-/* empty */
diff --git a/arch/arm/mach-u300/include/mach/gpio.h b/arch/arm/mach-u300/include/mach/gpio.h
deleted file mode 100644
index 40a8c17..0000000
--- a/arch/arm/mach-u300/include/mach/gpio.h
+++ /dev/null
@@ -1 +0,0 @@
-/* empty */
diff --git a/arch/arm/mach-ux500/include/mach/gpio.h b/arch/arm/mach-ux500/include/mach/gpio.h
deleted file mode 100644
index c01ef66..0000000
--- a/arch/arm/mach-ux500/include/mach/gpio.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#ifndef __ASM_ARCH_GPIO_H
-#define __ASM_ARCH_GPIO_H
-
-
-#endif /* __ASM_ARCH_GPIO_H */
diff --git a/arch/arm/mach-versatile/include/mach/gpio.h b/arch/arm/mach-versatile/include/mach/gpio.h
deleted file mode 100644
index 40a8c17..0000000
--- a/arch/arm/mach-versatile/include/mach/gpio.h
+++ /dev/null
@@ -1 +0,0 @@
-/* empty */
diff --git a/arch/arm/mach-vexpress/include/mach/gpio.h b/arch/arm/mach-vexpress/include/mach/gpio.h
deleted file mode 100644
index 40a8c17..0000000
--- a/arch/arm/mach-vexpress/include/mach/gpio.h
+++ /dev/null
@@ -1 +0,0 @@
-/* empty */
diff --git a/arch/arm/mach-vt8500/include/mach/gpio.h b/arch/arm/mach-vt8500/include/mach/gpio.h
deleted file mode 100644
index 40a8c17..0000000
--- a/arch/arm/mach-vt8500/include/mach/gpio.h
+++ /dev/null
@@ -1 +0,0 @@
-/* empty */
diff --git a/arch/arm/plat-mxc/include/mach/gpio.h b/arch/arm/plat-mxc/include/mach/gpio.h
deleted file mode 100644
index 40a8c17..0000000
--- a/arch/arm/plat-mxc/include/mach/gpio.h
+++ /dev/null
@@ -1 +0,0 @@
-/* empty */
diff --git a/arch/arm/plat-spear/include/plat/gpio.h b/arch/arm/plat-spear/include/plat/gpio.h
deleted file mode 100644
index 40a8c17..0000000
--- a/arch/arm/plat-spear/include/plat/gpio.h
+++ /dev/null
@@ -1 +0,0 @@
-/* empty */
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 03/10] serial: atmel: add explict mach/gpio.h include
  2012-08-29 22:31 ` [PATCH 03/10] serial: atmel: add explict mach/gpio.h include Rob Herring
@ 2012-08-29 23:37   ` Russell King - ARM Linux
  2012-08-31  3:00     ` Rob Herring
  2012-08-31  4:12   ` Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 1 reply; 26+ messages in thread
From: Russell King - ARM Linux @ 2012-08-29 23:37 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Aug 29, 2012 at 05:31:29PM -0500, Rob Herring wrote:
> From: Rob Herring <rob.herring@calxeda.com>
> 
> In preparation to remove implicit inclusion of mach/gpio.h, add explicit
> include of mach/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.)

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 06/10] ARM: shmobile: explicitly include mach/gpio.h
  2012-08-29 22:31 ` [PATCH 06/10] ARM: shmobile: " Rob Herring
@ 2012-08-29 23:38   ` Russell King - ARM Linux
  0 siblings, 0 replies; 26+ messages in thread
From: Russell King - ARM Linux @ 2012-08-29 23:38 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Aug 29, 2012 at 05:31:32PM -0500, Rob Herring wrote:
> From: Rob Herring <rob.herring@calxeda.com>
> 
> 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.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 00/10] Make mach/gpio.h optional
  2012-08-29 22:31 [PATCH 00/10] Make mach/gpio.h optional Rob Herring
                   ` (9 preceding siblings ...)
  2012-08-29 22:31 ` [PATCH 10/10] ARM: make mach/gpio.h headers optional Rob Herring
@ 2012-08-29 23:40 ` Russell King - ARM Linux
  2012-08-30 15:27   ` Rob Herring
  10 siblings, 1 reply; 26+ messages in thread
From: Russell King - ARM Linux @ 2012-08-29 23:40 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Aug 29, 2012 at 05:31:26PM -0500, Rob Herring wrote:
> From: Rob Herring <rob.herring@calxeda.com>
> 
> 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.

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.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 00/10] Make mach/gpio.h optional
  2012-08-29 23:40 ` [PATCH 00/10] Make mach/gpio.h optional Russell King - ARM Linux
@ 2012-08-30 15:27   ` Rob Herring
  2012-08-30 16:52     ` Russell King - ARM Linux
  0 siblings, 1 reply; 26+ messages in thread
From: Rob Herring @ 2012-08-30 15:27 UTC (permalink / raw)
  To: linux-arm-kernel

On 08/29/2012 06:40 PM, Russell King - ARM Linux wrote:
> On Wed, Aug 29, 2012 at 05:31:26PM -0500, Rob Herring wrote:
>> From: Rob Herring <rob.herring@calxeda.com>
>>
>> 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.
> 
> 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.

> 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

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 00/10] Make mach/gpio.h optional
  2012-08-30 15:27   ` Rob Herring
@ 2012-08-30 16:52     ` Russell King - ARM Linux
  0 siblings, 0 replies; 26+ messages in thread
From: Russell King - ARM Linux @ 2012-08-30 16:52 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Aug 30, 2012 at 10:27:15AM -0500, Rob Herring wrote:
> On 08/29/2012 06:40 PM, Russell King - ARM Linux wrote:
> > On Wed, Aug 29, 2012 at 05:31:26PM -0500, Rob Herring wrote:
> >> From: Rob Herring <rob.herring@calxeda.com>
> >>
> >> 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.
> > 
> > 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.

> > 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.

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.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 05/10] ARM: at91: explicitly include mach/gpio.h
  2012-08-29 22:31 ` [PATCH 05/10] ARM: at91: explicitly include mach/gpio.h Rob Herring
@ 2012-08-30 17:14   ` Jean-Christophe PLAGNIOL-VILLARD
  2012-08-30 17:24     ` Russell King - ARM Linux
  0 siblings, 1 reply; 26+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-08-30 17:14 UTC (permalink / raw)
  To: linux-arm-kernel

On 17:31 Wed 29 Aug     , Rob Herring wrote:
> From: Rob Herring <rob.herring@calxeda.com>
> 
> In preparation to remove implicit inclusion of mach/gpio.h, add explict
> include of mach/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>

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 05/10] ARM: at91: explicitly include mach/gpio.h
  2012-08-30 17:14   ` Jean-Christophe PLAGNIOL-VILLARD
@ 2012-08-30 17:24     ` Russell King - ARM Linux
  0 siblings, 0 replies; 26+ messages in thread
From: Russell King - ARM Linux @ 2012-08-30 17:24 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Aug 30, 2012 at 07:14:46PM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 17:31 Wed 29 Aug     , Rob Herring wrote:
> > From: Rob Herring <rob.herring@calxeda.com>
> > 
> > In preparation to remove implicit inclusion of mach/gpio.h, add explict
> > include of mach/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. :)

> diff --git a/arch/arm/mach-at91/gpio.c b/arch/arm/mach-at91/gpio.c
> index c5d7e1e..6803baa 100644
> --- a/arch/arm/mach-at91/gpio.c
> +++ b/arch/arm/mach-at91/gpio.c
> @@ -30,6 +30,7 @@
>  #include <mach/at91_pio.h>
>  
>  #include "generic.h"
> +#include "generic.h"

That's fairly obviously wrong.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 02/10] gpio: pxa: add explicit includes for cpu_is_X macros
  2012-08-29 22:31 ` [PATCH 02/10] gpio: pxa: add explicit includes for cpu_is_X macros Rob Herring
@ 2012-08-30 22:17   ` Linus Walleij
  2012-09-03  3:19     ` Haojian Zhuang
  0 siblings, 1 reply; 26+ messages in thread
From: Linus Walleij @ 2012-08-30 22:17 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Aug 29, 2012 at 3:31 PM, Rob Herring <robherring2@gmail.com> wrote:

> From: Rob Herring <rob.herring@calxeda.com>
>
> In preparation to remove implicit inclusion of mach/gpio.h, add the
> necessary includes for cpu_is_X macros.

The commit message talks about gpio.h, but...

>  #include <mach/irqs.h>
> +#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

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 03/10] serial: atmel: add explict mach/gpio.h include
  2012-08-29 23:37   ` Russell King - ARM Linux
@ 2012-08-31  3:00     ` Rob Herring
  2012-08-31 14:45       ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 1 reply; 26+ messages in thread
From: Rob Herring @ 2012-08-31  3:00 UTC (permalink / raw)
  To: linux-arm-kernel

On 08/29/2012 06:37 PM, Russell King - ARM Linux wrote:
> On Wed, Aug 29, 2012 at 05:31:29PM -0500, Rob Herring wrote:
>> From: Rob Herring <rob.herring@calxeda.com>
>>
>> In preparation to remove implicit inclusion of mach/gpio.h, add explicit
>> include of mach/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.)

Jean-Christophe, Does your gpio clean-up address this?

Rob

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 03/10] serial: atmel: add explict mach/gpio.h include
  2012-08-29 22:31 ` [PATCH 03/10] serial: atmel: add explict mach/gpio.h include Rob Herring
  2012-08-29 23:37   ` Russell King - ARM Linux
@ 2012-08-31  4:12   ` Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 0 replies; 26+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-08-31  4:12 UTC (permalink / raw)
  To: linux-arm-kernel

On 17:31 Wed 29 Aug     , Rob Herring wrote:
> From: Rob Herring <rob.herring@calxeda.com>
> 
> In preparation to remove implicit inclusion of mach/gpio.h, add explicit
> include of mach/gpio.h.
> 
> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
> Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
> Cc: Alan Cox <alan@linux.intel.com>
no you do not fix the right way

we need to use the gpio lig in this driver

Best Regards,
J.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 03/10] serial: atmel: add explict mach/gpio.h include
  2012-08-31  3:00     ` Rob Herring
@ 2012-08-31 14:45       ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 0 replies; 26+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-08-31 14:45 UTC (permalink / raw)
  To: linux-arm-kernel

On 22:00 Thu 30 Aug     , Rob Herring wrote:
> On 08/29/2012 06:37 PM, Russell King - ARM Linux wrote:
> > On Wed, Aug 29, 2012 at 05:31:29PM -0500, Rob Herring wrote:
> >> From: Rob Herring <rob.herring@calxeda.com>
> >>
> >> In preparation to remove implicit inclusion of mach/gpio.h, add explicit
> >> include of mach/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.)
> 
> 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.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 08/10] ARM: omap2: add explict mach/gpio.h includes
  2012-08-29 22:31 ` [PATCH 08/10] ARM: omap2: " Rob Herring
@ 2012-08-31 15:39   ` Tony Lindgren
  0 siblings, 0 replies; 26+ messages in thread
From: Tony Lindgren @ 2012-08-31 15:39 UTC (permalink / raw)
  To: linux-arm-kernel

* Rob Herring <robherring2@gmail.com> [120829 15:32]:
> From: Rob Herring <rob.herring@calxeda.com>
> 
> In preparation to remove implicit inclusion of mach/gpio.h, add explict
> include of mach/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

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 02/10] gpio: pxa: add explicit includes for cpu_is_X macros
  2012-08-30 22:17   ` Linus Walleij
@ 2012-09-03  3:19     ` Haojian Zhuang
  2012-09-03 15:38       ` Rob Herring
  0 siblings, 1 reply; 26+ messages in thread
From: Haojian Zhuang @ 2012-09-03  3:19 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Aug 31, 2012 at 6:17 AM, Linus Walleij <linus.walleij@linaro.org> wrote:
> On Wed, Aug 29, 2012 at 3:31 PM, Rob Herring <robherring2@gmail.com> wrote:
>
>> From: Rob Herring <rob.herring@calxeda.com>
>>
>> In preparation to remove implicit inclusion of mach/gpio.h, add the
>> necessary includes for cpu_is_X macros.
>
> The commit message talks about gpio.h, but...
>
>>  #include <mach/irqs.h>
>> +#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

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?

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 02/10] gpio: pxa: add explicit includes for cpu_is_X macros
  2012-09-03  3:19     ` Haojian Zhuang
@ 2012-09-03 15:38       ` Rob Herring
  2012-09-04  1:38         ` Haojian Zhuang
  0 siblings, 1 reply; 26+ messages in thread
From: Rob Herring @ 2012-09-03 15:38 UTC (permalink / raw)
  To: linux-arm-kernel

On 09/02/2012 10:19 PM, Haojian Zhuang wrote:
> On Fri, Aug 31, 2012 at 6:17 AM, Linus Walleij <linus.walleij@linaro.org> wrote:
>> On Wed, Aug 29, 2012 at 3:31 PM, Rob Herring <robherring2@gmail.com> wrote:
>>
>>> From: Rob Herring <rob.herring@calxeda.com>
>>>
>>> In preparation to remove implicit inclusion of mach/gpio.h, add the
>>> necessary includes for cpu_is_X macros.
>>
>> The commit message talks about gpio.h, but...
>>
>>>  #include <mach/irqs.h>
>>> +#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
> 
> 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.

I think the right fix is really removing the use of cpu_is_X macros
altogether.

> 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

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 02/10] gpio: pxa: add explicit includes for cpu_is_X macros
  2012-09-03 15:38       ` Rob Herring
@ 2012-09-04  1:38         ` Haojian Zhuang
  0 siblings, 0 replies; 26+ messages in thread
From: Haojian Zhuang @ 2012-09-04  1:38 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Sep 3, 2012 at 11:38 PM, Rob Herring <robherring2@gmail.com> wrote:
> On 09/02/2012 10:19 PM, Haojian Zhuang wrote:
>> On Fri, Aug 31, 2012 at 6:17 AM, Linus Walleij <linus.walleij@linaro.org> wrote:
>>> On Wed, Aug 29, 2012 at 3:31 PM, Rob Herring <robherring2@gmail.com> wrote:
>>>
>>>> From: Rob Herring <rob.herring@calxeda.com>
>>>>
>>>> In preparation to remove implicit inclusion of mach/gpio.h, add the
>>>> necessary includes for cpu_is_X macros.
>>>
>>> The commit message talks about gpio.h, but...
>>>
>>>>  #include <mach/irqs.h>
>>>> +#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
>>
>> 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.
>
> I think the right fix is really removing the use of cpu_is_X macros
> 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.

>> 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

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.

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2012-09-04  1:38 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-29 22:31 [PATCH 00/10] Make mach/gpio.h optional Rob Herring
2012-08-29 22:31 ` [PATCH 01/10] usb: pxa27x_udc: remove IRQ_USB define Rob Herring
2012-08-29 22:31 ` [PATCH 02/10] gpio: pxa: add explicit includes for cpu_is_X macros Rob Herring
2012-08-30 22:17   ` Linus Walleij
2012-09-03  3:19     ` Haojian Zhuang
2012-09-03 15:38       ` Rob Herring
2012-09-04  1:38         ` Haojian Zhuang
2012-08-29 22:31 ` [PATCH 03/10] serial: atmel: add explict mach/gpio.h include Rob Herring
2012-08-29 23:37   ` Russell King - ARM Linux
2012-08-31  3:00     ` Rob Herring
2012-08-31 14:45       ` Jean-Christophe PLAGNIOL-VILLARD
2012-08-31  4:12   ` Jean-Christophe PLAGNIOL-VILLARD
2012-08-29 22:31 ` [PATCH 04/10] net: pxaficp_ir: add explicit mach/gpio.h includes Rob Herring
2012-08-29 22:31 ` [PATCH 05/10] ARM: at91: explicitly include mach/gpio.h Rob Herring
2012-08-30 17:14   ` Jean-Christophe PLAGNIOL-VILLARD
2012-08-30 17:24     ` Russell King - ARM Linux
2012-08-29 22:31 ` [PATCH 06/10] ARM: shmobile: " Rob Herring
2012-08-29 23:38   ` Russell King - ARM Linux
2012-08-29 22:31 ` [PATCH 07/10] ARM: orion: add explict mach/gpio.h includes Rob Herring
2012-08-29 22:31 ` [PATCH 08/10] ARM: omap2: " Rob Herring
2012-08-31 15:39   ` Tony Lindgren
2012-08-29 22:31 ` [PATCH 09/10] ARM: omap1: " Rob Herring
2012-08-29 22:31 ` [PATCH 10/10] ARM: make mach/gpio.h headers optional Rob Herring
2012-08-29 23:40 ` [PATCH 00/10] Make mach/gpio.h optional Russell King - ARM Linux
2012-08-30 15:27   ` Rob Herring
2012-08-30 16:52     ` Russell King - ARM Linux

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.