All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/6] Make mach/gpio.h optional
@ 2012-09-06 19:42 Rob Herring
  2012-09-06 19:42 ` [PATCH v2 1/6] usb: pxa27x_udc: remove IRQ_USB define Rob Herring
                   ` (7 more replies)
  0 siblings, 8 replies; 29+ messages in thread
From: Rob Herring @ 2012-09-06 19:42 UTC (permalink / raw)
  To: linux-arm-kernel

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

This is series makes mach/gpio.h optional like we have done for other
mach headers in preparation for multi-platform kernel images.

This version does not add any includes of mach/gpio.h. For orion and
shmobile, the mach/gpio.h headers are renamed to platform specific names.
I've dropped pxa, omap and at91 from this series until better clean-up
is done. omap and at91 have clean-ups in the works. I included some of
the pxa clean-ups I did, but this series is not dependent on them.

This is build tested on all ARM defconfigs.

The series plus multi-platform support is available here:

git://sources.calxeda.com/kernel/linux.git multi-plat

Rob

Rob Herring (6):
  usb: pxa27x_udc: remove IRQ_USB define
  net: pxaficp_ir: add irq resources
  ARM: pxa: use gpio_to_irq for sharppm_sl
  ARM: shmobile: move custom gpio functions to sh-gpio.h
  ARM: orion: move custom gpio functions to orion-gpio.h
  ARM: make mach/gpio.h headers optional

 arch/arm/Kconfig                               |   21 ++++++++
 arch/arm/include/asm/gpio.h                    |    2 +
 arch/arm/mach-dove/include/mach/gpio.h         |    9 ----
 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/include/mach/gpio.h     |    9 ----
 arch/arm/mach-kirkwood/irq.c                   |    1 +
 arch/arm/mach-kirkwood/rd88f6192-nas-setup.c   |    1 +
 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-orion5x/d2net-setup.c            |    1 +
 arch/arm/mach-orion5x/dns323-setup.c           |    1 +
 arch/arm/mach-orion5x/include/mach/gpio.h      |    9 ----
 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/devices.c                    |   15 ++++++
 arch/arm/mach-pxa/sharpsl_pm.c                 |   30 +++++++-----
 arch/arm/mach-realview/include/mach/gpio.h     |    1 -
 arch/arm/mach-shmobile/board-ap4evb.c          |    2 +
 arch/arm/mach-shmobile/board-armadillo800eva.c |    2 +
 arch/arm/mach-shmobile/board-g4evm.c           |    2 +
 arch/arm/mach-shmobile/board-mackerel.c        |    2 +
 arch/arm/mach-shmobile/include/mach/gpio.h     |   62 ------------------------
 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-shmobile/sh-gpio.h               |   48 ++++++++++++++++++
 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/include/plat/gpio.h        |   37 --------------
 arch/arm/plat-orion/include/plat/orion-gpio.h  |   37 ++++++++++++++
 arch/arm/plat-orion/mpp.c                      |    1 +
 arch/arm/plat-spear/include/plat/gpio.h        |    1 -
 drivers/net/irda/pxaficp_ir.c                  |   28 ++++++-----
 drivers/sh/pfc/gpio.c                          |    1 +
 drivers/usb/gadget/pxa27x_udc.c                |    2 +-
 53 files changed, 183 insertions(+), 238 deletions(-)
 delete mode 100644 arch/arm/mach-dove/include/mach/gpio.h
 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-kirkwood/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-orion5x/include/mach/gpio.h
 delete mode 100644 arch/arm/mach-picoxcell/include/mach/gpio.h
 delete mode 100644 arch/arm/mach-realview/include/mach/gpio.h
 delete mode 100644 arch/arm/mach-shmobile/include/mach/gpio.h
 create mode 100644 arch/arm/mach-shmobile/sh-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-orion/include/plat/gpio.h
 create mode 100644 arch/arm/plat-orion/include/plat/orion-gpio.h
 delete mode 100644 arch/arm/plat-spear/include/plat/gpio.h

-- 
1.7.9.5

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

* [PATCH v2 1/6] usb: pxa27x_udc: remove IRQ_USB define
  2012-09-06 19:42 [PATCH v2 0/6] Make mach/gpio.h optional Rob Herring
@ 2012-09-06 19:42 ` Rob Herring
  2012-09-07  3:56   ` Eric Miao
  2012-09-06 19:42   ` Rob Herring
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 29+ messages in thread
From: Rob Herring @ 2012-09-06 19:42 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] 29+ messages in thread

* [PATCH v2 2/6] net: pxaficp_ir: add irq resources
  2012-09-06 19:42 [PATCH v2 0/6] Make mach/gpio.h optional Rob Herring
@ 2012-09-06 19:42   ` Rob Herring
  2012-09-06 19:42   ` Rob Herring
                     ` (6 subsequent siblings)
  7 siblings, 0 replies; 29+ messages in thread
From: Rob Herring @ 2012-09-06 19:42 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Russell King, Arnd Bergmann, Olof Johansson, Linus Walleij,
	Rob Herring, Samuel Ortiz, Eric Miao, Haojian Zhuang, netdev

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

In order to remove dependency on mach/irqs.h, add platform device
resources for irqs.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Samuel Ortiz <samuel@sortiz.org>
Cc: Eric Miao <eric.y.miao@gmail.com>
Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
Cc: netdev@vger.kernel.org
---
 arch/arm/mach-pxa/devices.c   |   15 +++++++++++++++
 drivers/net/irda/pxaficp_ir.c |   28 +++++++++++++++++-----------
 2 files changed, 32 insertions(+), 11 deletions(-)

