linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] GPIO: Clean up asm/gpio.h
@ 2016-02-02 19:53 Bjorn Helgaas
  2016-02-02 19:53 ` [PATCH 1/2] gpio: Include linux/gpio.h instead of asm/gpio.h Bjorn Helgaas
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Bjorn Helgaas @ 2016-02-02 19:53 UTC (permalink / raw)
  To: Alexandre Courbot, Linus Walleij
  Cc: linux-arch, linux-gpio, Mark Brown, linux-kernel

Many arches supply an asm/gpio.h that contains only this:

  #warning Include linux/gpio.h instead of asm/gpio.h
  #include <linux/gpio.h>

These two patches change all the places that include asm/gpio.h
so they include linux/gpio.h instead, and then remove the asm/gpio.h
files.

There are several arches that supply asm/gpio.h with useful
arch-specific content; I didn't touch those.

I assume Mark was heading this direction with 7563bbf89d06
("gpiolib/arches: Centralise bolierplate asm/gpio.h").

---

Bjorn Helgaas (2):
      gpio: Include linux/gpio.h instead of asm/gpio.h
      gpio: Remove unused asm/gpio.h files


 arch/alpha/include/asm/gpio.h                   |    4 ----
 arch/avr32/boards/merisc/setup.c                |    1 -
 arch/avr32/mach-at32ap/pio.c                    |    2 +-
 arch/blackfin/kernel/debug-mmrs.c               |    2 +-
 arch/blackfin/mach-bf538/boards/ezkit.c         |    2 +-
 arch/blackfin/mach-bf538/ext-gpio.c             |    2 +-
 arch/blackfin/mach-bf548/boards/cm_bf548.c      |    2 +-
 arch/blackfin/mach-bf548/boards/ezkit.c         |    2 +-
 arch/blackfin/mach-bf609/boards/ezkit.c         |    2 +-
 arch/blackfin/mach-common/ints-priority.c       |    2 +-
 arch/blackfin/mach-common/pm.c                  |    2 +-
 arch/ia64/include/asm/gpio.h                    |    4 ----
 arch/metag/include/asm/gpio.h                   |    4 ----
 arch/microblaze/include/asm/gpio.h              |    4 ----
 arch/openrisc/include/asm/gpio.h                |    4 ----
 arch/powerpc/include/asm/gpio.h                 |    4 ----
 arch/sh/include/mach-common/mach/magicpanelr2.h |    2 +-
 arch/sparc/include/asm/gpio.h                   |    4 ----
 arch/x86/include/asm/gpio.h                     |    4 ----
 arch/xtensa/include/asm/gpio.h                  |    4 ----
 drivers/ata/pata_at91.c                         |    3 +--
 drivers/ata/pata_bf54x.c                        |    2 +-
 drivers/gpio/gpio-mpc5200.c                     |    1 -
 drivers/mfd/menelaus.c                          |    2 +-
 drivers/mtd/onenand/omap2.c                     |    2 +-
 drivers/pcmcia/bfin_cf_pcmcia.c                 |    2 +-
 drivers/pcmcia/pxa2xx_vpac270.c                 |    1 -
 drivers/usb/gadget/udc/atmel_usba_udc.c         |    2 --
 drivers/usb/host/ohci-at91.c                    |    2 --
 drivers/video/fbdev/atmel_lcdfb.c               |    2 --
 drivers/video/fbdev/omap/lcd_h3.c               |    2 +-
 drivers/video/fbdev/omap/lcd_osk.c              |    3 +--
 drivers/video/fbdev/omap/lcd_palmtt.c           |    2 +-
 33 files changed, 18 insertions(+), 65 deletions(-)
 delete mode 100644 arch/alpha/include/asm/gpio.h
 delete mode 100644 arch/ia64/include/asm/gpio.h
 delete mode 100644 arch/metag/include/asm/gpio.h
 delete mode 100644 arch/microblaze/include/asm/gpio.h
 delete mode 100644 arch/openrisc/include/asm/gpio.h
 delete mode 100644 arch/powerpc/include/asm/gpio.h
 delete mode 100644 arch/sparc/include/asm/gpio.h
 delete mode 100644 arch/x86/include/asm/gpio.h
 delete mode 100644 arch/xtensa/include/asm/gpio.h

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

* [PATCH 1/2] gpio: Include linux/gpio.h instead of asm/gpio.h
  2016-02-02 19:53 [PATCH 0/2] GPIO: Clean up asm/gpio.h Bjorn Helgaas
@ 2016-02-02 19:53 ` Bjorn Helgaas
  2016-02-03  0:02   ` Alexandre Courbot
  2016-02-15 13:35   ` Linus Walleij
  2016-02-02 19:53 ` [PATCH 2/2] gpio: Remove unused asm/gpio.h files Bjorn Helgaas
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 15+ messages in thread
From: Bjorn Helgaas @ 2016-02-02 19:53 UTC (permalink / raw)
  To: Alexandre Courbot, Linus Walleij
  Cc: linux-arch, linux-gpio, Mark Brown, linux-kernel

Most arches have an asm/gpio.h that merely includes linux/gpio.h.  The
others select ARCH_HAVE_CUSTOM_GPIO_H, and when that's selected,
linux/gpio.h includes asm/gpio.h.

Therefore, code should include linux/gpio.h instead of including asm/gpio.h
directly.

Remove includes of asm/gpio.h, adding an include of linux/gpio.h when
necessary.

This is a follow-on to 7563bbf89d06 ("gpiolib/arches: Centralise
bolierplate asm/gpio.h").

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
---
 arch/avr32/boards/merisc/setup.c                |    1 -
 arch/avr32/mach-at32ap/pio.c                    |    2 +-
 arch/blackfin/kernel/debug-mmrs.c               |    2 +-
 arch/blackfin/mach-bf538/boards/ezkit.c         |    2 +-
 arch/blackfin/mach-bf538/ext-gpio.c             |    2 +-
 arch/blackfin/mach-bf548/boards/cm_bf548.c      |    2 +-
 arch/blackfin/mach-bf548/boards/ezkit.c         |    2 +-
 arch/blackfin/mach-bf609/boards/ezkit.c         |    2 +-
 arch/blackfin/mach-common/ints-priority.c       |    2 +-
 arch/blackfin/mach-common/pm.c                  |    2 +-
 arch/sh/include/mach-common/mach/magicpanelr2.h |    2 +-
 drivers/ata/pata_at91.c                         |    3 +--
 drivers/ata/pata_bf54x.c                        |    2 +-
 drivers/gpio/gpio-mpc5200.c                     |    1 -
 drivers/mfd/menelaus.c                          |    2 +-
 drivers/mtd/onenand/omap2.c                     |    2 +-
 drivers/pcmcia/bfin_cf_pcmcia.c                 |    2 +-
 drivers/pcmcia/pxa2xx_vpac270.c                 |    1 -
 drivers/usb/gadget/udc/atmel_usba_udc.c         |    2 --
 drivers/usb/host/ohci-at91.c                    |    2 --
 drivers/video/fbdev/atmel_lcdfb.c               |    2 --
 drivers/video/fbdev/omap/lcd_h3.c               |    2 +-
 drivers/video/fbdev/omap/lcd_osk.c              |    3 +--
 drivers/video/fbdev/omap/lcd_palmtt.c           |    2 +-
 24 files changed, 18 insertions(+), 29 deletions(-)

diff --git a/arch/avr32/boards/merisc/setup.c b/arch/avr32/boards/merisc/setup.c
index 83d896c..718a6d7 100644
--- a/arch/avr32/boards/merisc/setup.c
+++ b/arch/avr32/boards/merisc/setup.c
@@ -27,7 +27,6 @@
 
 #include <asm/io.h>
 #include <asm/setup.h>
-#include <asm/gpio.h>
 
 #include <mach/at32ap700x.h>
 #include <mach/board.h>
diff --git a/arch/avr32/mach-at32ap/pio.c b/arch/avr32/mach-at32ap/pio.c
index 5020057..83c2a00 100644
--- a/arch/avr32/mach-at32ap/pio.c
+++ b/arch/avr32/mach-at32ap/pio.c
@@ -14,8 +14,8 @@
 #include <linux/fs.h>
 #include <linux/platform_device.h>
 #include <linux/irq.h>
+#include <linux/gpio.h>
 
-#include <asm/gpio.h>
 #include <asm/io.h>
 
 #include <mach/portmux.h>
diff --git a/arch/blackfin/kernel/debug-mmrs.c b/arch/blackfin/kernel/debug-mmrs.c
index 86b1cd3..e272bca 100644
--- a/arch/blackfin/kernel/debug-mmrs.c
+++ b/arch/blackfin/kernel/debug-mmrs.c
@@ -11,9 +11,9 @@
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/i2c/bfin_twi.h>
+#include <linux/gpio.h>
 
 #include <asm/blackfin.h>
-#include <asm/gpio.h>
 #include <asm/gptimers.h>
 #include <asm/bfin_can.h>
 #include <asm/bfin_dma.h>
diff --git a/arch/blackfin/mach-bf538/boards/ezkit.c b/arch/blackfin/mach-bf538/boards/ezkit.c
index ae2fcbb..c423af3 100644
--- a/arch/blackfin/mach-bf538/boards/ezkit.c
+++ b/arch/blackfin/mach-bf538/boards/ezkit.c
@@ -15,9 +15,9 @@
 #include <linux/spi/flash.h>
 #include <linux/irq.h>
 #include <linux/interrupt.h>
+#include <linux/gpio.h>
 #include <asm/bfin5xx_spi.h>
 #include <asm/dma.h>
-#include <asm/gpio.h>
 #include <asm/nand.h>
 #include <asm/portmux.h>
 #include <asm/dpmc.h>
diff --git a/arch/blackfin/mach-bf538/ext-gpio.c b/arch/blackfin/mach-bf538/ext-gpio.c
index 471a9b1..d3e7b66 100644
--- a/arch/blackfin/mach-bf538/ext-gpio.c
+++ b/arch/blackfin/mach-bf538/ext-gpio.c
@@ -8,8 +8,8 @@
 
 #include <linux/module.h>
 #include <linux/err.h>
+#include <linux/gpio.h>
 #include <asm/blackfin.h>
-#include <asm/gpio.h>
 #include <asm/portmux.h>
 
 #define DEFINE_REG(reg, off) \
diff --git a/arch/blackfin/mach-bf548/boards/cm_bf548.c b/arch/blackfin/mach-bf548/boards/cm_bf548.c
index 6d5ffde..120c994 100644
--- a/arch/blackfin/mach-bf548/boards/cm_bf548.c
+++ b/arch/blackfin/mach-bf548/boards/cm_bf548.c
@@ -17,9 +17,9 @@
 #include <linux/irq.h>
 #include <linux/interrupt.h>
 #include <linux/usb/musb.h>
+#include <linux/gpio.h>
 #include <asm/bfin5xx_spi.h>
 #include <asm/dma.h>
-#include <asm/gpio.h>
 #include <asm/nand.h>
 #include <asm/portmux.h>
 #include <asm/bfin_sdh.h>
diff --git a/arch/blackfin/mach-bf548/boards/ezkit.c b/arch/blackfin/mach-bf548/boards/ezkit.c
index 4204b98..3cdd483 100644
--- a/arch/blackfin/mach-bf548/boards/ezkit.c
+++ b/arch/blackfin/mach-bf548/boards/ezkit.c
@@ -20,9 +20,9 @@
 #include <linux/pinctrl/machine.h>
 #include <linux/pinctrl/pinconf-generic.h>
 #include <linux/platform_data/pinctrl-adi2.h>
+#include <linux/gpio.h>
 #include <asm/bfin5xx_spi.h>
 #include <asm/dma.h>
-#include <asm/gpio.h>
 #include <asm/nand.h>
 #include <asm/dpmc.h>
 #include <asm/bfin_sport.h>
diff --git a/arch/blackfin/mach-bf609/boards/ezkit.c b/arch/blackfin/mach-bf609/boards/ezkit.c
index c7928d8..aad5d74 100644
--- a/arch/blackfin/mach-bf609/boards/ezkit.c
+++ b/arch/blackfin/mach-bf609/boards/ezkit.c
@@ -21,8 +21,8 @@
 #include <linux/pinctrl/pinconf-generic.h>
 #include <linux/platform_data/pinctrl-adi2.h>
 #include <linux/spi/adi_spi3.h>
+#include <linux/gpio.h>
 #include <asm/dma.h>
-#include <asm/gpio.h>
 #include <asm/nand.h>
 #include <asm/dpmc.h>
 #include <asm/portmux.h>
diff --git a/arch/blackfin/mach-common/ints-priority.c b/arch/blackfin/mach-common/ints-priority.c
index e8d4d74..4986b4fb 100644
--- a/arch/blackfin/mach-common/ints-priority.c
+++ b/arch/blackfin/mach-common/ints-priority.c
@@ -17,13 +17,13 @@
 #include <linux/irq.h>
 #include <linux/sched.h>
 #include <linux/syscore_ops.h>
+#include <linux/gpio.h>
 #include <asm/delay.h>
 #ifdef CONFIG_IPIPE
 #include <linux/ipipe.h>
 #endif
 #include <asm/traps.h>
 #include <asm/blackfin.h>
-#include <asm/gpio.h>
 #include <asm/irq_handler.h>
 #include <asm/dpmc.h>
 #include <asm/traps.h>
diff --git a/arch/blackfin/mach-common/pm.c b/arch/blackfin/mach-common/pm.c
index a66d979..5ece38a 100644
--- a/arch/blackfin/mach-common/pm.c
+++ b/arch/blackfin/mach-common/pm.c
@@ -15,9 +15,9 @@
 #include <linux/io.h>
 #include <linux/irq.h>
 #include <linux/delay.h>
+#include <linux/gpio.h>
 
 #include <asm/cplb.h>
-#include <asm/gpio.h>
 #include <asm/dma.h>
 #include <asm/dpmc.h>
 #include <asm/pm.h>
diff --git a/arch/sh/include/mach-common/mach/magicpanelr2.h b/arch/sh/include/mach-common/mach/magicpanelr2.h
index 183a2f7..eb0cf20 100644
--- a/arch/sh/include/mach-common/mach/magicpanelr2.h
+++ b/arch/sh/include/mach-common/mach/magicpanelr2.h
@@ -13,7 +13,7 @@
 #ifndef __ASM_SH_MAGICPANELR2_H
 #define __ASM_SH_MAGICPANELR2_H
 
-#include <asm/gpio.h>
+#include <linux/gpio.h>
 
 #define __IO_PREFIX mpr2
 #include <asm/io_generic.h>
diff --git a/drivers/ata/pata_at91.c b/drivers/ata/pata_at91.c
index ace0a4d..9f27b14 100644
--- a/drivers/ata/pata_at91.c
+++ b/drivers/ata/pata_at91.c
@@ -30,8 +30,7 @@
 #include <linux/ata_platform.h>
 #include <linux/platform_data/atmel.h>
 #include <linux/regmap.h>
-
-#include <asm/gpio.h>
+#include <linux/gpio.h>
 
 #define DRV_NAME		"pata_at91"
 #define DRV_VERSION		"0.3"
diff --git a/drivers/ata/pata_bf54x.c b/drivers/ata/pata_bf54x.c
index dd74100..ec748d3 100644
--- a/drivers/ata/pata_bf54x.c
+++ b/drivers/ata/pata_bf54x.c
@@ -36,8 +36,8 @@
 #include <scsi/scsi_host.h>
 #include <linux/libata.h>
 #include <linux/platform_device.h>
+#include <linux/gpio.h>
 #include <asm/dma.h>
-#include <asm/gpio.h>
 #include <asm/portmux.h>
 
 #define DRV_NAME		"pata-bf54x"
diff --git a/drivers/gpio/gpio-mpc5200.c b/drivers/gpio/gpio-mpc5200.c
index 0e5a670..fc10cf5 100644
--- a/drivers/gpio/gpio-mpc5200.c
+++ b/drivers/gpio/gpio-mpc5200.c
@@ -25,7 +25,6 @@
 #include <linux/of_platform.h>
 #include <linux/module.h>
 
-#include <asm/gpio.h>
 #include <asm/mpc52xx.h>
 #include <sysdev/fsl_soc.h>
 
diff --git a/drivers/mfd/menelaus.c b/drivers/mfd/menelaus.c
index 3ac36f5..a4a8f1e 100644
--- a/drivers/mfd/menelaus.c
+++ b/drivers/mfd/menelaus.c
@@ -42,10 +42,10 @@
 #include <linux/bcd.h>
 #include <linux/slab.h>
 #include <linux/mfd/menelaus.h>
+#include <linux/gpio.h>
 
 #include <asm/mach/irq.h>
 
-#include <asm/gpio.h>
 
 #define DRIVER_NAME			"menelaus"
 
diff --git a/drivers/mtd/onenand/omap2.c b/drivers/mtd/onenand/omap2.c
index 0aacf12..24a1388 100644
--- a/drivers/mtd/onenand/omap2.c
+++ b/drivers/mtd/onenand/omap2.c
@@ -35,10 +35,10 @@
 #include <linux/io.h>
 #include <linux/slab.h>
 #include <linux/regulator/consumer.h>
+#include <linux/gpio.h>
 
 #include <asm/mach/flash.h>
 #include <linux/platform_data/mtd-onenand-omap2.h>
-#include <asm/gpio.h>
 
 #include <linux/omap-dma.h>
 
diff --git a/drivers/pcmcia/bfin_cf_pcmcia.c b/drivers/pcmcia/bfin_cf_pcmcia.c
index bba1dcb..8b0923f 100644
--- a/drivers/pcmcia/bfin_cf_pcmcia.c
+++ b/drivers/pcmcia/bfin_cf_pcmcia.c
@@ -36,10 +36,10 @@
 #include <linux/interrupt.h>
 #include <linux/irq.h>
 #include <linux/io.h>
+#include <linux/gpio.h>
 
 #include <pcmcia/ss.h>
 #include <pcmcia/cisreg.h>
-#include <asm/gpio.h>
 
 #define	SZ_1K	0x00000400
 #define	SZ_8K	0x00002000
diff --git a/drivers/pcmcia/pxa2xx_vpac270.c b/drivers/pcmcia/pxa2xx_vpac270.c
index a47dcd2..33c5b88 100644
--- a/drivers/pcmcia/pxa2xx_vpac270.c
+++ b/drivers/pcmcia/pxa2xx_vpac270.c
@@ -17,7 +17,6 @@
 
 #include <asm/mach-types.h>
 
-#include <asm/gpio.h>
 #include <mach/vpac270.h>
 
 #include "soc_common.h"
diff --git a/drivers/usb/gadget/udc/atmel_usba_udc.c b/drivers/usb/gadget/udc/atmel_usba_udc.c
index 8755b2c..dbde114 100644
--- a/drivers/usb/gadget/udc/atmel_usba_udc.c
+++ b/drivers/usb/gadget/udc/atmel_usba_udc.c
@@ -25,8 +25,6 @@
 #include <linux/of.h>
 #include <linux/of_gpio.h>
 
-#include <asm/gpio.h>
-
 #include "atmel_usba_udc.h"
 
 #ifdef CONFIG_USB_GADGET_DEBUG_FS
diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
index 8c6e15b..95c8ddd 100644
--- a/drivers/usb/host/ohci-at91.c
+++ b/drivers/usb/host/ohci-at91.c
@@ -24,8 +24,6 @@
 #include <linux/usb.h>
 #include <linux/usb/hcd.h>
 
-#include <asm/gpio.h>
-
 #include "ohci.h"
 
 #define valid_port(index)	((index) >= 0 && (index) < AT91_MAX_USBH_PORTS)
diff --git a/drivers/video/fbdev/atmel_lcdfb.c b/drivers/video/fbdev/atmel_lcdfb.c
index 19eb42b..e13b9e4 100644
--- a/drivers/video/fbdev/atmel_lcdfb.c
+++ b/drivers/video/fbdev/atmel_lcdfb.c
@@ -26,8 +26,6 @@
 #include <linux/regulator/consumer.h>
 #include <video/videomode.h>
 
-#include <asm/gpio.h>
-
 #include <video/atmel_lcdc.h>
 
 struct atmel_lcdfb_config {
diff --git a/drivers/video/fbdev/omap/lcd_h3.c b/drivers/video/fbdev/omap/lcd_h3.c
index a0729d0..21512b0 100644
--- a/drivers/video/fbdev/omap/lcd_h3.c
+++ b/drivers/video/fbdev/omap/lcd_h3.c
@@ -22,8 +22,8 @@
 #include <linux/module.h>
 #include <linux/platform_device.h>
 #include <linux/i2c/tps65010.h>
+#include <linux/gpio.h>
 
-#include <asm/gpio.h>
 #include "omapfb.h"
 
 #define MODULE_NAME	"omapfb-lcd_h3"
diff --git a/drivers/video/fbdev/omap/lcd_osk.c b/drivers/video/fbdev/omap/lcd_osk.c
index c3ddebf..b56886c 100644
--- a/drivers/video/fbdev/omap/lcd_osk.c
+++ b/drivers/video/fbdev/omap/lcd_osk.c
@@ -22,8 +22,7 @@
 
 #include <linux/module.h>
 #include <linux/platform_device.h>
-
-#include <asm/gpio.h>
+#include <linux/gpio.h>
 
 #include <mach/hardware.h>
 #include <mach/mux.h>
diff --git a/drivers/video/fbdev/omap/lcd_palmtt.c b/drivers/video/fbdev/omap/lcd_palmtt.c
index 3d0ea04..1a936d5 100644
--- a/drivers/video/fbdev/omap/lcd_palmtt.c
+++ b/drivers/video/fbdev/omap/lcd_palmtt.c
@@ -28,8 +28,8 @@ GPIO13 - screen blanking
 #include <linux/platform_device.h>
 #include <linux/module.h>
 #include <linux/io.h>
+#include <linux/gpio.h>
 
-#include <asm/gpio.h>
 #include "omapfb.h"
 
 static int palmtt_panel_init(struct lcd_panel *panel,

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

* [PATCH 2/2] gpio: Remove unused asm/gpio.h files
  2016-02-02 19:53 [PATCH 0/2] GPIO: Clean up asm/gpio.h Bjorn Helgaas
  2016-02-02 19:53 ` [PATCH 1/2] gpio: Include linux/gpio.h instead of asm/gpio.h Bjorn Helgaas
@ 2016-02-02 19:53 ` Bjorn Helgaas
  2016-02-02 19:53   ` Bjorn Helgaas
  2016-02-03  0:03   ` Alexandre Courbot
  2016-02-03  8:19 ` [PATCH 0/2] GPIO: Clean up asm/gpio.h Thomas Gleixner
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 15+ messages in thread
From: Bjorn Helgaas @ 2016-02-02 19:53 UTC (permalink / raw)
  To: Alexandre Courbot, Linus Walleij
  Cc: linux-arch, linux-gpio, Mark Brown, linux-kernel

asm/gpio.h is included only by linux/gpio.h, and then only when the arch
selects ARCH_HAVE_CUSTOM_GPIO_H.  Only the following arches select it: arm
avr32 blackfin m68k (COLDFIRE only) sh unicore32.

Remove the unused asm/gpio.h files for the arches that do not select
ARCH_HAVE_CUSTOM_GPIO_H.

This is a follow-on to 7563bbf89d06 ("gpiolib/arches: Centralise
bolierplate asm/gpio.h").

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
---
 arch/alpha/include/asm/gpio.h      |    4 ----
 arch/ia64/include/asm/gpio.h       |    4 ----
 arch/metag/include/asm/gpio.h      |    4 ----
 arch/microblaze/include/asm/gpio.h |    4 ----
 arch/openrisc/include/asm/gpio.h   |    4 ----
 arch/powerpc/include/asm/gpio.h    |    4 ----
 arch/sparc/include/asm/gpio.h      |    4 ----
 arch/x86/include/asm/gpio.h        |    4 ----
 arch/xtensa/include/asm/gpio.h     |    4 ----
 9 files changed, 36 deletions(-)
 delete mode 100644 arch/alpha/include/asm/gpio.h
 delete mode 100644 arch/ia64/include/asm/gpio.h
 delete mode 100644 arch/metag/include/asm/gpio.h
 delete mode 100644 arch/microblaze/include/asm/gpio.h
 delete mode 100644 arch/openrisc/include/asm/gpio.h
 delete mode 100644 arch/powerpc/include/asm/gpio.h
 delete mode 100644 arch/sparc/include/asm/gpio.h
 delete mode 100644 arch/x86/include/asm/gpio.h
 delete mode 100644 arch/xtensa/include/asm/gpio.h

diff --git a/arch/alpha/include/asm/gpio.h b/arch/alpha/include/asm/gpio.h
deleted file mode 100644
index b3799d8..0000000
--- a/arch/alpha/include/asm/gpio.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef __LINUX_GPIO_H
-#warning Include linux/gpio.h instead of asm/gpio.h
-#include <linux/gpio.h>
-#endif
diff --git a/arch/ia64/include/asm/gpio.h b/arch/ia64/include/asm/gpio.h
deleted file mode 100644
index b3799d8..0000000
--- a/arch/ia64/include/asm/gpio.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef __LINUX_GPIO_H
-#warning Include linux/gpio.h instead of asm/gpio.h
-#include <linux/gpio.h>
-#endif
diff --git a/arch/metag/include/asm/gpio.h b/arch/metag/include/asm/gpio.h
deleted file mode 100644
index b3799d8..0000000
--- a/arch/metag/include/asm/gpio.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef __LINUX_GPIO_H
-#warning Include linux/gpio.h instead of asm/gpio.h
-#include <linux/gpio.h>
-#endif
diff --git a/arch/microblaze/include/asm/gpio.h b/arch/microblaze/include/asm/gpio.h
deleted file mode 100644
index b3799d8..0000000
--- a/arch/microblaze/include/asm/gpio.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef __LINUX_GPIO_H
-#warning Include linux/gpio.h instead of asm/gpio.h
-#include <linux/gpio.h>
-#endif
diff --git a/arch/openrisc/include/asm/gpio.h b/arch/openrisc/include/asm/gpio.h
deleted file mode 100644
index b3799d8..0000000
--- a/arch/openrisc/include/asm/gpio.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef __LINUX_GPIO_H
-#warning Include linux/gpio.h instead of asm/gpio.h
-#include <linux/gpio.h>
-#endif
diff --git a/arch/powerpc/include/asm/gpio.h b/arch/powerpc/include/asm/gpio.h
deleted file mode 100644
index b3799d8..0000000
--- a/arch/powerpc/include/asm/gpio.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef __LINUX_GPIO_H
-#warning Include linux/gpio.h instead of asm/gpio.h
-#include <linux/gpio.h>
-#endif
diff --git a/arch/sparc/include/asm/gpio.h b/arch/sparc/include/asm/gpio.h
deleted file mode 100644
index b3799d8..0000000
--- a/arch/sparc/include/asm/gpio.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef __LINUX_GPIO_H
-#warning Include linux/gpio.h instead of asm/gpio.h
-#include <linux/gpio.h>
-#endif
diff --git a/arch/x86/include/asm/gpio.h b/arch/x86/include/asm/gpio.h
deleted file mode 100644
index b3799d8..0000000
--- a/arch/x86/include/asm/gpio.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef __LINUX_GPIO_H
-#warning Include linux/gpio.h instead of asm/gpio.h
-#include <linux/gpio.h>
-#endif
diff --git a/arch/xtensa/include/asm/gpio.h b/arch/xtensa/include/asm/gpio.h
deleted file mode 100644
index b3799d8..0000000
--- a/arch/xtensa/include/asm/gpio.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef __LINUX_GPIO_H
-#warning Include linux/gpio.h instead of asm/gpio.h
-#include <linux/gpio.h>
-#endif

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

* [PATCH 2/2] gpio: Remove unused asm/gpio.h files
  2016-02-02 19:53 ` [PATCH 2/2] gpio: Remove unused asm/gpio.h files Bjorn Helgaas
@ 2016-02-02 19:53   ` Bjorn Helgaas
  2016-02-03  0:03   ` Alexandre Courbot
  1 sibling, 0 replies; 15+ messages in thread
From: Bjorn Helgaas @ 2016-02-02 19:53 UTC (permalink / raw)
  To: Alexandre Courbot, Linus Walleij
  Cc: linux-arch, linux-gpio, Mark Brown, linux-kernel

asm/gpio.h is included only by linux/gpio.h, and then only when the arch
selects ARCH_HAVE_CUSTOM_GPIO_H.  Only the following arches select it: arm
avr32 blackfin m68k (COLDFIRE only) sh unicore32.

Remove the unused asm/gpio.h files for the arches that do not select
ARCH_HAVE_CUSTOM_GPIO_H.

This is a follow-on to 7563bbf89d06 ("gpiolib/arches: Centralise
bolierplate asm/gpio.h").

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
---
 arch/alpha/include/asm/gpio.h      |    4 ----
 arch/ia64/include/asm/gpio.h       |    4 ----
 arch/metag/include/asm/gpio.h      |    4 ----
 arch/microblaze/include/asm/gpio.h |    4 ----
 arch/openrisc/include/asm/gpio.h   |    4 ----
 arch/powerpc/include/asm/gpio.h    |    4 ----
 arch/sparc/include/asm/gpio.h      |    4 ----
 arch/x86/include/asm/gpio.h        |    4 ----
 arch/xtensa/include/asm/gpio.h     |    4 ----
 9 files changed, 36 deletions(-)
 delete mode 100644 arch/alpha/include/asm/gpio.h
 delete mode 100644 arch/ia64/include/asm/gpio.h
 delete mode 100644 arch/metag/include/asm/gpio.h
 delete mode 100644 arch/microblaze/include/asm/gpio.h
 delete mode 100644 arch/openrisc/include/asm/gpio.h
 delete mode 100644 arch/powerpc/include/asm/gpio.h
 delete mode 100644 arch/sparc/include/asm/gpio.h
 delete mode 100644 arch/x86/include/asm/gpio.h
 delete mode 100644 arch/xtensa/include/asm/gpio.h

diff --git a/arch/alpha/include/asm/gpio.h b/arch/alpha/include/asm/gpio.h
deleted file mode 100644
index b3799d8..0000000
--- a/arch/alpha/include/asm/gpio.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef __LINUX_GPIO_H
-#warning Include linux/gpio.h instead of asm/gpio.h
-#include <linux/gpio.h>
-#endif
diff --git a/arch/ia64/include/asm/gpio.h b/arch/ia64/include/asm/gpio.h
deleted file mode 100644
index b3799d8..0000000
--- a/arch/ia64/include/asm/gpio.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef __LINUX_GPIO_H
-#warning Include linux/gpio.h instead of asm/gpio.h
-#include <linux/gpio.h>
-#endif
diff --git a/arch/metag/include/asm/gpio.h b/arch/metag/include/asm/gpio.h
deleted file mode 100644
index b3799d8..0000000
--- a/arch/metag/include/asm/gpio.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef __LINUX_GPIO_H
-#warning Include linux/gpio.h instead of asm/gpio.h
-#include <linux/gpio.h>
-#endif
diff --git a/arch/microblaze/include/asm/gpio.h b/arch/microblaze/include/asm/gpio.h
deleted file mode 100644
index b3799d8..0000000
--- a/arch/microblaze/include/asm/gpio.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef __LINUX_GPIO_H
-#warning Include linux/gpio.h instead of asm/gpio.h
-#include <linux/gpio.h>
-#endif
diff --git a/arch/openrisc/include/asm/gpio.h b/arch/openrisc/include/asm/gpio.h
deleted file mode 100644
index b3799d8..0000000
--- a/arch/openrisc/include/asm/gpio.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef __LINUX_GPIO_H
-#warning Include linux/gpio.h instead of asm/gpio.h
-#include <linux/gpio.h>
-#endif
diff --git a/arch/powerpc/include/asm/gpio.h b/arch/powerpc/include/asm/gpio.h
deleted file mode 100644
index b3799d8..0000000
--- a/arch/powerpc/include/asm/gpio.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef __LINUX_GPIO_H
-#warning Include linux/gpio.h instead of asm/gpio.h
-#include <linux/gpio.h>
-#endif
diff --git a/arch/sparc/include/asm/gpio.h b/arch/sparc/include/asm/gpio.h
deleted file mode 100644
index b3799d8..0000000
--- a/arch/sparc/include/asm/gpio.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef __LINUX_GPIO_H
-#warning Include linux/gpio.h instead of asm/gpio.h
-#include <linux/gpio.h>
-#endif
diff --git a/arch/x86/include/asm/gpio.h b/arch/x86/include/asm/gpio.h
deleted file mode 100644
index b3799d8..0000000
--- a/arch/x86/include/asm/gpio.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef __LINUX_GPIO_H
-#warning Include linux/gpio.h instead of asm/gpio.h
-#include <linux/gpio.h>
-#endif
diff --git a/arch/xtensa/include/asm/gpio.h b/arch/xtensa/include/asm/gpio.h
deleted file mode 100644
index b3799d8..0000000
--- a/arch/xtensa/include/asm/gpio.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef __LINUX_GPIO_H
-#warning Include linux/gpio.h instead of asm/gpio.h
-#include <linux/gpio.h>
-#endif


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

* Re: [PATCH 1/2] gpio: Include linux/gpio.h instead of asm/gpio.h
  2016-02-02 19:53 ` [PATCH 1/2] gpio: Include linux/gpio.h instead of asm/gpio.h Bjorn Helgaas
@ 2016-02-03  0:02   ` Alexandre Courbot
  2016-02-15 13:35   ` Linus Walleij
  1 sibling, 0 replies; 15+ messages in thread
From: Alexandre Courbot @ 2016-02-03  0:02 UTC (permalink / raw)
  To: Bjorn Helgaas
  Cc: Linus Walleij, linux-arch, linux-gpio@vger.kernel.org, Mark Brown,
	Linux Kernel Mailing List

On Wed, Feb 3, 2016 at 4:53 AM, Bjorn Helgaas <bhelgaas@google.com> wrote:
> Most arches have an asm/gpio.h that merely includes linux/gpio.h.  The
> others select ARCH_HAVE_CUSTOM_GPIO_H, and when that's selected,
> linux/gpio.h includes asm/gpio.h.

Looks correct if that's really what happens, GPIO includes can be tricky...

>  arch/avr32/boards/merisc/setup.c                |    1 -
>  arch/avr32/mach-at32ap/pio.c                    |    2 +-
>  arch/blackfin/kernel/debug-mmrs.c               |    2 +-
>  arch/blackfin/mach-bf538/boards/ezkit.c         |    2 +-
>  arch/blackfin/mach-bf538/ext-gpio.c             |    2 +-
>  arch/blackfin/mach-bf548/boards/cm_bf548.c      |    2 +-
>  arch/blackfin/mach-bf548/boards/ezkit.c         |    2 +-
>  arch/blackfin/mach-bf609/boards/ezkit.c         |    2 +-
>  arch/blackfin/mach-common/ints-priority.c       |    2 +-
>  arch/blackfin/mach-common/pm.c                  |    2 +-
>  arch/sh/include/mach-common/mach/magicpanelr2.h |    2 +-
>  drivers/ata/pata_at91.c                         |    3 +--
>  drivers/ata/pata_bf54x.c                        |    2 +-
>  drivers/gpio/gpio-mpc5200.c                     |    1 -
>  drivers/mfd/menelaus.c                          |    2 +-
>  drivers/mtd/onenand/omap2.c                     |    2 +-
>  drivers/pcmcia/bfin_cf_pcmcia.c                 |    2 +-
>  drivers/pcmcia/pxa2xx_vpac270.c                 |    1 -
>  drivers/usb/gadget/udc/atmel_usba_udc.c         |    2 --
>  drivers/usb/host/ohci-at91.c                    |    2 --
>  drivers/video/fbdev/atmel_lcdfb.c               |    2 --
>  drivers/video/fbdev/omap/lcd_h3.c               |    2 +-
>  drivers/video/fbdev/omap/lcd_osk.c              |    3 +--
>  drivers/video/fbdev/omap/lcd_palmtt.c           |    2 +-

Driver code should most definitely never include asm/gpio.h directly.

I may be overlooking some intricate detail, but the simplification is welcome.

Acked-by: Alexandre Courbot <acourbot@nvidia.com>

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

* Re: [PATCH 2/2] gpio: Remove unused asm/gpio.h files
  2016-02-02 19:53 ` [PATCH 2/2] gpio: Remove unused asm/gpio.h files Bjorn Helgaas
  2016-02-02 19:53   ` Bjorn Helgaas
@ 2016-02-03  0:03   ` Alexandre Courbot
  1 sibling, 0 replies; 15+ messages in thread
From: Alexandre Courbot @ 2016-02-03  0:03 UTC (permalink / raw)
  To: Bjorn Helgaas
  Cc: Linus Walleij, linux-arch, linux-gpio@vger.kernel.org, Mark Brown,
	Linux Kernel Mailing List

On Wed, Feb 3, 2016 at 4:53 AM, Bjorn Helgaas <bhelgaas@google.com> wrote:
> asm/gpio.h is included only by linux/gpio.h, and then only when the arch
> selects ARCH_HAVE_CUSTOM_GPIO_H.  Only the following arches select it: arm
> avr32 blackfin m68k (COLDFIRE only) sh unicore32.
>
> Remove the unused asm/gpio.h files for the arches that do not select
> ARCH_HAVE_CUSTOM_GPIO_H.
>
> This is a follow-on to 7563bbf89d06 ("gpiolib/arches: Centralise
> bolierplate asm/gpio.h").

Very nice.

Acked-by: Alexandre Courbot <acourbot@nvidia.com>

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

* Re: [PATCH 0/2] GPIO: Clean up asm/gpio.h
  2016-02-02 19:53 [PATCH 0/2] GPIO: Clean up asm/gpio.h Bjorn Helgaas
  2016-02-02 19:53 ` [PATCH 1/2] gpio: Include linux/gpio.h instead of asm/gpio.h Bjorn Helgaas
  2016-02-02 19:53 ` [PATCH 2/2] gpio: Remove unused asm/gpio.h files Bjorn Helgaas
@ 2016-02-03  8:19 ` Thomas Gleixner
  2016-02-03  8:19   ` Thomas Gleixner
  2016-02-05 13:43 ` Linus Walleij
       [not found] ` <1455551208-2825510-1-git-send-email-arnd@arndb.de>
  4 siblings, 1 reply; 15+ messages in thread
From: Thomas Gleixner @ 2016-02-03  8:19 UTC (permalink / raw)
  To: Bjorn Helgaas
  Cc: Alexandre Courbot, Linus Walleij, linux-arch, linux-gpio,
	Mark Brown, linux-kernel

On Tue, 2 Feb 2016, Bjorn Helgaas wrote:

> Many arches supply an asm/gpio.h that contains only this:
> 
>   #warning Include linux/gpio.h instead of asm/gpio.h
>   #include <linux/gpio.h>
> 
> These two patches change all the places that include asm/gpio.h
> so they include linux/gpio.h instead, and then remove the asm/gpio.h
> files.
> 
> There are several arches that supply asm/gpio.h with useful
> arch-specific content; I didn't touch those.

Acked-by: Thomas Gleixner <tglx@linutronix.de>

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

* Re: [PATCH 0/2] GPIO: Clean up asm/gpio.h
  2016-02-03  8:19 ` [PATCH 0/2] GPIO: Clean up asm/gpio.h Thomas Gleixner
@ 2016-02-03  8:19   ` Thomas Gleixner
  0 siblings, 0 replies; 15+ messages in thread
From: Thomas Gleixner @ 2016-02-03  8:19 UTC (permalink / raw)
  To: Bjorn Helgaas
  Cc: Alexandre Courbot, Linus Walleij, linux-arch, linux-gpio,
	Mark Brown, linux-kernel

On Tue, 2 Feb 2016, Bjorn Helgaas wrote:

> Many arches supply an asm/gpio.h that contains only this:
> 
>   #warning Include linux/gpio.h instead of asm/gpio.h
>   #include <linux/gpio.h>
> 
> These two patches change all the places that include asm/gpio.h
> so they include linux/gpio.h instead, and then remove the asm/gpio.h
> files.
> 
> There are several arches that supply asm/gpio.h with useful
> arch-specific content; I didn't touch those.

Acked-by: Thomas Gleixner <tglx@linutronix.de>

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

* Re: [PATCH 0/2] GPIO: Clean up asm/gpio.h
  2016-02-02 19:53 [PATCH 0/2] GPIO: Clean up asm/gpio.h Bjorn Helgaas
                   ` (2 preceding siblings ...)
  2016-02-03  8:19 ` [PATCH 0/2] GPIO: Clean up asm/gpio.h Thomas Gleixner
@ 2016-02-05 13:43 ` Linus Walleij
  2016-02-05 13:43   ` Linus Walleij
       [not found] ` <1455551208-2825510-1-git-send-email-arnd@arndb.de>
  4 siblings, 1 reply; 15+ messages in thread
From: Linus Walleij @ 2016-02-05 13:43 UTC (permalink / raw)
  To: Bjorn Helgaas, Arnd Bergmann
  Cc: Alexandre Courbot, linux-arch@vger.kernel.org,
	linux-gpio@vger.kernel.org, Mark Brown,
	linux-kernel@vger.kernel.org

On Tue, Feb 2, 2016 at 8:53 PM, Bjorn Helgaas <bhelgaas@google.com> wrote:

> Many arches supply an asm/gpio.h that contains only this:
>
>   #warning Include linux/gpio.h instead of asm/gpio.h
>   #include <linux/gpio.h>
>
> These two patches change all the places that include asm/gpio.h
> so they include linux/gpio.h instead, and then remove the asm/gpio.h
> files.
>
> There are several arches that supply asm/gpio.h with useful
> arch-specific content; I didn't touch those.
>
> I assume Mark was heading this direction with 7563bbf89d06
> ("gpiolib/arches: Centralise bolierplate asm/gpio.h").

Sweet, if I can get the arch maintainers ACK on this I can
merge it into the GPIO tree, Arnd?

Yours,
Linus Walleij

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

* Re: [PATCH 0/2] GPIO: Clean up asm/gpio.h
  2016-02-05 13:43 ` Linus Walleij
@ 2016-02-05 13:43   ` Linus Walleij
  0 siblings, 0 replies; 15+ messages in thread
From: Linus Walleij @ 2016-02-05 13:43 UTC (permalink / raw)
  To: Bjorn Helgaas, Arnd Bergmann
  Cc: Alexandre Courbot, linux-arch@vger.kernel.org,
	linux-gpio@vger.kernel.org, Mark Brown,
	linux-kernel@vger.kernel.org

On Tue, Feb 2, 2016 at 8:53 PM, Bjorn Helgaas <bhelgaas@google.com> wrote:

> Many arches supply an asm/gpio.h that contains only this:
>
>   #warning Include linux/gpio.h instead of asm/gpio.h
>   #include <linux/gpio.h>
>
> These two patches change all the places that include asm/gpio.h
> so they include linux/gpio.h instead, and then remove the asm/gpio.h
> files.
>
> There are several arches that supply asm/gpio.h with useful
> arch-specific content; I didn't touch those.
>
> I assume Mark was heading this direction with 7563bbf89d06
> ("gpiolib/arches: Centralise bolierplate asm/gpio.h").

Sweet, if I can get the arch maintainers ACK on this I can
merge it into the GPIO tree, Arnd?

Yours,
Linus Walleij

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

* Re: [PATCH 1/2] gpio: Include linux/gpio.h instead of asm/gpio.h
  2016-02-02 19:53 ` [PATCH 1/2] gpio: Include linux/gpio.h instead of asm/gpio.h Bjorn Helgaas
  2016-02-03  0:02   ` Alexandre Courbot
@ 2016-02-15 13:35   ` Linus Walleij
  2016-02-15 13:35     ` Linus Walleij
  1 sibling, 1 reply; 15+ messages in thread
From: Linus Walleij @ 2016-02-15 13:35 UTC (permalink / raw)
  To: Bjorn Helgaas
  Cc: Alexandre Courbot, linux-arch@vger.kernel.org,
	linux-gpio@vger.kernel.org, Mark Brown,
	linux-kernel@vger.kernel.org

On Tue, Feb 2, 2016 at 8:53 PM, Bjorn Helgaas <bhelgaas@google.com> wrote:

> Most arches have an asm/gpio.h that merely includes linux/gpio.h.  The
> others select ARCH_HAVE_CUSTOM_GPIO_H, and when that's selected,
> linux/gpio.h includes asm/gpio.h.
>
> Therefore, code should include linux/gpio.h instead of including asm/gpio.h
> directly.
>
> Remove includes of asm/gpio.h, adding an include of linux/gpio.h when
> necessary.
>
> This is a follow-on to 7563bbf89d06 ("gpiolib/arches: Centralise
> bolierplate asm/gpio.h").
>
> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

Patch applied after getting Arnds ACK over IRC.

Yours,
Linus Walleij

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

* Re: [PATCH 1/2] gpio: Include linux/gpio.h instead of asm/gpio.h
  2016-02-15 13:35   ` Linus Walleij
@ 2016-02-15 13:35     ` Linus Walleij
  0 siblings, 0 replies; 15+ messages in thread
From: Linus Walleij @ 2016-02-15 13:35 UTC (permalink / raw)
  To: Bjorn Helgaas
  Cc: Alexandre Courbot, linux-arch@vger.kernel.org,
	linux-gpio@vger.kernel.org, Mark Brown,
	linux-kernel@vger.kernel.org

On Tue, Feb 2, 2016 at 8:53 PM, Bjorn Helgaas <bhelgaas@google.com> wrote:

> Most arches have an asm/gpio.h that merely includes linux/gpio.h.  The
> others select ARCH_HAVE_CUSTOM_GPIO_H, and when that's selected,
> linux/gpio.h includes asm/gpio.h.
>
> Therefore, code should include linux/gpio.h instead of including asm/gpio.h
> directly.
>
> Remove includes of asm/gpio.h, adding an include of linux/gpio.h when
> necessary.
>
> This is a follow-on to 7563bbf89d06 ("gpiolib/arches: Centralise
> bolierplate asm/gpio.h").
>
> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

Patch applied after getting Arnds ACK over IRC.

Yours,
Linus Walleij

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

* [PATCH 4/4] ARM: remove asm/gpio.h
       [not found] ` <1455551208-2825510-1-git-send-email-arnd@arndb.de>
@ 2016-02-15 15:46   ` Arnd Bergmann
  2016-02-15 15:46     ` Arnd Bergmann
  2016-02-15 16:03     ` Russell King - ARM Linux
  0 siblings, 2 replies; 15+ messages in thread
From: Arnd Bergmann @ 2016-02-15 15:46 UTC (permalink / raw)
  To: Linus Walleij, Russell King
  Cc: linux-arm-kernel, Arnd Bergmann, Russell King, Bjorn Helgaas,
	Alexandre Courbot, linux-gpio, linux-kernel, linux-arch

The ARM version of asm/gpio.h basically just contains the same definitions
as the gpiolib version, with the exception of ARCH_NR_GPIOS.

This adds the option for overriding the constant through Kconfig to
the architecture-independent header, and removes the ARM version at
the same time.

This patch depends on a series done by Bjorn Helgaas, and the patch
removing irq_to_gpio().

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/arm/Kconfig            |  1 -
 arch/arm/include/asm/gpio.h | 25 -------------------------
 include/asm-generic/gpio.h  |  4 ++++
 3 files changed, 4 insertions(+), 26 deletions(-)
 delete mode 100644 arch/arm/include/asm/gpio.h

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 0366ad63e2ed..27aefbe43eea 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -5,7 +5,6 @@ config ARM
 	select ARCH_HAS_DEVMEM_IS_ALLOWED
 	select ARCH_HAS_ELF_RANDOMIZE
 	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
-	select ARCH_HAVE_CUSTOM_GPIO_H
 	select ARCH_HAS_GCOV_PROFILE_ALL
 	select ARCH_MIGHT_HAVE_PC_PARPORT
 	select ARCH_SUPPORTS_ATOMIC_RMW
diff --git a/arch/arm/include/asm/gpio.h b/arch/arm/include/asm/gpio.h
deleted file mode 100644
index 504dcddebfcc..000000000000
--- a/arch/arm/include/asm/gpio.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef _ARCH_ARM_GPIO_H
-#define _ARCH_ARM_GPIO_H
-
-#if CONFIG_ARCH_NR_GPIO > 0
-#define ARCH_NR_GPIOS CONFIG_ARCH_NR_GPIO
-#endif
-
-/* Note: this may rely upon the value of ARCH_NR_GPIOS set in mach/gpio.h */
-#include <asm-generic/gpio.h>
-
-/* The trivial gpiolib dispatchers */
-#define gpio_get_value  __gpio_get_value
-#define gpio_set_value  __gpio_set_value
-#define gpio_cansleep   __gpio_cansleep
-
-/*
- * Provide a default gpio_to_irq() which should satisfy every case.
- * However, some platforms want to do this differently, so allow them
- * to override it.
- */
-#ifndef gpio_to_irq
-#define gpio_to_irq	__gpio_to_irq
-#endif
-
-#endif /* _ARCH_ARM_GPIO_H */
diff --git a/include/asm-generic/gpio.h b/include/asm-generic/gpio.h
index 40ec1433f05d..2d04b321db13 100644
--- a/include/asm-generic/gpio.h
+++ b/include/asm-generic/gpio.h
@@ -26,8 +26,12 @@
  */
 
 #ifndef ARCH_NR_GPIOS
+#ifdef CONFIG_ARCH_NR_GPIO
+#define ARCH_NR_GPIOS CONFIG_ARCH_NR_GPIO
+#else
 #define ARCH_NR_GPIOS		512
 #endif
+#endif
 
 /*
  * "valid" GPIO numbers are nonnegative and may be passed to
-- 
2.7.0

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

* [PATCH 4/4] ARM: remove asm/gpio.h
  2016-02-15 15:46   ` [PATCH 4/4] ARM: remove asm/gpio.h Arnd Bergmann
@ 2016-02-15 15:46     ` Arnd Bergmann
  2016-02-15 16:03     ` Russell King - ARM Linux
  1 sibling, 0 replies; 15+ messages in thread
From: Arnd Bergmann @ 2016-02-15 15:46 UTC (permalink / raw)
  To: Linus Walleij, Russell King
  Cc: linux-arm-kernel, Arnd Bergmann, Russell King, Bjorn Helgaas,
	Alexandre Courbot, linux-gpio, linux-kernel, linux-arch

The ARM version of asm/gpio.h basically just contains the same definitions
as the gpiolib version, with the exception of ARCH_NR_GPIOS.

This adds the option for overriding the constant through Kconfig to
the architecture-independent header, and removes the ARM version at
the same time.

This patch depends on a series done by Bjorn Helgaas, and the patch
removing irq_to_gpio().

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/arm/Kconfig            |  1 -
 arch/arm/include/asm/gpio.h | 25 -------------------------
 include/asm-generic/gpio.h  |  4 ++++
 3 files changed, 4 insertions(+), 26 deletions(-)
 delete mode 100644 arch/arm/include/asm/gpio.h

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 0366ad63e2ed..27aefbe43eea 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -5,7 +5,6 @@ config ARM
 	select ARCH_HAS_DEVMEM_IS_ALLOWED
 	select ARCH_HAS_ELF_RANDOMIZE
 	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
-	select ARCH_HAVE_CUSTOM_GPIO_H
 	select ARCH_HAS_GCOV_PROFILE_ALL
 	select ARCH_MIGHT_HAVE_PC_PARPORT
 	select ARCH_SUPPORTS_ATOMIC_RMW
diff --git a/arch/arm/include/asm/gpio.h b/arch/arm/include/asm/gpio.h
deleted file mode 100644
index 504dcddebfcc..000000000000
--- a/arch/arm/include/asm/gpio.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef _ARCH_ARM_GPIO_H
-#define _ARCH_ARM_GPIO_H
-
-#if CONFIG_ARCH_NR_GPIO > 0
-#define ARCH_NR_GPIOS CONFIG_ARCH_NR_GPIO
-#endif
-
-/* Note: this may rely upon the value of ARCH_NR_GPIOS set in mach/gpio.h */
-#include <asm-generic/gpio.h>
-
-/* The trivial gpiolib dispatchers */
-#define gpio_get_value  __gpio_get_value
-#define gpio_set_value  __gpio_set_value
-#define gpio_cansleep   __gpio_cansleep
-
-/*
- * Provide a default gpio_to_irq() which should satisfy every case.
- * However, some platforms want to do this differently, so allow them
- * to override it.
- */
-#ifndef gpio_to_irq
-#define gpio_to_irq	__gpio_to_irq
-#endif
-
-#endif /* _ARCH_ARM_GPIO_H */
diff --git a/include/asm-generic/gpio.h b/include/asm-generic/gpio.h
index 40ec1433f05d..2d04b321db13 100644
--- a/include/asm-generic/gpio.h
+++ b/include/asm-generic/gpio.h
@@ -26,8 +26,12 @@
  */
 
 #ifndef ARCH_NR_GPIOS
+#ifdef CONFIG_ARCH_NR_GPIO
+#define ARCH_NR_GPIOS CONFIG_ARCH_NR_GPIO
+#else
 #define ARCH_NR_GPIOS		512
 #endif
+#endif
 
 /*
  * "valid" GPIO numbers are nonnegative and may be passed to
-- 
2.7.0


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

* Re: [PATCH 4/4] ARM: remove asm/gpio.h
  2016-02-15 15:46   ` [PATCH 4/4] ARM: remove asm/gpio.h Arnd Bergmann
  2016-02-15 15:46     ` Arnd Bergmann
@ 2016-02-15 16:03     ` Russell King - ARM Linux
  1 sibling, 0 replies; 15+ messages in thread
From: Russell King - ARM Linux @ 2016-02-15 16:03 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Linus Walleij, linux-arm-kernel, Bjorn Helgaas, Alexandre Courbot,
	linux-gpio, linux-kernel, linux-arch

On Mon, Feb 15, 2016 at 04:46:31PM +0100, Arnd Bergmann wrote:
> -#if CONFIG_ARCH_NR_GPIO > 0
> -#define ARCH_NR_GPIOS CONFIG_ARCH_NR_GPIO
> -#endif
...
> diff --git a/include/asm-generic/gpio.h b/include/asm-generic/gpio.h
> index 40ec1433f05d..2d04b321db13 100644
> --- a/include/asm-generic/gpio.h
> +++ b/include/asm-generic/gpio.h
> @@ -26,8 +26,12 @@
>   */
>  
>  #ifndef ARCH_NR_GPIOS
> +#ifdef CONFIG_ARCH_NR_GPIO
> +#define ARCH_NR_GPIOS CONFIG_ARCH_NR_GPIO
> +#else
>  #define ARCH_NR_GPIOS		512
>  #endif
> +#endif

This really isn't the same thing, especially when you look at:

config ARCH_NR_GPIO
        int
        default 1024 if ARCH_BRCMSTB || ARCH_SHMOBILE || ARCH_TEGRA || \
                ARCH_ZYNQ
        default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5 || \
                SOC_DRA7XX || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210
        default 416 if ARCH_SUNXI
        default 392 if ARCH_U8500
        default 352 if ARCH_VT8500
        default 288 if ARCH_ROCKCHIP
        default 264 if MACH_H4700
        default 0

This has the effect of causing anything not mentioned above to end up
with ARCH_NR_GPIOS set to zero.

You really should _not_ be making these kinds of functional changes
when moving code around.  Separate the two changes: either first move
the code, and have a separate patch to make the functional changes, or
make the functional changes first, and then move the code around.

I'd have thought you would've known this by now...

-- 
RMK's Patch system: http://www.arm.linux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.

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

end of thread, other threads:[~2016-02-15 16:03 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-02 19:53 [PATCH 0/2] GPIO: Clean up asm/gpio.h Bjorn Helgaas
2016-02-02 19:53 ` [PATCH 1/2] gpio: Include linux/gpio.h instead of asm/gpio.h Bjorn Helgaas
2016-02-03  0:02   ` Alexandre Courbot
2016-02-15 13:35   ` Linus Walleij
2016-02-15 13:35     ` Linus Walleij
2016-02-02 19:53 ` [PATCH 2/2] gpio: Remove unused asm/gpio.h files Bjorn Helgaas
2016-02-02 19:53   ` Bjorn Helgaas
2016-02-03  0:03   ` Alexandre Courbot
2016-02-03  8:19 ` [PATCH 0/2] GPIO: Clean up asm/gpio.h Thomas Gleixner
2016-02-03  8:19   ` Thomas Gleixner
2016-02-05 13:43 ` Linus Walleij
2016-02-05 13:43   ` Linus Walleij
     [not found] ` <1455551208-2825510-1-git-send-email-arnd@arndb.de>
2016-02-15 15:46   ` [PATCH 4/4] ARM: remove asm/gpio.h Arnd Bergmann
2016-02-15 15:46     ` Arnd Bergmann
2016-02-15 16:03     ` Russell King - ARM Linux

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).