diff --git a/arch/arm/mach-pxa/devices.c b/arch/arm/mach-pxa/devices.c
index 166eee5..339eb2a 100644
--- a/arch/arm/mach-pxa/devices.c
+++ b/arch/arm/mach-pxa/devices.c
@@ -384,9 +384,24 @@ struct platform_device pxa_device_asoc_platform = {
 
 static u64 pxaficp_dmamask = ~(u32)0;
 
+static struct resource pxa_ir_resources[] = {
+	[0] = {
+		.start  = IRQ_STUART,
+		.end    = IRQ_STUART,
+		.flags  = IORESOURCE_IRQ,
+	},
+	[1] = {
+		.start  = IRQ_ICP,
+		.end    = IRQ_ICP,
+		.flags  = IORESOURCE_IRQ,
+	},
+};
+
 struct platform_device pxa_device_ficp = {
 	.name		= "pxa2xx-ir",
 	.id		= -1,
+	.num_resources	= ARRAY_SIZE(pxa_ir_resources),
+	.resource	= pxa_ir_resources,
 	.dev		= {
 		.dma_mask = &pxaficp_dmamask,
 		.coherent_dma_mask = 0xffffffff,
diff --git a/drivers/net/irda/pxaficp_ir.c b/drivers/net/irda/pxaficp_ir.c
index 8d54767..cb0a5d3 100644
--- a/drivers/net/irda/pxaficp_ir.c
+++ b/drivers/net/irda/pxaficp_ir.c
@@ -29,8 +29,8 @@
 
 #include <mach/dma.h>
 #include <mach/irda.h>
-#include <mach/regs-uart.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 */
@@ -112,6 +112,9 @@ struct pxa_irda {
 	int			txdma;
 	int			rxdma;
 
+	int			uart_irq;
+	int			icp_irq;
+
 	struct irlap_cb		*irlap;
 	struct qos_info		qos;
 
@@ -672,19 +675,19 @@ static int pxa_irda_start(struct net_device *dev)
 
 	si->speed = 9600;
 
-	err = request_irq(IRQ_STUART, pxa_irda_sir_irq, 0, dev->name, dev);
+	err = request_irq(si->uart_irq, pxa_irda_sir_irq, 0, dev->name, dev);
 	if (err)
 		goto err_irq1;
 
-	err = request_irq(IRQ_ICP, pxa_irda_fir_irq, 0, dev->name, dev);
+	err = request_irq(si->icp_irq, pxa_irda_fir_irq, 0, dev->name, dev);
 	if (err)
 		goto err_irq2;
 
 	/*
 	 * The interrupt must remain disabled for now.
 	 */
-	disable_irq(IRQ_STUART);
-	disable_irq(IRQ_ICP);
+	disable_irq(si->uart_irq);
+	disable_irq(si->icp_irq);
 
 	err = -EBUSY;
 	si->rxdma = pxa_request_dma("FICP_RX",DMA_PRIO_LOW, pxa_irda_fir_dma_rx_irq, dev);
@@ -720,8 +723,8 @@ static int pxa_irda_start(struct net_device *dev)
 	/*
 	 * Now enable the interrupt and start the queue
 	 */
-	enable_irq(IRQ_STUART);
-	enable_irq(IRQ_ICP);
+	enable_irq(si->uart_irq);
+	enable_irq(si->icp_irq);
 	netif_start_queue(dev);
 
 	printk(KERN_DEBUG "pxa_ir: irda driver opened\n");
@@ -738,9 +741,9 @@ err_dma_rx_buff:
 err_tx_dma:
 	pxa_free_dma(si->rxdma);
 err_rx_dma:
-	free_irq(IRQ_ICP, dev);
+	free_irq(si->icp_irq, dev);
 err_irq2:
-	free_irq(IRQ_STUART, dev);
+	free_irq(si->uart_irq, dev);
 err_irq1:
 
 	return err;
@@ -760,8 +763,8 @@ static int pxa_irda_stop(struct net_device *dev)
 		si->irlap = NULL;
 	}
 
-	free_irq(IRQ_STUART, dev);
-	free_irq(IRQ_ICP, dev);
+	free_irq(si->uart_irq, dev);
+	free_irq(si->icp_irq, dev);
 
 	pxa_free_dma(si->rxdma);
 	pxa_free_dma(si->txdma);
@@ -851,6 +854,9 @@ static int pxa_irda_probe(struct platform_device *pdev)
 	si->dev = &pdev->dev;
 	si->pdata = pdev->dev.platform_data;
 
+	si->uart_irq = platform_get_irq(pdev, 0);
+	si->icp_irq = platform_get_irq(pdev, 1);
+
 	si->sir_clk = clk_get(&pdev->dev, "UARTCLK");
 	si->fir_clk = clk_get(&pdev->dev, "FICPCLK");
 	if (IS_ERR(si->sir_clk) || IS_ERR(si->fir_clk)) {
-- 
1.7.9.5

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

* [PATCH v2 2/6] net: pxaficp_ir: add irq resources
@ 2012-09-06 19:42   ` Rob Herring
  0 siblings, 0 replies; 29+ messages in thread
From: Rob Herring @ 2012-09-06 19:42 UTC (permalink / raw)
  To: linux-arm-kernel

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

In order to remove dependency on mach/irqs.h, add platform device
resources for irqs.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Samuel Ortiz <samuel@sortiz.org>
Cc: Eric Miao <eric.y.miao@gmail.com>
Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
Cc: netdev at vger.kernel.org
---
 arch/arm/mach-pxa/devices.c   |   15 +++++++++++++++
 drivers/net/irda/pxaficp_ir.c |   28 +++++++++++++++++-----------
 2 files changed, 32 insertions(+), 11 deletions(-)

diff --git a/arch/arm/mach-pxa/devices.c b/arch/arm/mach-pxa/devices.c
index 166eee5..339eb2a 100644
--- a/arch/arm/mach-pxa/devices.c
+++ b/arch/arm/mach-pxa/devices.c
@@ -384,9 +384,24 @@ struct platform_device pxa_device_asoc_platform = {
 
 static u64 pxaficp_dmamask = ~(u32)0;
 
+static struct resource pxa_ir_resources[] = {
+	[0] = {
+		.start  = IRQ_STUART,
+		.end    = IRQ_STUART,
+		.flags  = IORESOURCE_IRQ,
+	},
+	[1] = {
+		.start  = IRQ_ICP,
+		.end    = IRQ_ICP,
+		.flags  = IORESOURCE_IRQ,
+	},
+};
+
 struct platform_device pxa_device_ficp = {
 	.name		= "pxa2xx-ir",
 	.id		= -1,
+	.num_resources	= ARRAY_SIZE(pxa_ir_resources),
+	.resource	= pxa_ir_resources,
 	.dev		= {
 		.dma_mask = &pxaficp_dmamask,
 		.coherent_dma_mask = 0xffffffff,
diff --git a/drivers/net/irda/pxaficp_ir.c b/drivers/net/irda/pxaficp_ir.c
index 8d54767..cb0a5d3 100644
--- a/drivers/net/irda/pxaficp_ir.c
+++ b/drivers/net/irda/pxaficp_ir.c
@@ -29,8 +29,8 @@
 
 #include <mach/dma.h>
 #include <mach/irda.h>
-#include <mach/regs-uart.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 */
@@ -112,6 +112,9 @@ struct pxa_irda {
 	int			txdma;
 	int			rxdma;
 
+	int			uart_irq;
+	int			icp_irq;
+
 	struct irlap_cb		*irlap;
 	struct qos_info		qos;
 
@@ -672,19 +675,19 @@ static int pxa_irda_start(struct net_device *dev)
 
 	si->speed = 9600;
 
-	err = request_irq(IRQ_STUART, pxa_irda_sir_irq, 0, dev->name, dev);
+	err = request_irq(si->uart_irq, pxa_irda_sir_irq, 0, dev->name, dev);
 	if (err)
 		goto err_irq1;
 
-	err = request_irq(IRQ_ICP, pxa_irda_fir_irq, 0, dev->name, dev);
+	err = request_irq(si->icp_irq, pxa_irda_fir_irq, 0, dev->name, dev);
 	if (err)
 		goto err_irq2;
 
 	/*
 	 * The interrupt must remain disabled for now.
 	 */
-	disable_irq(IRQ_STUART);
-	disable_irq(IRQ_ICP);
+	disable_irq(si->uart_irq);
+	disable_irq(si->icp_irq);
 
 	err = -EBUSY;
 	si->rxdma = pxa_request_dma("FICP_RX",DMA_PRIO_LOW, pxa_irda_fir_dma_rx_irq, dev);
@@ -720,8 +723,8 @@ static int pxa_irda_start(struct net_device *dev)
 	/*
 	 * Now enable the interrupt and start the queue
 	 */
-	enable_irq(IRQ_STUART);
-	enable_irq(IRQ_ICP);
+	enable_irq(si->uart_irq);
+	enable_irq(si->icp_irq);
 	netif_start_queue(dev);
 
 	printk(KERN_DEBUG "pxa_ir: irda driver opened\n");
@@ -738,9 +741,9 @@ err_dma_rx_buff:
 err_tx_dma:
 	pxa_free_dma(si->rxdma);
 err_rx_dma:
-	free_irq(IRQ_ICP, dev);
+	free_irq(si->icp_irq, dev);
 err_irq2:
-	free_irq(IRQ_STUART, dev);
+	free_irq(si->uart_irq, dev);
 err_irq1:
 
 	return err;
@@ -760,8 +763,8 @@ static int pxa_irda_stop(struct net_device *dev)
 		si->irlap = NULL;
 	}
 
-	free_irq(IRQ_STUART, dev);
-	free_irq(IRQ_ICP, dev);
+	free_irq(si->uart_irq, dev);
+	free_irq(si->icp_irq, dev);
 
 	pxa_free_dma(si->rxdma);
 	pxa_free_dma(si->txdma);
@@ -851,6 +854,9 @@ static int pxa_irda_probe(struct platform_device *pdev)
 	si->dev = &pdev->dev;
 	si->pdata = pdev->dev.platform_data;
 
+	si->uart_irq = platform_get_irq(pdev, 0);
+	si->icp_irq = platform_get_irq(pdev, 1);
+
 	si->sir_clk = clk_get(&pdev->dev, "UARTCLK");
 	si->fir_clk = clk_get(&pdev->dev, "FICPCLK");
 	if (IS_ERR(si->sir_clk) || IS_ERR(si->fir_clk)) {
-- 
1.7.9.5

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

* [PATCH v2 3/6] ARM: pxa: use gpio_to_irq for sharppm_sl
  2012-09-06 19:42 [PATCH v2 0/6] Make mach/gpio.h optional Rob Herring
  2012-09-06 19:42 ` [PATCH v2 1/6] usb: pxa27x_udc: remove IRQ_USB define Rob Herring
  2012-09-06 19:42   ` Rob Herring
@ 2012-09-06 19:42 ` Rob Herring
  2012-09-06 19:42 ` [PATCH v2 4/6] ARM: shmobile: move custom gpio functions to sh-gpio.h Rob Herring
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 29+ messages in thread
From: Rob Herring @ 2012-09-06 19:42 UTC (permalink / raw)
  To: linux-arm-kernel

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

Replace custom PXA_GPIO_TO_IRQ macro with standard gpio_to_irq.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Eric Miao <eric.y.miao@gmail.com>
Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
---
 arch/arm/mach-pxa/sharpsl_pm.c |   30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)

diff --git a/arch/arm/mach-pxa/sharpsl_pm.c b/arch/arm/mach-pxa/sharpsl_pm.c
index bdf4cb8..9a154ba 100644
--- a/arch/arm/mach-pxa/sharpsl_pm.c
+++ b/arch/arm/mach-pxa/sharpsl_pm.c
@@ -879,7 +879,7 @@ static const struct platform_suspend_ops sharpsl_pm_ops = {
 
 static int __devinit sharpsl_pm_probe(struct platform_device *pdev)
 {
-	int ret;
+	int ret, irq;
 
 	if (!pdev->dev.platform_data)
 		return -EINVAL;
@@ -907,24 +907,28 @@ static int __devinit sharpsl_pm_probe(struct platform_device *pdev)
 	gpio_direction_input(sharpsl_pm.machinfo->gpio_batlock);
 
 	/* Register interrupt handlers */
-	if (request_irq(PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_acin), sharpsl_ac_isr, IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, "AC Input Detect", sharpsl_ac_isr)) {
-		dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_acin));
+	irq = gpio_to_irq(sharpsl_pm.machinfo->gpio_acin);
+	if (request_irq(irq, sharpsl_ac_isr, IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, "AC Input Detect", sharpsl_ac_isr)) {
+		dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", irq);
 	}
 
-	if (request_irq(PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_batlock), sharpsl_fatal_isr, IRQF_DISABLED | IRQF_TRIGGER_FALLING, "Battery Cover", sharpsl_fatal_isr)) {
-		dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_batlock));
+	irq = gpio_to_irq(sharpsl_pm.machinfo->gpio_batlock);
+	if (request_irq(irq, sharpsl_fatal_isr, IRQF_DISABLED | IRQF_TRIGGER_FALLING, "Battery Cover", sharpsl_fatal_isr)) {
+		dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", irq);
 	}
 
 	if (sharpsl_pm.machinfo->gpio_fatal) {
-		if (request_irq(PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_fatal), sharpsl_fatal_isr, IRQF_DISABLED | IRQF_TRIGGER_FALLING, "Fatal Battery", sharpsl_fatal_isr)) {
-			dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_fatal));
+		irq = gpio_to_irq(sharpsl_pm.machinfo->gpio_fatal);
+		if (request_irq(irq, sharpsl_fatal_isr, IRQF_DISABLED | IRQF_TRIGGER_FALLING, "Fatal Battery", sharpsl_fatal_isr)) {
+			dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", irq);
 		}
 	}
 
 	if (sharpsl_pm.machinfo->batfull_irq) {
 		/* Register interrupt handler. */
-		if (request_irq(PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_batfull), sharpsl_chrg_full_isr, IRQF_DISABLED | IRQF_TRIGGER_RISING, "CO", sharpsl_chrg_full_isr)) {
-			dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_batfull));
+		irq = gpio_to_irq(sharpsl_pm.machinfo->gpio_batfull);
+		if (request_irq(irq, sharpsl_chrg_full_isr, IRQF_DISABLED | IRQF_TRIGGER_RISING, "CO", sharpsl_chrg_full_isr)) {
+			dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", irq);
 		}
 	}
 
@@ -953,14 +957,14 @@ static int sharpsl_pm_remove(struct platform_device *pdev)
 
 	led_trigger_unregister_simple(sharpsl_charge_led_trigger);
 
-	free_irq(PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_acin), sharpsl_ac_isr);
-	free_irq(PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_batlock), sharpsl_fatal_isr);
+	free_irq(gpio_to_irq(sharpsl_pm.machinfo->gpio_acin), sharpsl_ac_isr);
+	free_irq(gpio_to_irq(sharpsl_pm.machinfo->gpio_batlock), sharpsl_fatal_isr);
 
 	if (sharpsl_pm.machinfo->gpio_fatal)
-		free_irq(PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_fatal), sharpsl_fatal_isr);
+		free_irq(gpio_to_irq(sharpsl_pm.machinfo->gpio_fatal), sharpsl_fatal_isr);
 
 	if (sharpsl_pm.machinfo->batfull_irq)
-		free_irq(PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_batfull), sharpsl_chrg_full_isr);
+		free_irq(gpio_to_irq(sharpsl_pm.machinfo->gpio_batfull), sharpsl_chrg_full_isr);
 
 	gpio_free(sharpsl_pm.machinfo->gpio_batlock);
 	gpio_free(sharpsl_pm.machinfo->gpio_batfull);
-- 
1.7.9.5

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

* [PATCH v2 4/6] ARM: shmobile: move custom gpio functions to sh-gpio.h
  2012-09-06 19:42 [PATCH v2 0/6] Make mach/gpio.h optional Rob Herring
                   ` (2 preceding siblings ...)
  2012-09-06 19:42 ` [PATCH v2 3/6] ARM: pxa: use gpio_to_irq for sharppm_sl Rob Herring
@ 2012-09-06 19:42 ` Rob Herring
  2012-09-06 19:42 ` [PATCH v2 5/6] ARM: orion: move custom gpio functions to orion-gpio.h Rob Herring
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 29+ messages in thread
From: Rob Herring @ 2012-09-06 19:42 UTC (permalink / raw)
  To: linux-arm-kernel

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

Move custom shmobile gpio code to a sh-gpio.h to remove the dependency
on mach/gpio.h. shmobile always uses gpiolib, so we can remove
__GPIOLIB_COMPLEX define from 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          |    2 +
 arch/arm/mach-shmobile/board-armadillo800eva.c |    2 +
 arch/arm/mach-shmobile/board-g4evm.c           |    2 +
 arch/arm/mach-shmobile/board-mackerel.c        |    2 +
 arch/arm/mach-shmobile/include/mach/gpio.h     |   63 +-----------------------
 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-shmobile/sh-gpio.h               |   48 ++++++++++++++++++
 drivers/sh/pfc/gpio.c                          |    1 +
 13 files changed, 64 insertions(+), 68 deletions(-)
 create mode 100644 arch/arm/mach-shmobile/sh-gpio.h

diff --git a/arch/arm/mach-shmobile/board-ap4evb.c b/arch/arm/mach-shmobile/board-ap4evb.c
index f172ca8..c7f164e 100644
--- a/arch/arm/mach-shmobile/board-ap4evb.c
+++ b/arch/arm/mach-shmobile/board-ap4evb.c
@@ -66,6 +66,8 @@
 #include <asm/mach/arch.h>
 #include <asm/setup.h>
 
+#include "sh-gpio.h"
+
 /*
  * Address	Interface		BusWidth	note
  * ------------------------------------------------------------------
diff --git a/arch/arm/mach-shmobile/board-armadillo800eva.c b/arch/arm/mach-shmobile/board-armadillo800eva.c
index cf10f92..15ffb4c 100644
--- a/arch/arm/mach-shmobile/board-armadillo800eva.c
+++ b/arch/arm/mach-shmobile/board-armadillo800eva.c
@@ -54,6 +54,8 @@
 #include <sound/sh_fsi.h>
 #include <sound/simple_card.h>
 
+#include "sh-gpio.h"
+
 /*
  * CON1		Camera Module
  * CON2		Extension Bus
diff --git a/arch/arm/mach-shmobile/board-g4evm.c b/arch/arm/mach-shmobile/board-g4evm.c
index fa5dfc5..eeee12e 100644
--- a/arch/arm/mach-shmobile/board-g4evm.c
+++ b/arch/arm/mach-shmobile/board-g4evm.c
@@ -42,6 +42,8 @@
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 
+#include "sh-gpio.h"
+
 /*
  * SDHI
  *
diff --git a/arch/arm/mach-shmobile/board-mackerel.c b/arch/arm/mach-shmobile/board-mackerel.c
index 7ea2b31..7654404 100644
--- a/arch/arm/mach-shmobile/board-mackerel.c
+++ b/arch/arm/mach-shmobile/board-mackerel.c
@@ -64,6 +64,8 @@
 #include <asm/mach/arch.h>
 #include <asm/mach-types.h>
 
+#include "sh-gpio.h"
+
 /*
  * Address	Interface		BusWidth	note
  * ------------------------------------------------------------------
diff --git a/arch/arm/mach-shmobile/include/mach/gpio.h b/arch/arm/mach-shmobile/include/mach/gpio.h
index 844507d..40a8c17 100644
--- a/arch/arm/mach-shmobile/include/mach/gpio.h
+++ b/arch/arm/mach-shmobile/include/mach/gpio.h
@@ -1,62 +1 @@
-/*
- * Generic GPIO API and pinmux table support
- *
- * Copyright (c) 2008  Magnus Damm
- *
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- */
-#ifndef __ASM_ARCH_GPIO_H
-#define __ASM_ARCH_GPIO_H
-
-#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 !!
- *
- * current gpio frame work doesn't have
- * the method to control only pull up/down/free.
- * this function should be replaced by correct gpio function
- */
-static inline void __init gpio_direction_none(u32 addr)
-{
-	__raw_writeb(0x00, addr);
-}
-
-static inline void __init gpio_request_pullup(u32 addr)
-{
-	u8 data = __raw_readb(addr);
-
-	data &= 0x0F;
-	data |= 0xC0;
-	__raw_writeb(data, addr);
-}
-
-static inline void __init gpio_request_pulldown(u32 addr)
-{
-	u8 data = __raw_readb(addr);
-
-	data &= 0x0F;
-	data |= 0xA0;
-
-	__raw_writeb(data, addr);
-}
-
-#endif /* __ASM_ARCH_GPIO_H */
+/* empty */
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/arch/arm/mach-shmobile/sh-gpio.h b/arch/arm/mach-shmobile/sh-gpio.h
new file mode 100644
index 0000000..7ba1877
--- /dev/null
+++ b/arch/arm/mach-shmobile/sh-gpio.h
@@ -0,0 +1,48 @@
+/*
+ * Generic GPIO API and pinmux table support
+ *
+ * Copyright (c) 2008  Magnus Damm
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License.  See the file "COPYING" in the main directory of this archive
+ * for more details.
+ */
+#ifndef __ASM_ARCH_GPIO_H
+#define __ASM_ARCH_GPIO_H
+
+#include <linux/kernel.h>
+#include <linux/errno.h>
+#include <linux/io.h>
+
+/*
+ * FIXME !!
+ *
+ * current gpio frame work doesn't have
+ * the method to control only pull up/down/free.
+ * this function should be replaced by correct gpio function
+ */
+static inline void __init gpio_direction_none(u32 addr)
+{
+	__raw_writeb(0x00, addr);
+}
+
+static inline void __init gpio_request_pullup(u32 addr)
+{
+	u8 data = __raw_readb(addr);
+
+	data &= 0x0F;
+	data |= 0xC0;
+	__raw_writeb(data, addr);
+}
+
+static inline void __init gpio_request_pulldown(u32 addr)
+{
+	u8 data = __raw_readb(addr);
+
+	data &= 0x0F;
+	data |= 0xA0;
+
+	__raw_writeb(data, addr);
+}
+
+#endif /* __ASM_ARCH_GPIO_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] 29+ messages in thread

* [PATCH v2 5/6] ARM: orion: move custom gpio functions to orion-gpio.h
  2012-09-06 19:42 [PATCH v2 0/6] Make mach/gpio.h optional Rob Herring
                   ` (3 preceding siblings ...)
  2012-09-06 19:42 ` [PATCH v2 4/6] ARM: shmobile: move custom gpio functions to sh-gpio.h Rob Herring
@ 2012-09-06 19:42 ` Rob Herring
  2012-09-07 15:00   ` Jason Cooper
  2012-09-12 20:11   ` Arnd Bergmann
  2012-09-06 19:42 ` [PATCH v2 6/6] ARM: make mach/gpio.h headers optional Rob Herring
                   ` (2 subsequent siblings)
  7 siblings, 2 replies; 29+ messages in thread
From: Rob Herring @ 2012-09-06 19:42 UTC (permalink / raw)
  To: linux-arm-kernel

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

Move custom orion platforms gpio code to orion-gpio to remove the
dependency on 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/include/mach/gpio.h        |   10 +------
 arch/arm/mach-dove/irq.c                      |    1 +
 arch/arm/mach-dove/mpp.c                      |    1 +
 arch/arm/mach-kirkwood/include/mach/gpio.h    |   10 +------
 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/include/mach/gpio.h     |   10 +------
 arch/arm/mach-orion5x/irq.c                   |    1 +
 arch/arm/mach-orion5x/net2big-setup.c         |    1 +
 arch/arm/plat-orion/include/plat/gpio.h       |   37 -------------------------
 arch/arm/plat-orion/include/plat/orion-gpio.h |   37 +++++++++++++++++++++++++
 arch/arm/plat-orion/mpp.c                     |    1 +
 15 files changed, 50 insertions(+), 64 deletions(-)
 delete mode 100644 arch/arm/plat-orion/include/plat/gpio.h
 create mode 100644 arch/arm/plat-orion/include/plat/orion-gpio.h

diff --git a/arch/arm/mach-dove/include/mach/gpio.h b/arch/arm/mach-dove/include/mach/gpio.h
index e7e5101..40a8c17 100644
--- a/arch/arm/mach-dove/include/mach/gpio.h
+++ b/arch/arm/mach-dove/include/mach/gpio.h
@@ -1,9 +1 @@
-/*
- * arch/arm/mach-dove/include/mach/gpio.h
- *
- * 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.
- */
-
-#include <plat/gpio.h>
+/* empty */
diff --git a/arch/arm/mach-dove/irq.c b/arch/arm/mach-dove/irq.c
index 9bc97a5..186357f 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 <plat/orion-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..60bd729 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 <plat/orion-gpio.h>
 #include "mpp.h"
 
 struct dove_mpp_grp {
diff --git a/arch/arm/mach-kirkwood/include/mach/gpio.h b/arch/arm/mach-kirkwood/include/mach/gpio.h
index 84f340b..40a8c17 100644
--- a/arch/arm/mach-kirkwood/include/mach/gpio.h
+++ b/arch/arm/mach-kirkwood/include/mach/gpio.h
@@ -1,9 +1 @@
-/*
- * arch/asm-arm/mach-kirkwood/include/mach/gpio.h
- *
- * 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.
- */
-
-#include <plat/gpio.h>
+/* empty */
diff --git a/arch/arm/mach-kirkwood/irq.c b/arch/arm/mach-kirkwood/irq.c
index 720063f..20149a7 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 <plat/orion-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..19072c8 100644
--- a/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c
+++ b/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c
@@ -19,6 +19,7 @@
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 #include <mach/kirkwood.h>
+#include <plat/orion-gpio.h>
 #include "common.h"
 
 #define RD88F6192_GPIO_USB_VBUS		10
diff --git a/arch/arm/mach-mv78xx0/irq.c b/arch/arm/mach-mv78xx0/irq.c
index eff9a75..4d720f2 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 <plat/orion-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..e3629c0 100644
--- a/arch/arm/mach-orion5x/d2net-setup.c
+++ b/arch/arm/mach-orion5x/d2net-setup.c
@@ -27,6 +27,7 @@
 #include <asm/mach/arch.h>
 #include <asm/mach/pci.h>
 #include <mach/orion5x.h>
+#include <plat/orion-gpio.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..0e19db6 100644
--- a/arch/arm/mach-orion5x/dns323-setup.c
+++ b/arch/arm/mach-orion5x/dns323-setup.c
@@ -34,6 +34,7 @@
 #include <asm/mach/pci.h>
 #include <asm/system_info.h>
 #include <mach/orion5x.h>
+#include <plat/orion-gpio.h>
 #include "common.h"
 #include "mpp.h"
 
diff --git a/arch/arm/mach-orion5x/include/mach/gpio.h b/arch/arm/mach-orion5x/include/mach/gpio.h
index a1d0b78..40a8c17 100644
--- a/arch/arm/mach-orion5x/include/mach/gpio.h
+++ b/arch/arm/mach-orion5x/include/mach/gpio.h
@@ -1,9 +1 @@
-/*
- * arch/arm/mach-orion5x/include/mach/gpio.h
- *
- * 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.
- */
-
-#include <plat/gpio.h>
+/* empty */
diff --git a/arch/arm/mach-orion5x/irq.c b/arch/arm/mach-orion5x/irq.c
index 17da709..e152641 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 <plat/orion-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..3506f16 100644
--- a/arch/arm/mach-orion5x/net2big-setup.c
+++ b/arch/arm/mach-orion5x/net2big-setup.c
@@ -25,6 +25,7 @@
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 #include <mach/orion5x.h>
+#include <plat/orion-gpio.h>
 #include "common.h"
 #include "mpp.h"
 
diff --git a/arch/arm/plat-orion/include/plat/gpio.h b/arch/arm/plat-orion/include/plat/gpio.h
deleted file mode 100644
index 81c6fc8..0000000
--- a/arch/arm/plat-orion/include/plat/gpio.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * arch/arm/plat-orion/include/plat/gpio.h
- *
- * Marvell Orion SoC GPIO handling.
- *
- * 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 __PLAT_GPIO_H
-#define __PLAT_GPIO_H
-
-#include <linux/init.h>
-#include <linux/types.h>
-#include <linux/irqdomain.h>
-/*
- * Orion-specific GPIO API extensions.
- */
-void orion_gpio_set_unused(unsigned pin);
-void orion_gpio_set_blink(unsigned pin, int blink);
-int orion_gpio_led_blink_set(unsigned gpio, int state,
-	unsigned long *delay_on, unsigned long *delay_off);
-
-#define GPIO_INPUT_OK		(1 << 0)
-#define GPIO_OUTPUT_OK		(1 << 1)
-void orion_gpio_set_valid(unsigned pin, int mode);
-
-/* Initialize gpiolib. */
-void __init orion_gpio_init(struct device_node *np,
-			    int gpio_base, int ngpio,
-			    void __iomem *base, int mask_offset,
-			    int secondary_irq_base,
-			    int irq[4]);
-
-void __init orion_gpio_of_init(int irq_gpio_base);
-#endif
diff --git a/arch/arm/plat-orion/include/plat/orion-gpio.h b/arch/arm/plat-orion/include/plat/orion-gpio.h
new file mode 100644
index 0000000..81c6fc8
--- /dev/null
+++ b/arch/arm/plat-orion/include/plat/orion-gpio.h
@@ -0,0 +1,37 @@
+/*
+ * arch/arm/plat-orion/include/plat/gpio.h
+ *
+ * Marvell Orion SoC GPIO handling.
+ *
+ * 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 __PLAT_GPIO_H
+#define __PLAT_GPIO_H
+
+#include <linux/init.h>
+#include <linux/types.h>
+#include <linux/irqdomain.h>
+/*
+ * Orion-specific GPIO API extensions.
+ */
+void orion_gpio_set_unused(unsigned pin);
+void orion_gpio_set_blink(unsigned pin, int blink);
+int orion_gpio_led_blink_set(unsigned gpio, int state,
+	unsigned long *delay_on, unsigned long *delay_off);
+
+#define GPIO_INPUT_OK		(1 << 0)
+#define GPIO_OUTPUT_OK		(1 << 1)
+void orion_gpio_set_valid(unsigned pin, int mode);
+
+/* Initialize gpiolib. */
+void __init orion_gpio_init(struct device_node *np,
+			    int gpio_base, int ngpio,
+			    void __iomem *base, int mask_offset,
+			    int secondary_irq_base,
+			    int irq[4]);
+
+void __init orion_gpio_of_init(int irq_gpio_base);
+#endif
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] 29+ messages in thread

* [PATCH v2 6/6] ARM: make mach/gpio.h headers optional
  2012-09-06 19:42 [PATCH v2 0/6] Make mach/gpio.h optional Rob Herring
                   ` (4 preceding siblings ...)
  2012-09-06 19:42 ` [PATCH v2 5/6] ARM: orion: move custom gpio functions to orion-gpio.h Rob Herring
@ 2012-09-06 19:42 ` Rob Herring
  2012-09-07 15:04   ` Jason Cooper
                     ` (2 more replies)
  2012-09-07 21:17 ` [PATCH v2 0/6] Make mach/gpio.h optional Linus Walleij
  2012-09-13 13:07 ` [PATCH] staging: ste_rmi4: remove gpio.h include Rob Herring
  7 siblings, 3 replies; 29+ messages in thread
From: Rob Herring @ 2012-09-06 19:42 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.

at91 and omap have gpio clean-up pending and can drop
CONFIG_NEED_MACH_GPIO_H once that is in.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
---
 arch/arm/Kconfig                            |   21 +++++++++++++++++++++
 arch/arm/include/asm/gpio.h                 |    2 ++
 arch/arm/mach-dove/include/mach/gpio.h      |    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/include/mach/gpio.h  |    1 -
 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-orion5x/include/mach/gpio.h   |    1 -
 arch/arm/mach-picoxcell/include/mach/gpio.h |    1 -
 arch/arm/mach-realview/include/mach/gpio.h  |    1 -
 arch/arm/mach-shmobile/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 -
 25 files changed, 23 insertions(+), 85 deletions(-)
 delete mode 100644 arch/arm/mach-dove/include/mach/gpio.h
 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-kirkwood/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-orion5x/include/mach/gpio.h
 delete mode 100644 arch/arm/mach-picoxcell/include/mach/gpio.h
 delete mode 100644 arch/arm/mach-realview/include/mach/gpio.h
 delete mode 100644 arch/arm/mach-shmobile/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 c5f9ae5..4f5652d 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
@@ -345,6 +352,7 @@ config ARCH_AT91
 	select HAVE_CLK
 	select CLKDEV_LOOKUP
 	select IRQ_DOMAIN
+	select NEED_MACH_GPIO_H
 	select NEED_MACH_IO_H if PCCARD
 	help
 	  This enables support for systems based on Atmel
@@ -523,6 +531,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 +545,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
@@ -645,6 +655,7 @@ config ARCH_MMP
 	select PLAT_PXA
 	select SPARSE_IRQ
 	select GENERIC_ALLOCATOR
+	select NEED_MACH_GPIO_H
 	help
 	  Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line.
 
@@ -733,6 +744,7 @@ config ARCH_PXA
 	select MULTI_IRQ_HANDLER
 	select ARM_CPU_SUSPEND if PM
 	select HAVE_IDE
+	select NEED_MACH_GPIO_H
 	help
 	  Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
 
@@ -795,6 +807,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 +823,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 +851,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 +866,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 +881,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 +899,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 +917,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 +990,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.
 
@@ -983,6 +1003,7 @@ config ARCH_OMAP
 	select CLKSRC_MMIO
 	select GENERIC_CLOCKEVENTS
 	select ARCH_HAS_HOLES_MEMORYMODEL
+	select NEED_MACH_GPIO_H
 	help
 	  Support for TI's OMAP platform (OMAP1/2/3/4).
 
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-dove/include/mach/gpio.h b/arch/arm/mach-dove/include/mach/gpio.h
deleted file mode 100644
index 40a8c17..0000000
--- a/arch/arm/mach-dove/include/mach/gpio.h
+++ /dev/null
@@ -1 +0,0 @@
-/* empty */
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-kirkwood/include/mach/gpio.h b/arch/arm/mach-kirkwood/include/mach/gpio.h
deleted file mode 100644
index 40a8c17..0000000
--- a/arch/arm/mach-kirkwood/include/mach/gpio.h
+++ /dev/null
@@ -1 +0,0 @@
-/* empty */
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-orion5x/include/mach/gpio.h b/arch/arm/mach-orion5x/include/mach/gpio.h
deleted file mode 100644
index 40a8c17..0000000
--- a/arch/arm/mach-orion5x/include/mach/gpio.h
+++ /dev/null
@@ -1 +0,0 @@
-/* empty */
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-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-shmobile/include/mach/gpio.h b/arch/arm/mach-shmobile/include/mach/gpio.h
deleted file mode 100644
index 40a8c17..0000000
--- a/arch/arm/mach-shmobile/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] 29+ messages in thread

* Re: [PATCH v2 2/6] net: pxaficp_ir: add irq resources
  2012-09-06 19:42   ` Rob Herring
@ 2012-09-06 20:46     ` David Miller
  -1 siblings, 0 replies; 29+ messages in thread
From: David Miller @ 2012-09-06 20:46 UTC (permalink / raw)
  To: robherring2
  Cc: linux-arm-kernel, linux, arnd, olof, linus.walleij, rob.herring,
	samuel, eric.y.miao, haojian.zhuang, netdev

From: Rob Herring <robherring2@gmail.com>
Date: Thu,  6 Sep 2012 14:42:39 -0500

> From: Rob Herring <rob.herring@calxeda.com>
> 
> In order to remove dependency on mach/irqs.h, add platform device
> resources for irqs.
> 
> Signed-off-by: Rob Herring <rob.herring@calxeda.com>

Feel free to put this in via the ARM tree.

Acked-by: David S. Miller <davem@davemloft.net>

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

* [PATCH v2 2/6] net: pxaficp_ir: add irq resources
@ 2012-09-06 20:46     ` David Miller
  0 siblings, 0 replies; 29+ messages in thread
From: David Miller @ 2012-09-06 20:46 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <robherring2@gmail.com>
Date: Thu,  6 Sep 2012 14:42:39 -0500

> From: Rob Herring <rob.herring@calxeda.com>
> 
> In order to remove dependency on mach/irqs.h, add platform device
> resources for irqs.
> 
> Signed-off-by: Rob Herring <rob.herring@calxeda.com>

Feel free to put this in via the ARM tree.

Acked-by: David S. Miller <davem@davemloft.net>

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

* Re: [PATCH v2 2/6] net: pxaficp_ir: add irq resources
  2012-09-06 19:42   ` Rob Herring
@ 2012-09-07  3:54     ` Eric Miao
  -1 siblings, 0 replies; 29+ messages in thread
From: Eric Miao @ 2012-09-07  3:54 UTC (permalink / raw)
  To: Rob Herring
  Cc: linux-arm-kernel, Russell King, Arnd Bergmann, Olof Johansson,
	Linus Walleij, Rob Herring, Samuel Ortiz, Haojian Zhuang, netdev

On Fri, Sep 7, 2012 at 3:42 AM, Rob Herring <robherring2@gmail.com> wrote:
> From: Rob Herring <rob.herring@calxeda.com>
>
> In order to remove dependency on mach/irqs.h, add platform device
> resources for irqs.
>

Looks good to me, we shall have this change landed long before this, thanks Rob

Acked-by: Eric Miao <eric.y.miao@gmail.com>

> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
> Cc: Samuel Ortiz <samuel@sortiz.org>
> Cc: Eric Miao <eric.y.miao@gmail.com>
> Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
> Cc: netdev@vger.kernel.org
> ---
>  arch/arm/mach-pxa/devices.c   |   15 +++++++++++++++
>  drivers/net/irda/pxaficp_ir.c |   28 +++++++++++++++++-----------
>  2 files changed, 32 insertions(+), 11 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/devices.c b/arch/arm/mach-pxa/devices.c
> index 166eee5..339eb2a 100644
> --- a/arch/arm/mach-pxa/devices.c
> +++ b/arch/arm/mach-pxa/devices.c
> @@ -384,9 +384,24 @@ struct platform_device pxa_device_asoc_platform = {
>
>  static u64 pxaficp_dmamask = ~(u32)0;
>
> +static struct resource pxa_ir_resources[] = {
> +       [0] = {
> +               .start  = IRQ_STUART,
> +               .end    = IRQ_STUART,
> +               .flags  = IORESOURCE_IRQ,
> +       },
> +       [1] = {
> +               .start  = IRQ_ICP,
> +               .end    = IRQ_ICP,
> +               .flags  = IORESOURCE_IRQ,
> +       },
> +};
> +
>  struct platform_device pxa_device_ficp = {
>         .name           = "pxa2xx-ir",
>         .id             = -1,
> +       .num_resources  = ARRAY_SIZE(pxa_ir_resources),
> +       .resource       = pxa_ir_resources,
>         .dev            = {
>                 .dma_mask = &pxaficp_dmamask,
>                 .coherent_dma_mask = 0xffffffff,
> diff --git a/drivers/net/irda/pxaficp_ir.c b/drivers/net/irda/pxaficp_ir.c
> index 8d54767..cb0a5d3 100644
> --- a/drivers/net/irda/pxaficp_ir.c
> +++ b/drivers/net/irda/pxaficp_ir.c
> @@ -29,8 +29,8 @@
>
>  #include <mach/dma.h>
>  #include <mach/irda.h>
> -#include <mach/regs-uart.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 */
> @@ -112,6 +112,9 @@ struct pxa_irda {
>         int                     txdma;
>         int                     rxdma;
>
> +       int                     uart_irq;
> +       int                     icp_irq;
> +
>         struct irlap_cb         *irlap;
>         struct qos_info         qos;
>
> @@ -672,19 +675,19 @@ static int pxa_irda_start(struct net_device *dev)
>
>         si->speed = 9600;
>
> -       err = request_irq(IRQ_STUART, pxa_irda_sir_irq, 0, dev->name, dev);
> +       err = request_irq(si->uart_irq, pxa_irda_sir_irq, 0, dev->name, dev);
>         if (err)
>                 goto err_irq1;
>
> -       err = request_irq(IRQ_ICP, pxa_irda_fir_irq, 0, dev->name, dev);
> +       err = request_irq(si->icp_irq, pxa_irda_fir_irq, 0, dev->name, dev);
>         if (err)
>                 goto err_irq2;
>
>         /*
>          * The interrupt must remain disabled for now.
>          */
> -       disable_irq(IRQ_STUART);
> -       disable_irq(IRQ_ICP);
> +       disable_irq(si->uart_irq);
> +       disable_irq(si->icp_irq);
>
>         err = -EBUSY;
>         si->rxdma = pxa_request_dma("FICP_RX",DMA_PRIO_LOW, pxa_irda_fir_dma_rx_irq, dev);
> @@ -720,8 +723,8 @@ static int pxa_irda_start(struct net_device *dev)
>         /*
>          * Now enable the interrupt and start the queue
>          */
> -       enable_irq(IRQ_STUART);
> -       enable_irq(IRQ_ICP);
> +       enable_irq(si->uart_irq);
> +       enable_irq(si->icp_irq);
>         netif_start_queue(dev);
>
>         printk(KERN_DEBUG "pxa_ir: irda driver opened\n");
> @@ -738,9 +741,9 @@ err_dma_rx_buff:
>  err_tx_dma:
>         pxa_free_dma(si->rxdma);
>  err_rx_dma:
> -       free_irq(IRQ_ICP, dev);
> +       free_irq(si->icp_irq, dev);
>  err_irq2:
> -       free_irq(IRQ_STUART, dev);
> +       free_irq(si->uart_irq, dev);
>  err_irq1:
>
>         return err;
> @@ -760,8 +763,8 @@ static int pxa_irda_stop(struct net_device *dev)
>                 si->irlap = NULL;
>         }
>
> -       free_irq(IRQ_STUART, dev);
> -       free_irq(IRQ_ICP, dev);
> +       free_irq(si->uart_irq, dev);
> +       free_irq(si->icp_irq, dev);
>
>         pxa_free_dma(si->rxdma);
>         pxa_free_dma(si->txdma);
> @@ -851,6 +854,9 @@ static int pxa_irda_probe(struct platform_device *pdev)
>         si->dev = &pdev->dev;
>         si->pdata = pdev->dev.platform_data;
>
> +       si->uart_irq = platform_get_irq(pdev, 0);
> +       si->icp_irq = platform_get_irq(pdev, 1);
> +
>         si->sir_clk = clk_get(&pdev->dev, "UARTCLK");
>         si->fir_clk = clk_get(&pdev->dev, "FICPCLK");
>         if (IS_ERR(si->sir_clk) || IS_ERR(si->fir_clk)) {
> --
> 1.7.9.5
>

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

* [PATCH v2 2/6] net: pxaficp_ir: add irq resources
@ 2012-09-07  3:54     ` Eric Miao
  0 siblings, 0 replies; 29+ messages in thread
From: Eric Miao @ 2012-09-07  3:54 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Sep 7, 2012 at 3:42 AM, Rob Herring <robherring2@gmail.com> wrote:
> From: Rob Herring <rob.herring@calxeda.com>
>
> In order to remove dependency on mach/irqs.h, add platform device
> resources for irqs.
>

Looks good to me, we shall have this change landed long before this, thanks Rob

Acked-by: Eric Miao <eric.y.miao@gmail.com>

> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
> Cc: Samuel Ortiz <samuel@sortiz.org>
> Cc: Eric Miao <eric.y.miao@gmail.com>
> Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
> Cc: netdev at vger.kernel.org
> ---
>  arch/arm/mach-pxa/devices.c   |   15 +++++++++++++++
>  drivers/net/irda/pxaficp_ir.c |   28 +++++++++++++++++-----------
>  2 files changed, 32 insertions(+), 11 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/devices.c b/arch/arm/mach-pxa/devices.c
> index 166eee5..339eb2a 100644
> --- a/arch/arm/mach-pxa/devices.c
> +++ b/arch/arm/mach-pxa/devices.c
> @@ -384,9 +384,24 @@ struct platform_device pxa_device_asoc_platform = {
>
>  static u64 pxaficp_dmamask = ~(u32)0;
>
> +static struct resource pxa_ir_resources[] = {
> +       [0] = {
> +               .start  = IRQ_STUART,
> +               .end    = IRQ_STUART,
> +               .flags  = IORESOURCE_IRQ,
> +       },
> +       [1] = {
> +               .start  = IRQ_ICP,
> +               .end    = IRQ_ICP,
> +               .flags  = IORESOURCE_IRQ,
> +       },
> +};
> +
>  struct platform_device pxa_device_ficp = {
>         .name           = "pxa2xx-ir",
>         .id             = -1,
> +       .num_resources  = ARRAY_SIZE(pxa_ir_resources),
> +       .resource       = pxa_ir_resources,
>         .dev            = {
>                 .dma_mask = &pxaficp_dmamask,
>                 .coherent_dma_mask = 0xffffffff,
> diff --git a/drivers/net/irda/pxaficp_ir.c b/drivers/net/irda/pxaficp_ir.c
> index 8d54767..cb0a5d3 100644
> --- a/drivers/net/irda/pxaficp_ir.c
> +++ b/drivers/net/irda/pxaficp_ir.c
> @@ -29,8 +29,8 @@
>
>  #include <mach/dma.h>
>  #include <mach/irda.h>
> -#include <mach/regs-uart.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 */
> @@ -112,6 +112,9 @@ struct pxa_irda {
>         int                     txdma;
>         int                     rxdma;
>
> +       int                     uart_irq;
> +       int                     icp_irq;
> +
>         struct irlap_cb         *irlap;
>         struct qos_info         qos;
>
> @@ -672,19 +675,19 @@ static int pxa_irda_start(struct net_device *dev)
>
>         si->speed = 9600;
>
> -       err = request_irq(IRQ_STUART, pxa_irda_sir_irq, 0, dev->name, dev);
> +       err = request_irq(si->uart_irq, pxa_irda_sir_irq, 0, dev->name, dev);
>         if (err)
>                 goto err_irq1;
>
> -       err = request_irq(IRQ_ICP, pxa_irda_fir_irq, 0, dev->name, dev);
> +       err = request_irq(si->icp_irq, pxa_irda_fir_irq, 0, dev->name, dev);
>         if (err)
>                 goto err_irq2;
>
>         /*
>          * The interrupt must remain disabled for now.
>          */
> -       disable_irq(IRQ_STUART);
> -       disable_irq(IRQ_ICP);
> +       disable_irq(si->uart_irq);
> +       disable_irq(si->icp_irq);
>
>         err = -EBUSY;
>         si->rxdma = pxa_request_dma("FICP_RX",DMA_PRIO_LOW, pxa_irda_fir_dma_rx_irq, dev);
> @@ -720,8 +723,8 @@ static int pxa_irda_start(struct net_device *dev)
>         /*
>          * Now enable the interrupt and start the queue
>          */
> -       enable_irq(IRQ_STUART);
> -       enable_irq(IRQ_ICP);
> +       enable_irq(si->uart_irq);
> +       enable_irq(si->icp_irq);
>         netif_start_queue(dev);
>
>         printk(KERN_DEBUG "pxa_ir: irda driver opened\n");
> @@ -738,9 +741,9 @@ err_dma_rx_buff:
>  err_tx_dma:
>         pxa_free_dma(si->rxdma);
>  err_rx_dma:
> -       free_irq(IRQ_ICP, dev);
> +       free_irq(si->icp_irq, dev);
>  err_irq2:
> -       free_irq(IRQ_STUART, dev);
> +       free_irq(si->uart_irq, dev);
>  err_irq1:
>
>         return err;
> @@ -760,8 +763,8 @@ static int pxa_irda_stop(struct net_device *dev)
>                 si->irlap = NULL;
>         }
>
> -       free_irq(IRQ_STUART, dev);
> -       free_irq(IRQ_ICP, dev);
> +       free_irq(si->uart_irq, dev);
> +       free_irq(si->icp_irq, dev);
>
>         pxa_free_dma(si->rxdma);
>         pxa_free_dma(si->txdma);
> @@ -851,6 +854,9 @@ static int pxa_irda_probe(struct platform_device *pdev)
>         si->dev = &pdev->dev;
>         si->pdata = pdev->dev.platform_data;
>
> +       si->uart_irq = platform_get_irq(pdev, 0);
> +       si->icp_irq = platform_get_irq(pdev, 1);
> +
>         si->sir_clk = clk_get(&pdev->dev, "UARTCLK");
>         si->fir_clk = clk_get(&pdev->dev, "FICPCLK");
>         if (IS_ERR(si->sir_clk) || IS_ERR(si->fir_clk)) {
> --
> 1.7.9.5
>

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

* [PATCH v2 1/6] usb: pxa27x_udc: remove IRQ_USB define
  2012-09-06 19:42 ` [PATCH v2 1/6] usb: pxa27x_udc: remove IRQ_USB define Rob Herring
@ 2012-09-07  3:56   ` Eric Miao
  2012-09-10 18:07     ` Greg Kroah-Hartman
  0 siblings, 1 reply; 29+ messages in thread
From: Eric Miao @ 2012-09-07  3:56 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Sep 7, 2012 at 3:42 AM, Rob Herring <robherring2@gmail.com> wrote:
> 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>

Acked-by: Eric Miao <eric.y.miao@gmail.com>

Greg, guess this can go through the ARM tree.

> ---
>  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	[flat|nested] 29+ messages in thread

* [PATCH v2 5/6] ARM: orion: move custom gpio functions to orion-gpio.h
  2012-09-06 19:42 ` [PATCH v2 5/6] ARM: orion: move custom gpio functions to orion-gpio.h Rob Herring
@ 2012-09-07 15:00   ` Jason Cooper
  2012-09-12 20:11   ` Arnd Bergmann
  1 sibling, 0 replies; 29+ messages in thread
From: Jason Cooper @ 2012-09-07 15:00 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Sep 06, 2012 at 02:42:42PM -0500, Rob Herring wrote:
> From: Rob Herring <rob.herring@calxeda.com>
> 
> Move custom orion platforms gpio code to orion-gpio to remove the
> dependency on 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/plat-orion/include/plat/gpio.h       |   37 -------------------------
>  arch/arm/plat-orion/include/plat/orion-gpio.h |   37 +++++++++++++++++++++++++
...
>  delete mode 100644 arch/arm/plat-orion/include/plat/gpio.h
>  create mode 100644 arch/arm/plat-orion/include/plat/orion-gpio.h

This looks like a 100% rename, is that true?

Other than that,

Acked-by: Jason Cooper <jason@lakedaemon.net>

thx,

Jason.

> 
> diff --git a/arch/arm/mach-dove/include/mach/gpio.h b/arch/arm/mach-dove/include/mach/gpio.h
> index e7e5101..40a8c17 100644
> --- a/arch/arm/mach-dove/include/mach/gpio.h
> +++ b/arch/arm/mach-dove/include/mach/gpio.h
> @@ -1,9 +1 @@
> -/*
> - * arch/arm/mach-dove/include/mach/gpio.h
> - *
> - * 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.
> - */
> -
> -#include <plat/gpio.h>
> +/* empty */
> diff --git a/arch/arm/mach-dove/irq.c b/arch/arm/mach-dove/irq.c
> index 9bc97a5..186357f 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 <plat/orion-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..60bd729 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 <plat/orion-gpio.h>
>  #include "mpp.h"
>  
>  struct dove_mpp_grp {
> diff --git a/arch/arm/mach-kirkwood/include/mach/gpio.h b/arch/arm/mach-kirkwood/include/mach/gpio.h
> index 84f340b..40a8c17 100644
> --- a/arch/arm/mach-kirkwood/include/mach/gpio.h
> +++ b/arch/arm/mach-kirkwood/include/mach/gpio.h
> @@ -1,9 +1 @@
> -/*
> - * arch/asm-arm/mach-kirkwood/include/mach/gpio.h
> - *
> - * 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.
> - */
> -
> -#include <plat/gpio.h>
> +/* empty */
> diff --git a/arch/arm/mach-kirkwood/irq.c b/arch/arm/mach-kirkwood/irq.c
> index 720063f..20149a7 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 <plat/orion-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..19072c8 100644
> --- a/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c
> +++ b/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c
> @@ -19,6 +19,7 @@
>  #include <asm/mach-types.h>
>  #include <asm/mach/arch.h>
>  #include <mach/kirkwood.h>
> +#include <plat/orion-gpio.h>
>  #include "common.h"
>  
>  #define RD88F6192_GPIO_USB_VBUS		10
> diff --git a/arch/arm/mach-mv78xx0/irq.c b/arch/arm/mach-mv78xx0/irq.c
> index eff9a75..4d720f2 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 <plat/orion-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..e3629c0 100644
> --- a/arch/arm/mach-orion5x/d2net-setup.c
> +++ b/arch/arm/mach-orion5x/d2net-setup.c
> @@ -27,6 +27,7 @@
>  #include <asm/mach/arch.h>
>  #include <asm/mach/pci.h>
>  #include <mach/orion5x.h>
> +#include <plat/orion-gpio.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..0e19db6 100644
> --- a/arch/arm/mach-orion5x/dns323-setup.c
> +++ b/arch/arm/mach-orion5x/dns323-setup.c
> @@ -34,6 +34,7 @@
>  #include <asm/mach/pci.h>
>  #include <asm/system_info.h>
>  #include <mach/orion5x.h>
> +#include <plat/orion-gpio.h>
>  #include "common.h"
>  #include "mpp.h"
>  
> diff --git a/arch/arm/mach-orion5x/include/mach/gpio.h b/arch/arm/mach-orion5x/include/mach/gpio.h
> index a1d0b78..40a8c17 100644
> --- a/arch/arm/mach-orion5x/include/mach/gpio.h
> +++ b/arch/arm/mach-orion5x/include/mach/gpio.h
> @@ -1,9 +1 @@
> -/*
> - * arch/arm/mach-orion5x/include/mach/gpio.h
> - *
> - * 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.
> - */
> -
> -#include <plat/gpio.h>
> +/* empty */
> diff --git a/arch/arm/mach-orion5x/irq.c b/arch/arm/mach-orion5x/irq.c
> index 17da709..e152641 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 <plat/orion-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..3506f16 100644
> --- a/arch/arm/mach-orion5x/net2big-setup.c
> +++ b/arch/arm/mach-orion5x/net2big-setup.c
> @@ -25,6 +25,7 @@
>  #include <asm/mach-types.h>
>  #include <asm/mach/arch.h>
>  #include <mach/orion5x.h>
> +#include <plat/orion-gpio.h>
>  #include "common.h"
>  #include "mpp.h"
>  
> diff --git a/arch/arm/plat-orion/include/plat/gpio.h b/arch/arm/plat-orion/include/plat/gpio.h
> deleted file mode 100644
> index 81c6fc8..0000000
> --- a/arch/arm/plat-orion/include/plat/gpio.h
> +++ /dev/null
> @@ -1,37 +0,0 @@
> -/*
> - * arch/arm/plat-orion/include/plat/gpio.h
> - *
> - * Marvell Orion SoC GPIO handling.
> - *
> - * 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 __PLAT_GPIO_H
> -#define __PLAT_GPIO_H
> -
> -#include <linux/init.h>
> -#include <linux/types.h>
> -#include <linux/irqdomain.h>
> -/*
> - * Orion-specific GPIO API extensions.
> - */
> -void orion_gpio_set_unused(unsigned pin);
> -void orion_gpio_set_blink(unsigned pin, int blink);
> -int orion_gpio_led_blink_set(unsigned gpio, int state,
> -	unsigned long *delay_on, unsigned long *delay_off);
> -
> -#define GPIO_INPUT_OK		(1 << 0)
> -#define GPIO_OUTPUT_OK		(1 << 1)
> -void orion_gpio_set_valid(unsigned pin, int mode);
> -
> -/* Initialize gpiolib. */
> -void __init orion_gpio_init(struct device_node *np,
> -			    int gpio_base, int ngpio,
> -			    void __iomem *base, int mask_offset,
> -			    int secondary_irq_base,
> -			    int irq[4]);
> -
> -void __init orion_gpio_of_init(int irq_gpio_base);
> -#endif
> diff --git a/arch/arm/plat-orion/include/plat/orion-gpio.h b/arch/arm/plat-orion/include/plat/orion-gpio.h
> new file mode 100644
> index 0000000..81c6fc8
> --- /dev/null
> +++ b/arch/arm/plat-orion/include/plat/orion-gpio.h
> @@ -0,0 +1,37 @@
> +/*
> + * arch/arm/plat-orion/include/plat/gpio.h
> + *
> + * Marvell Orion SoC GPIO handling.
> + *
> + * 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 __PLAT_GPIO_H
> +#define __PLAT_GPIO_H
> +
> +#include <linux/init.h>
> +#include <linux/types.h>
> +#include <linux/irqdomain.h>
> +/*
> + * Orion-specific GPIO API extensions.
> + */
> +void orion_gpio_set_unused(unsigned pin);
> +void orion_gpio_set_blink(unsigned pin, int blink);
> +int orion_gpio_led_blink_set(unsigned gpio, int state,
> +	unsigned long *delay_on, unsigned long *delay_off);
> +
> +#define GPIO_INPUT_OK		(1 << 0)
> +#define GPIO_OUTPUT_OK		(1 << 1)
> +void orion_gpio_set_valid(unsigned pin, int mode);
> +
> +/* Initialize gpiolib. */
> +void __init orion_gpio_init(struct device_node *np,
> +			    int gpio_base, int ngpio,
> +			    void __iomem *base, int mask_offset,
> +			    int secondary_irq_base,
> +			    int irq[4]);
> +
> +void __init orion_gpio_of_init(int irq_gpio_base);
> +#endif
> 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
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v2 6/6] ARM: make mach/gpio.h headers optional
  2012-09-06 19:42 ` [PATCH v2 6/6] ARM: make mach/gpio.h headers optional Rob Herring
@ 2012-09-07 15:04   ` Jason Cooper
  2012-09-12 20:45   ` Arnd Bergmann
  2012-09-12 21:05   ` Linus Walleij
  2 siblings, 0 replies; 29+ messages in thread
From: Jason Cooper @ 2012-09-07 15:04 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Sep 06, 2012 at 02:42:43PM -0500, Rob Herring wrote:
> 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.
> 
> at91 and omap have gpio clean-up pending and can drop
> CONFIG_NEED_MACH_GPIO_H once that is in.
> 
> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
> Cc: Russell King <linux@arm.linux.org.uk>

For -dove, -kirkwood, and -orion5x,

Acked-by: Jason Cooper <jason@lakedaemon.net>

thx,

Jason.

> ---
>  arch/arm/Kconfig                            |   21 +++++++++++++++++++++
>  arch/arm/include/asm/gpio.h                 |    2 ++
>  arch/arm/mach-dove/include/mach/gpio.h      |    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/include/mach/gpio.h  |    1 -
>  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-orion5x/include/mach/gpio.h   |    1 -
>  arch/arm/mach-picoxcell/include/mach/gpio.h |    1 -
>  arch/arm/mach-realview/include/mach/gpio.h  |    1 -
>  arch/arm/mach-shmobile/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 -
>  25 files changed, 23 insertions(+), 85 deletions(-)
>  delete mode 100644 arch/arm/mach-dove/include/mach/gpio.h
>  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-kirkwood/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-orion5x/include/mach/gpio.h
>  delete mode 100644 arch/arm/mach-picoxcell/include/mach/gpio.h
>  delete mode 100644 arch/arm/mach-realview/include/mach/gpio.h
>  delete mode 100644 arch/arm/mach-shmobile/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 c5f9ae5..4f5652d 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
> @@ -345,6 +352,7 @@ config ARCH_AT91
>  	select HAVE_CLK
>  	select CLKDEV_LOOKUP
>  	select IRQ_DOMAIN
> +	select NEED_MACH_GPIO_H
>  	select NEED_MACH_IO_H if PCCARD
>  	help
>  	  This enables support for systems based on Atmel
> @@ -523,6 +531,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 +545,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
> @@ -645,6 +655,7 @@ config ARCH_MMP
>  	select PLAT_PXA
>  	select SPARSE_IRQ
>  	select GENERIC_ALLOCATOR
> +	select NEED_MACH_GPIO_H
>  	help
>  	  Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line.
>  
> @@ -733,6 +744,7 @@ config ARCH_PXA
>  	select MULTI_IRQ_HANDLER
>  	select ARM_CPU_SUSPEND if PM
>  	select HAVE_IDE
> +	select NEED_MACH_GPIO_H
>  	help
>  	  Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
>  
> @@ -795,6 +807,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 +823,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 +851,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 +866,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 +881,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 +899,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 +917,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 +990,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.
>  
> @@ -983,6 +1003,7 @@ config ARCH_OMAP
>  	select CLKSRC_MMIO
>  	select GENERIC_CLOCKEVENTS
>  	select ARCH_HAS_HOLES_MEMORYMODEL
> +	select NEED_MACH_GPIO_H
>  	help
>  	  Support for TI's OMAP platform (OMAP1/2/3/4).
>  
> 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-dove/include/mach/gpio.h b/arch/arm/mach-dove/include/mach/gpio.h
> deleted file mode 100644
> index 40a8c17..0000000
> --- a/arch/arm/mach-dove/include/mach/gpio.h
> +++ /dev/null
> @@ -1 +0,0 @@
> -/* empty */
> 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-kirkwood/include/mach/gpio.h b/arch/arm/mach-kirkwood/include/mach/gpio.h
> deleted file mode 100644
> index 40a8c17..0000000
> --- a/arch/arm/mach-kirkwood/include/mach/gpio.h
> +++ /dev/null
> @@ -1 +0,0 @@
> -/* empty */
> 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-orion5x/include/mach/gpio.h b/arch/arm/mach-orion5x/include/mach/gpio.h
> deleted file mode 100644
> index 40a8c17..0000000
> --- a/arch/arm/mach-orion5x/include/mach/gpio.h
> +++ /dev/null
> @@ -1 +0,0 @@
> -/* empty */
> 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-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-shmobile/include/mach/gpio.h b/arch/arm/mach-shmobile/include/mach/gpio.h
> deleted file mode 100644
> index 40a8c17..0000000
> --- a/arch/arm/mach-shmobile/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
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v2 0/6] Make mach/gpio.h optional
  2012-09-06 19:42 [PATCH v2 0/6] Make mach/gpio.h optional Rob Herring
                   ` (5 preceding siblings ...)
  2012-09-06 19:42 ` [PATCH v2 6/6] ARM: make mach/gpio.h headers optional Rob Herring
@ 2012-09-07 21:17 ` Linus Walleij
  2012-09-13 13:07 ` [PATCH] staging: ste_rmi4: remove gpio.h include Rob Herring
  7 siblings, 0 replies; 29+ messages in thread
From: Linus Walleij @ 2012-09-07 21:17 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Sep 6, 2012 at 9:42 PM, Rob Herring <robherring2@gmail.com> wrote:

> From: Rob Herring <rob.herring@calxeda.com>
>
> This is series makes mach/gpio.h optional like we have done for other
> mach headers in preparation for multi-platform kernel images.

I like this approach. It's in the spirit of some similar stuff I made
a year ago or two.
Acked-by: Linus Walleij <linus.walleij@linaro.org>

For all of U300, Nomadik, Ux500, and as GPIO second man.

Yours,
Linus Walleij

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

* [PATCH v2 1/6] usb: pxa27x_udc: remove IRQ_USB define
  2012-09-07  3:56   ` Eric Miao
@ 2012-09-10 18:07     ` Greg Kroah-Hartman
  0 siblings, 0 replies; 29+ messages in thread
From: Greg Kroah-Hartman @ 2012-09-10 18:07 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Sep 07, 2012 at 11:56:46AM +0800, Eric Miao wrote:
> On Fri, Sep 7, 2012 at 3:42 AM, Rob Herring <robherring2@gmail.com> wrote:
> > 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>
> 
> Acked-by: Eric Miao <eric.y.miao@gmail.com>
> 
> Greg, guess this can go through the ARM tree.

That's fine, but note, I'm not the drivers/usb/gadget maintainer, Felipe
needs to know about this as well.

Rob, the tool, scripts/get_maintainer.pl is your friend, please use it :)

greg k-h

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

* [PATCH v2 5/6] ARM: orion: move custom gpio functions to orion-gpio.h
  2012-09-06 19:42 ` [PATCH v2 5/6] ARM: orion: move custom gpio functions to orion-gpio.h Rob Herring
  2012-09-07 15:00   ` Jason Cooper
@ 2012-09-12 20:11   ` Arnd Bergmann
  2012-09-12 20:14     ` Rob Herring
  1 sibling, 1 reply; 29+ messages in thread
From: Arnd Bergmann @ 2012-09-12 20:11 UTC (permalink / raw)
  To: linux-arm-kernel

On Thursday 06 September 2012, Rob Herring wrote:
> diff --git a/arch/arm/plat-orion/include/plat/gpio.h b/arch/arm/plat-orion/include/plat/gpio.h
> deleted file mode 100644
> index 81c6fc8..0000000
> --- a/arch/arm/plat-orion/include/plat/gpio.h
> +++ /dev/null
> @@ -1,37 +0,0 @@
> -/*
> - * arch/arm/plat-orion/include/plat/gpio.h
> - *

You remove the file here

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

and add a new #include here, to the old name, resulting in 

arch/arm/plat-orion/mpp.c:17:23: fatal error: plat/gpio.h: No such file or directory

A similar problem happens in plat-orion/irq.c, which has grown a new
#include of plat/gpio.h in a different branch that is now in arm-soc.

	Arnd

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

* [PATCH v2 5/6] ARM: orion: move custom gpio functions to orion-gpio.h
  2012-09-12 20:11   ` Arnd Bergmann
@ 2012-09-12 20:14     ` Rob Herring
  2012-09-12 20:22       ` Arnd Bergmann
  0 siblings, 1 reply; 29+ messages in thread
From: Rob Herring @ 2012-09-12 20:14 UTC (permalink / raw)
  To: linux-arm-kernel

On 09/12/2012 03:11 PM, Arnd Bergmann wrote:
> On Thursday 06 September 2012, Rob Herring wrote:
>> diff --git a/arch/arm/plat-orion/include/plat/gpio.h b/arch/arm/plat-orion/include/plat/gpio.h
>> deleted file mode 100644
>> index 81c6fc8..0000000
>> --- a/arch/arm/plat-orion/include/plat/gpio.h
>> +++ /dev/null
>> @@ -1,37 +0,0 @@
>> -/*
>> - * arch/arm/plat-orion/include/plat/gpio.h
>> - *
> 
> You remove the file here
> 
>> 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>
>>  
> 
> and add a new #include here, to the old name, resulting in 
> 
> arch/arm/plat-orion/mpp.c:17:23: fatal error: plat/gpio.h: No such file or directory
> 
> A similar problem happens in plat-orion/irq.c, which has grown a new
> #include of plat/gpio.h in a different branch that is now in arm-soc.

It should be orion-gpio.h instead. I have this fixed in my tree.

Rob

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

* [PATCH v2 5/6] ARM: orion: move custom gpio functions to orion-gpio.h
  2012-09-12 20:14     ` Rob Herring
@ 2012-09-12 20:22       ` Arnd Bergmann
  2012-09-12 20:50         ` Rob Herring
  0 siblings, 1 reply; 29+ messages in thread
From: Arnd Bergmann @ 2012-09-12 20:22 UTC (permalink / raw)
  To: linux-arm-kernel

On Wednesday 12 September 2012, Rob Herring wrote:
> > arch/arm/plat-orion/mpp.c:17:23: fatal error: plat/gpio.h: No such file or directory
> > 
> > A similar problem happens in plat-orion/irq.c, which has grown a new
> > #include of plat/gpio.h in a different branch that is now in arm-soc.
> 
> It should be orion-gpio.h instead. I have this fixed in my tree.
> 

I just pulled your multi-plat branch and it still has the broken version.

	Arnd

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

* [PATCH v2 6/6] ARM: make mach/gpio.h headers optional
  2012-09-06 19:42 ` [PATCH v2 6/6] ARM: make mach/gpio.h headers optional Rob Herring
  2012-09-07 15:04   ` Jason Cooper
@ 2012-09-12 20:45   ` Arnd Bergmann
  2012-09-12 21:05   ` Linus Walleij
  2 siblings, 0 replies; 29+ messages in thread
From: Arnd Bergmann @ 2012-09-12 20:45 UTC (permalink / raw)
  To: linux-arm-kernel

On Thursday 06 September 2012, Rob Herring wrote:
> 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 */

Another one: this file is included by
drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c, but that obviously doesn't need
it, so the #include needs to be removed.

	Arnd

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

* [PATCH v2 5/6] ARM: orion: move custom gpio functions to orion-gpio.h
  2012-09-12 20:22       ` Arnd Bergmann
@ 2012-09-12 20:50         ` Rob Herring
  0 siblings, 0 replies; 29+ messages in thread
From: Rob Herring @ 2012-09-12 20:50 UTC (permalink / raw)
  To: linux-arm-kernel

On 09/12/2012 03:22 PM, Arnd Bergmann wrote:
> On Wednesday 12 September 2012, Rob Herring wrote:
>>> arch/arm/plat-orion/mpp.c:17:23: fatal error: plat/gpio.h: No such file or directory
>>>
>>> A similar problem happens in plat-orion/irq.c, which has grown a new
>>> #include of plat/gpio.h in a different branch that is now in arm-soc.
>>
>> It should be orion-gpio.h instead. I have this fixed in my tree.
>>
> 
> I just pulled your multi-plat branch and it still has the broken version.

I hadn't pushed it out, but now it is. It should be close to what I'll
send. Primarily I just need to add some acks.

Rob

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

* [PATCH v2 6/6] ARM: make mach/gpio.h headers optional
  2012-09-06 19:42 ` [PATCH v2 6/6] ARM: make mach/gpio.h headers optional Rob Herring
  2012-09-07 15:04   ` Jason Cooper
  2012-09-12 20:45   ` Arnd Bergmann
@ 2012-09-12 21:05   ` Linus Walleij
  2 siblings, 0 replies; 29+ messages in thread
From: Linus Walleij @ 2012-09-12 21:05 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Sep 6, 2012 at 9:42 PM, Rob Herring <robherring2@gmail.com> wrote:

> 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.
>
> at91 and omap have gpio clean-up pending and can drop
> CONFIG_NEED_MACH_GPIO_H once that is in.
>
> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
> Cc: Russell King <linux@arm.linux.org.uk>

Didn't I ACK this before? Oh well.
Acked-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij

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

* [PATCH] staging: ste_rmi4: remove gpio.h include
  2012-09-06 19:42 [PATCH v2 0/6] Make mach/gpio.h optional Rob Herring
                   ` (6 preceding siblings ...)
  2012-09-07 21:17 ` [PATCH v2 0/6] Make mach/gpio.h optional Linus Walleij
@ 2012-09-13 13:07 ` Rob Herring
  2012-09-13 13:32   ` Rob Herring
  7 siblings, 1 reply; 29+ messages in thread
From: Rob Herring @ 2012-09-13 13:07 UTC (permalink / raw)
  To: linux-arm-kernel

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

gpio.h is not needed and is going to be removed.

Reported-by: Arnd Bergmann <arnd@arndb.de>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
---

Here's one more trivial fix in preparation of mach/gpio.h removal. I plan
to take this thru arm-soc tree.

Rob

 .../staging/ste_rmi4/board-mop500-u8500uib-rmi4.c  |    1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c b/drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c
index a272e48..47439c3 100644
--- a/drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c
+++ b/drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c
@@ -5,7 +5,6 @@
 #include <linux/i2c.h>
 #include <linux/gpio.h>
 #include <linux/interrupt.h>
-#include <mach/gpio.h>
 #include <mach/irqs.h>
 #include "synaptics_i2c_rmi4.h"
 
-- 
1.7.9.5

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

* [PATCH] staging: ste_rmi4: remove gpio.h include
  2012-09-13 13:07 ` [PATCH] staging: ste_rmi4: remove gpio.h include Rob Herring
@ 2012-09-13 13:32   ` Rob Herring
  2012-09-13 14:18     ` Linus Walleij
  2012-09-14  3:27     ` Greg Kroah-Hartman
  0 siblings, 2 replies; 29+ messages in thread
From: Rob Herring @ 2012-09-13 13:32 UTC (permalink / raw)
  To: linux-arm-kernel

Adding Greg KH's correct email...

On 09/13/2012 08:07 AM, Rob Herring wrote:
> From: Rob Herring <rob.herring@calxeda.com>
> 
> gpio.h is not needed and is going to be removed.
> 
> Reported-by: Arnd Bergmann <arnd@arndb.de>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Greg Kroah-Hartman <gregkh@suse.de>
> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
> ---
> 
> Here's one more trivial fix in preparation of mach/gpio.h removal. I plan
> to take this thru arm-soc tree.
> 
> Rob
> 
>  .../staging/ste_rmi4/board-mop500-u8500uib-rmi4.c  |    1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c b/drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c
> index a272e48..47439c3 100644
> --- a/drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c
> +++ b/drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c
> @@ -5,7 +5,6 @@
>  #include <linux/i2c.h>
>  #include <linux/gpio.h>
>  #include <linux/interrupt.h>
> -#include <mach/gpio.h>
>  #include <mach/irqs.h>
>  #include "synaptics_i2c_rmi4.h"
>  
> 

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

* [PATCH] staging: ste_rmi4: remove gpio.h include
  2012-09-13 13:32   ` Rob Herring
@ 2012-09-13 14:18     ` Linus Walleij
  2012-09-14  3:27     ` Greg Kroah-Hartman
  1 sibling, 0 replies; 29+ messages in thread
From: Linus Walleij @ 2012-09-13 14:18 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Sep 13, 2012 at 3:32 PM, Rob Herring <robherring2@gmail.com> wrote:
> Adding Greg KH's correct email...
>
> On 09/13/2012 08:07 AM, Rob Herring wrote:
>> From: Rob Herring <rob.herring@calxeda.com>
>>
>> gpio.h is not needed and is going to be removed.
>>
>> Reported-by: Arnd Bergmann <arnd@arndb.de>
>> Cc: Linus Walleij <linus.walleij@linaro.org>
>> Cc: Greg Kroah-Hartman <gregkh@suse.de>
>> Signed-off-by: Rob Herring <rob.herring@calxeda.com>

Acked-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij

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

* [PATCH] staging: ste_rmi4: remove gpio.h include
  2012-09-13 13:32   ` Rob Herring
  2012-09-13 14:18     ` Linus Walleij
@ 2012-09-14  3:27     ` Greg Kroah-Hartman
  2012-09-14 12:28       ` Rob Herring
  1 sibling, 1 reply; 29+ messages in thread
From: Greg Kroah-Hartman @ 2012-09-14  3:27 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Sep 13, 2012 at 08:32:06AM -0500, Rob Herring wrote:
> Adding Greg KH's correct email...
> 
> On 09/13/2012 08:07 AM, Rob Herring wrote:
> > From: Rob Herring <rob.herring@calxeda.com>
> > 
> > gpio.h is not needed and is going to be removed.

Care to send it to me in a format I can apply it in?

thanks,

greg k-h

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

* [PATCH] staging: ste_rmi4: remove gpio.h include
  2012-09-14  3:27     ` Greg Kroah-Hartman
@ 2012-09-14 12:28       ` Rob Herring
  2012-09-14 13:36         ` Greg Kroah-Hartman
  0 siblings, 1 reply; 29+ messages in thread
From: Rob Herring @ 2012-09-14 12:28 UTC (permalink / raw)
  To: linux-arm-kernel

On 09/13/2012 10:27 PM, Greg Kroah-Hartman wrote:
> On Thu, Sep 13, 2012 at 08:32:06AM -0500, Rob Herring wrote:
>> Adding Greg KH's correct email...
>>
>> On 09/13/2012 08:07 AM, Rob Herring wrote:
>>> From: Rob Herring <rob.herring@calxeda.com>
>>>
>>> gpio.h is not needed and is going to be removed.
> 
> Care to send it to me in a format I can apply it in?

As I mentioned, this should go in via the arm-soc tree with rest of the
gpio clean-up, so I just need an ack.

Rob

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

* [PATCH] staging: ste_rmi4: remove gpio.h include
  2012-09-14 12:28       ` Rob Herring
@ 2012-09-14 13:36         ` Greg Kroah-Hartman
  0 siblings, 0 replies; 29+ messages in thread
From: Greg Kroah-Hartman @ 2012-09-14 13:36 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Sep 14, 2012 at 07:28:45AM -0500, Rob Herring wrote:
> On 09/13/2012 10:27 PM, Greg Kroah-Hartman wrote:
> > On Thu, Sep 13, 2012 at 08:32:06AM -0500, Rob Herring wrote:
> >> Adding Greg KH's correct email...
> >>
> >> On 09/13/2012 08:07 AM, Rob Herring wrote:
> >>> From: Rob Herring <rob.herring@calxeda.com>
> >>>
> >>> gpio.h is not needed and is going to be removed.
> > 
> > Care to send it to me in a format I can apply it in?
> 
> As I mentioned, this should go in via the arm-soc tree with rest of the
> gpio clean-up, so I just need an ack.

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

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

end of thread, other threads:[~2012-09-14 13:36 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-06 19:42 [PATCH v2 0/6] Make mach/gpio.h optional Rob Herring
2012-09-06 19:42 ` [PATCH v2 1/6] usb: pxa27x_udc: remove IRQ_USB define Rob Herring
2012-09-07  3:56   ` Eric Miao
2012-09-10 18:07     ` Greg Kroah-Hartman
2012-09-06 19:42 ` [PATCH v2 2/6] net: pxaficp_ir: add irq resources Rob Herring
2012-09-06 19:42   ` Rob Herring
2012-09-06 20:46   ` David Miller
2012-09-06 20:46     ` David Miller
2012-09-07  3:54   ` Eric Miao
2012-09-07  3:54     ` Eric Miao
2012-09-06 19:42 ` [PATCH v2 3/6] ARM: pxa: use gpio_to_irq for sharppm_sl Rob Herring
2012-09-06 19:42 ` [PATCH v2 4/6] ARM: shmobile: move custom gpio functions to sh-gpio.h Rob Herring
2012-09-06 19:42 ` [PATCH v2 5/6] ARM: orion: move custom gpio functions to orion-gpio.h Rob Herring
2012-09-07 15:00   ` Jason Cooper
2012-09-12 20:11   ` Arnd Bergmann
2012-09-12 20:14     ` Rob Herring
2012-09-12 20:22       ` Arnd Bergmann
2012-09-12 20:50         ` Rob Herring
2012-09-06 19:42 ` [PATCH v2 6/6] ARM: make mach/gpio.h headers optional Rob Herring
2012-09-07 15:04   ` Jason Cooper
2012-09-12 20:45   ` Arnd Bergmann
2012-09-12 21:05   ` Linus Walleij
2012-09-07 21:17 ` [PATCH v2 0/6] Make mach/gpio.h optional Linus Walleij
2012-09-13 13:07 ` [PATCH] staging: ste_rmi4: remove gpio.h include Rob Herring
2012-09-13 13:32   ` Rob Herring
2012-09-13 14:18     ` Linus Walleij
2012-09-14  3:27     ` Greg Kroah-Hartman
2012-09-14 12:28       ` Rob Herring
2012-09-14 13:36         ` Greg Kroah-Hartman

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.