Browse Source

Merge tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux

Pull removal of GENERIC_GPIO from Grant Likely:
 "GENERIC_GPIO now synonymous with GPIOLIB.  There are no longer any
  valid cases for enableing GENERIC_GPIO without GPIOLIB, even though it
  is possible to do so which has been causing confusion and breakage.
  This branch does the work to completely eliminate GENERIC_GPIO."

* tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux:
  gpio: update gpio Chinese documentation
  Remove GENERIC_GPIO config option
  Convert selectors of GENERIC_GPIO to GPIOLIB
  blackfin: force use of gpiolib
  m68k: coldfire: use gpiolib
  mips: pnx833x: remove requirement for GENERIC_GPIO
  openrisc: default GENERIC_GPIO to false
  avr32: default GENERIC_GPIO to false
  xtensa: remove explicit selection of GENERIC_GPIO
  sh: replace CONFIG_GENERIC_GPIO by CONFIG_GPIOLIB
  powerpc: remove redundant GENERIC_GPIO selection
  unicore32: default GENERIC_GPIO to false
  unicore32: remove unneeded select GENERIC_GPIO
  arm: plat-orion: use GPIO driver on CONFIG_GPIOLIB
  arm: remove redundant GENERIC_GPIO selection
  mips: alchemy: require gpiolib
  mips: txx9: change GENERIC_GPIO to GPIOLIB
  mips: loongson: use GPIO driver on CONFIG_GPIOLIB
  mips: remove redundant GENERIC_GPIO select
Linus Torvalds 12 years ago
parent
commit
5647ac0ad4
64 changed files with 76 additions and 155 deletions
  1. 5 5
      Documentation/gpio.txt
  2. 4 4
      Documentation/zh_CN/gpio.txt
  3. 0 3
      arch/alpha/Kconfig
  4. 0 3
      arch/arm/Kconfig
  5. 1 1
      arch/arm/plat-orion/Makefile
  6. 1 1
      arch/arm/plat-orion/gpio.c
  7. 0 3
      arch/arm64/Kconfig
  8. 0 3
      arch/avr32/Kconfig
  9. 1 4
      arch/blackfin/Kconfig
  10. 0 3
      arch/hexagon/Kconfig
  11. 0 3
      arch/ia64/Kconfig
  12. 0 3
      arch/m68k/Kconfig
  13. 1 2
      arch/m68k/Kconfig.cpu
  14. 0 3
      arch/metag/Kconfig
  15. 0 3
      arch/microblaze/Kconfig
  16. 1 9
      arch/mips/Kconfig
  17. 1 1
      arch/mips/loongson/common/Makefile
  18. 1 1
      arch/mips/txx9/generic/setup.c
  19. 0 3
      arch/openrisc/Kconfig
  20. 0 5
      arch/powerpc/Kconfig
  21. 0 1
      arch/powerpc/platforms/40x/Kconfig
  22. 0 1
      arch/powerpc/platforms/44x/Kconfig
  23. 1 2
      arch/powerpc/platforms/85xx/Kconfig
  24. 0 3
      arch/powerpc/platforms/86xx/Kconfig
  25. 0 1
      arch/powerpc/platforms/8xx/Kconfig
  26. 0 4
      arch/powerpc/platforms/Kconfig
  27. 0 3
      arch/sh/Kconfig
  28. 1 1
      arch/sh/boards/mach-sdk7786/Makefile
  29. 1 1
      arch/sh/boards/mach-x3proto/Makefile
  30. 1 1
      arch/sh/kernel/cpu/sh2a/Makefile
  31. 1 1
      arch/sh/kernel/cpu/sh3/Makefile
  32. 1 1
      arch/sh/kernel/cpu/sh4a/Makefile
  33. 0 5
      arch/sparc/Kconfig
  34. 1 5
      arch/unicore32/Kconfig
  35. 0 3
      arch/x86/Kconfig
  36. 0 3
      arch/xtensa/Kconfig
  37. 0 1
      arch/xtensa/configs/iss_defconfig
  38. 0 1
      arch/xtensa/configs/s6105_defconfig
  39. 1 1
      drivers/extcon/Kconfig
  40. 0 1
      drivers/gpio/Kconfig
  41. 1 1
      drivers/gpio/gpio-lpc32xx.c
  42. 2 2
      drivers/i2c/busses/Kconfig
  43. 2 2
      drivers/i2c/muxes/Kconfig
  44. 3 3
      drivers/input/keyboard/Kconfig
  45. 4 4
      drivers/input/misc/Kconfig
  46. 1 1
      drivers/input/mouse/Kconfig
  47. 3 3
      drivers/leds/Kconfig
  48. 1 1
      drivers/mtd/maps/Kconfig
  49. 1 1
      drivers/mtd/nand/Kconfig
  50. 1 1
      drivers/net/phy/Kconfig
  51. 13 13
      drivers/pinctrl/sh-pfc/Kconfig
  52. 1 1
      drivers/regulator/Kconfig
  53. 4 4
      drivers/spi/Kconfig
  54. 1 1
      drivers/staging/android/Kconfig
  55. 1 1
      drivers/staging/iio/accel/Kconfig
  56. 1 1
      drivers/staging/iio/adc/Kconfig
  57. 1 1
      drivers/staging/iio/addac/Kconfig
  58. 2 2
      drivers/staging/iio/resolver/Kconfig
  59. 1 1
      drivers/staging/iio/trigger/Kconfig
  60. 1 1
      drivers/usb/phy/Kconfig
  61. 1 1
      drivers/video/Kconfig
  62. 2 2
      drivers/video/backlight/Kconfig
  63. 1 1
      drivers/w1/masters/Kconfig
  64. 3 3
      include/linux/gpio.h

+ 5 - 5
Documentation/gpio.txt

@@ -72,11 +72,11 @@ in this document, but drivers acting as clients to the GPIO interface must
 not care how it's implemented.)
 not care how it's implemented.)
 
 
 That said, if the convention is supported on their platform, drivers should
 That said, if the convention is supported on their platform, drivers should
-use it when possible.  Platforms must declare GENERIC_GPIO support in their
-Kconfig (boolean true), and provide an <asm/gpio.h> file.  Drivers that can't
-work without standard GPIO calls should have Kconfig entries which depend
-on GENERIC_GPIO.  The GPIO calls are available, either as "real code" or as
-optimized-away stubs, when drivers use the include file:
+use it when possible.  Platforms must select ARCH_REQUIRE_GPIOLIB or
+ARCH_WANT_OPTIONAL_GPIOLIB in their Kconfig.  Drivers that can't work without
+standard GPIO calls should have Kconfig entries which depend on GPIOLIB.  The
+GPIO calls are available, either as "real code" or as optimized-away stubs,
+when drivers use the include file:
 
 
 	#include <linux/gpio.h>
 	#include <linux/gpio.h>
 
 

+ 4 - 4
Documentation/zh_CN/gpio.txt

@@ -84,10 +84,10 @@ GPIO 公约
 控制器的抽象函数来实现它。(有一些可选的代码能支持这种策略的实现,本文档
 控制器的抽象函数来实现它。(有一些可选的代码能支持这种策略的实现,本文档
 后面会介绍,但作为 GPIO 接口的客户端驱动程序必须与它的实现无关。)
 后面会介绍,但作为 GPIO 接口的客户端驱动程序必须与它的实现无关。)
 
 
-也就是说,如果在他们的平台上支持这个公约,驱动应尽可能的使用它。平台
-必须在 Kconfig 中声明对 GENERIC_GPIO的支持 (布尔型 true),并提供
-一个 <asm/gpio.h> 文件。那些调用标准 GPIO 函数的驱动应该在 Kconfig
-入口中声明依赖GENERIC_GPIO。当驱动包含文件:
+也就是说,如果在他们的平台上支持这个公约,驱动应尽可能的使用它。同时,平台
+必须在 Kconfig 中选择 ARCH_REQUIRE_GPIOLIB 或者 ARCH_WANT_OPTIONAL_GPIOLIB
+选项。那些调用标准 GPIO 函数的驱动应该在 Kconfig 入口中声明依赖GENERIC_GPIO。
+当驱动包含文件:
 
 
 	#include <linux/gpio.h>
 	#include <linux/gpio.h>
 
 

+ 0 - 3
arch/alpha/Kconfig

@@ -55,9 +55,6 @@ config GENERIC_CALIBRATE_DELAY
 	bool
 	bool
 	default y
 	default y
 
 
-config GENERIC_GPIO
-	bool
-
 config ZONE_DMA
 config ZONE_DMA
 	bool
 	bool
 	default y
 	default y

+ 0 - 3
arch/arm/Kconfig

@@ -109,9 +109,6 @@ config MIGHT_HAVE_PCI
 config SYS_SUPPORTS_APM_EMULATION
 config SYS_SUPPORTS_APM_EMULATION
 	bool
 	bool
 
 
-config GENERIC_GPIO
-	bool
-
 config HAVE_TCM
 config HAVE_TCM
 	bool
 	bool
 	select GENERIC_ALLOCATOR
 	select GENERIC_ALLOCATOR

+ 1 - 1
arch/arm/plat-orion/Makefile

@@ -3,6 +3,6 @@
 #
 #
 ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include
 ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include
 
 
-orion-gpio-$(CONFIG_GENERIC_GPIO) += gpio.o
+orion-gpio-$(CONFIG_GPIOLIB)      += gpio.o
 obj-$(CONFIG_PLAT_ORION_LEGACY)   += irq.o pcie.o time.o common.o mpp.o
 obj-$(CONFIG_PLAT_ORION_LEGACY)   += irq.o pcie.o time.o common.o mpp.o
 obj-$(CONFIG_PLAT_ORION_LEGACY)   += $(orion-gpio-y)
 obj-$(CONFIG_PLAT_ORION_LEGACY)   += $(orion-gpio-y)

+ 1 - 1
arch/arm/plat-orion/gpio.c

@@ -150,7 +150,7 @@ err_out:
 }
 }
 
 
 /*
 /*
- * GENERIC_GPIO primitives.
+ * GPIO primitives.
  */
  */
 static int orion_gpio_request(struct gpio_chip *chip, unsigned pin)
 static int orion_gpio_request(struct gpio_chip *chip, unsigned pin)
 {
 {

+ 0 - 3
arch/arm64/Kconfig

@@ -95,9 +95,6 @@ config SWIOTLB
 config IOMMU_HELPER
 config IOMMU_HELPER
 	def_bool SWIOTLB
 	def_bool SWIOTLB
 
 
-config GENERIC_GPIO
-	bool
-
 source "init/Kconfig"
 source "init/Kconfig"
 
 
 source "kernel/Kconfig.freezer"
 source "kernel/Kconfig.freezer"

+ 0 - 3
arch/avr32/Kconfig

@@ -26,9 +26,6 @@ config AVR32
 	  There is an AVR32 Linux project with a web page at
 	  There is an AVR32 Linux project with a web page at
 	  http://avr32linux.org/.
 	  http://avr32linux.org/.
 
 
-config GENERIC_GPIO
-	def_bool y
-
 config STACKTRACE_SUPPORT
 config STACKTRACE_SUPPORT
 	def_bool y
 	def_bool y
 
 

+ 1 - 4
arch/blackfin/Kconfig

@@ -27,7 +27,7 @@ config BLACKFIN
 	select HAVE_OPROFILE
 	select HAVE_OPROFILE
 	select HAVE_PERF_EVENTS
 	select HAVE_PERF_EVENTS
 	select ARCH_HAVE_CUSTOM_GPIO_H
 	select ARCH_HAVE_CUSTOM_GPIO_H
-	select ARCH_WANT_OPTIONAL_GPIOLIB
+	select ARCH_REQUIRE_GPIOLIB
 	select HAVE_UID16
 	select HAVE_UID16
 	select HAVE_UNDERSCORE_SYMBOL_PREFIX
 	select HAVE_UNDERSCORE_SYMBOL_PREFIX
 	select VIRT_TO_BUS
 	select VIRT_TO_BUS
@@ -52,9 +52,6 @@ config GENERIC_BUG
 config ZONE_DMA
 config ZONE_DMA
 	def_bool y
 	def_bool y
 
 
-config GENERIC_GPIO
-	def_bool y
-
 config FORCE_MAX_ZONEORDER
 config FORCE_MAX_ZONEORDER
 	int
 	int
 	default "14"
 	default "14"

+ 0 - 3
arch/hexagon/Kconfig

@@ -155,9 +155,6 @@ source "mm/Kconfig"
 
 
 source "kernel/Kconfig.hz"
 source "kernel/Kconfig.hz"
 
 
-config GENERIC_GPIO
-	def_bool n
-
 endmenu
 endmenu
 
 
 source "init/Kconfig"
 source "init/Kconfig"

+ 0 - 3
arch/ia64/Kconfig

@@ -101,9 +101,6 @@ config GENERIC_CALIBRATE_DELAY
 config HAVE_SETUP_PER_CPU_AREA
 config HAVE_SETUP_PER_CPU_AREA
 	def_bool y
 	def_bool y
 
 
-config GENERIC_GPIO
-	bool
-
 config DMI
 config DMI
 	bool
 	bool
 	default y
 	default y

+ 0 - 3
arch/m68k/Kconfig

@@ -35,9 +35,6 @@ config ARCH_HAS_ILOG2_U32
 config ARCH_HAS_ILOG2_U64
 config ARCH_HAS_ILOG2_U64
 	bool
 	bool
 
 
-config GENERIC_GPIO
-	bool
-
 config GENERIC_HWEIGHT
 config GENERIC_HWEIGHT
 	bool
 	bool
 	default y
 	default y

+ 1 - 2
arch/m68k/Kconfig.cpu

@@ -22,8 +22,7 @@ config M68KCLASSIC
 
 
 config COLDFIRE
 config COLDFIRE
 	bool "Coldfire CPU family support"
 	bool "Coldfire CPU family support"
-	select GENERIC_GPIO
-	select ARCH_WANT_OPTIONAL_GPIOLIB
+	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_HAVE_CUSTOM_GPIO_H
 	select ARCH_HAVE_CUSTOM_GPIO_H
 	select CPU_HAS_NO_BITFIELDS
 	select CPU_HAS_NO_BITFIELDS
 	select CPU_HAS_NO_MULDIV64
 	select CPU_HAS_NO_MULDIV64

+ 0 - 3
arch/metag/Kconfig

@@ -52,9 +52,6 @@ config GENERIC_HWEIGHT
 config GENERIC_CALIBRATE_DELAY
 config GENERIC_CALIBRATE_DELAY
 	def_bool y
 	def_bool y
 
 
-config GENERIC_GPIO
-	def_bool n
-
 config NO_IOPORT
 config NO_IOPORT
 	def_bool y
 	def_bool y
 
 

+ 0 - 3
arch/microblaze/Kconfig

@@ -54,9 +54,6 @@ config GENERIC_HWEIGHT
 config GENERIC_CALIBRATE_DELAY
 config GENERIC_CALIBRATE_DELAY
 	def_bool y
 	def_bool y
 
 
-config GENERIC_GPIO
-	bool
-
 config GENERIC_CSUM
 config GENERIC_CSUM
 	def_bool y
 	def_bool y
 
 

+ 1 - 9
arch/mips/Kconfig

@@ -61,8 +61,7 @@ config MIPS_ALCHEMY
 	select SYS_HAS_CPU_MIPS32_R1
 	select SYS_HAS_CPU_MIPS32_R1
 	select SYS_SUPPORTS_32BIT_KERNEL
 	select SYS_SUPPORTS_32BIT_KERNEL
 	select SYS_SUPPORTS_APM_EMULATION
 	select SYS_SUPPORTS_APM_EMULATION
-	select GENERIC_GPIO
-	select ARCH_WANT_OPTIONAL_GPIOLIB
+	select ARCH_REQUIRE_GPIOLIB
 	select SYS_SUPPORTS_ZBOOT
 	select SYS_SUPPORTS_ZBOOT
 	select USB_ARCH_HAS_OHCI
 	select USB_ARCH_HAS_OHCI
 	select USB_ARCH_HAS_EHCI
 	select USB_ARCH_HAS_EHCI
@@ -225,7 +224,6 @@ config MACH_JZ4740
 	select SYS_SUPPORTS_ZBOOT_UART16550
 	select SYS_SUPPORTS_ZBOOT_UART16550
 	select DMA_NONCOHERENT
 	select DMA_NONCOHERENT
 	select IRQ_CPU
 	select IRQ_CPU
-	select GENERIC_GPIO
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_REQUIRE_GPIOLIB
 	select SYS_HAS_EARLY_PRINTK
 	select SYS_HAS_EARLY_PRINTK
 	select HAVE_PWM
 	select HAVE_PWM
@@ -937,7 +935,6 @@ config CSRC_SB1250
 	bool
 	bool
 
 
 config GPIO_TXX9
 config GPIO_TXX9
-	select GENERIC_GPIO
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_REQUIRE_GPIOLIB
 	bool
 	bool
 
 
@@ -1009,9 +1006,6 @@ config GENERIC_ISA_DMA_SUPPORT_BROKEN
 config ISA_DMA_API
 config ISA_DMA_API
 	bool
 	bool
 
 
-config GENERIC_GPIO
-	bool
-
 config HOLES_IN_ZONE
 config HOLES_IN_ZONE
 	bool
 	bool
 
 
@@ -1112,7 +1106,6 @@ config SOC_PNX833X
 	select SYS_SUPPORTS_32BIT_KERNEL
 	select SYS_SUPPORTS_32BIT_KERNEL
 	select SYS_SUPPORTS_LITTLE_ENDIAN
 	select SYS_SUPPORTS_LITTLE_ENDIAN
 	select SYS_SUPPORTS_BIG_ENDIAN
 	select SYS_SUPPORTS_BIG_ENDIAN
-	select GENERIC_GPIO
 	select CPU_MIPSR2_IRQ_VI
 	select CPU_MIPSR2_IRQ_VI
 
 
 config SOC_PNX8335
 config SOC_PNX8335
@@ -1203,7 +1196,6 @@ config CPU_LOONGSON2F
 	bool "Loongson 2F"
 	bool "Loongson 2F"
 	depends on SYS_HAS_CPU_LOONGSON2F
 	depends on SYS_HAS_CPU_LOONGSON2F
 	select CPU_LOONGSON2
 	select CPU_LOONGSON2
-	select GENERIC_GPIO
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_REQUIRE_GPIOLIB
 	help
 	help
 	  The Loongson 2F processor implements the MIPS III instruction set
 	  The Loongson 2F processor implements the MIPS III instruction set

+ 1 - 1
arch/mips/loongson/common/Makefile

@@ -4,7 +4,7 @@
 
 
 obj-y += setup.o init.o cmdline.o env.o time.o reset.o irq.o \
 obj-y += setup.o init.o cmdline.o env.o time.o reset.o irq.o \
     pci.o bonito-irq.o mem.o machtype.o platform.o
     pci.o bonito-irq.o mem.o machtype.o platform.o
-obj-$(CONFIG_GENERIC_GPIO) += gpio.o
+obj-$(CONFIG_GPIOLIB) += gpio.o
 
 
 #
 #
 # Serial port support
 # Serial port support

+ 1 - 1
arch/mips/txx9/generic/setup.c

@@ -118,7 +118,7 @@ EXPORT_SYMBOL(clk_put);
 
 
 /* GPIO support */
 /* GPIO support */
 
 
-#ifdef CONFIG_GENERIC_GPIO
+#ifdef CONFIG_GPIOLIB
 int gpio_to_irq(unsigned gpio)
 int gpio_to_irq(unsigned gpio)
 {
 {
 	return -EINVAL;
 	return -EINVAL;

+ 0 - 3
arch/openrisc/Kconfig

@@ -44,9 +44,6 @@ config GENERIC_HWEIGHT
 config NO_IOPORT
 config NO_IOPORT
 	def_bool y
 	def_bool y
 
 
-config GENERIC_GPIO
-	def_bool y
-
 config TRACE_IRQFLAGS_SUPPORT
 config TRACE_IRQFLAGS_SUPPORT
         def_bool y
         def_bool y
 
 

+ 0 - 5
arch/powerpc/Kconfig

@@ -82,11 +82,6 @@ config GENERIC_HWEIGHT
 	bool
 	bool
 	default y
 	default y
 
 
-config GENERIC_GPIO
-	bool
-	help
-	  Generic GPIO API support
-
 config PPC
 config PPC
 	bool
 	bool
 	default y
 	default y

+ 0 - 1
arch/powerpc/platforms/40x/Kconfig

@@ -138,7 +138,6 @@ config PPC4xx_GPIO
 	bool "PPC4xx GPIO support"
 	bool "PPC4xx GPIO support"
 	depends on 40x
 	depends on 40x
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_REQUIRE_GPIOLIB
-	select GENERIC_GPIO
 	help
 	help
 	  Enable gpiolib support for ppc40x based boards
 	  Enable gpiolib support for ppc40x based boards
 
 

+ 0 - 1
arch/powerpc/platforms/44x/Kconfig

@@ -248,7 +248,6 @@ config PPC4xx_GPIO
 	bool "PPC4xx GPIO support"
 	bool "PPC4xx GPIO support"
 	depends on 44x
 	depends on 44x
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_REQUIRE_GPIOLIB
-	select GENERIC_GPIO
 	help
 	help
 	  Enable gpiolib support for ppc440 based boards
 	  Enable gpiolib support for ppc440 based boards
 
 

+ 1 - 2
arch/powerpc/platforms/85xx/Kconfig

@@ -203,7 +203,6 @@ config GE_IMP3A
 	select DEFAULT_UIMAGE
 	select DEFAULT_UIMAGE
 	select SWIOTLB
 	select SWIOTLB
 	select MMIO_NVRAM
 	select MMIO_NVRAM
-	select GENERIC_GPIO
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_REQUIRE_GPIOLIB
 	select GE_FPGA
 	select GE_FPGA
 	help
 	help
@@ -328,7 +327,7 @@ config B4_QDS
 	select PPC_E500MC
 	select PPC_E500MC
 	select PHYS_64BIT
 	select PHYS_64BIT
 	select SWIOTLB
 	select SWIOTLB
-	select GENERIC_GPIO
+	select GPIOLIB
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_REQUIRE_GPIOLIB
 	select HAS_RAPIDIO
 	select HAS_RAPIDIO
 	select PPC_EPAPR_HV_PIC
 	select PPC_EPAPR_HV_PIC

+ 0 - 3
arch/powerpc/platforms/86xx/Kconfig

@@ -37,7 +37,6 @@ config GEF_PPC9A
 	bool "GE PPC9A"
 	bool "GE PPC9A"
 	select DEFAULT_UIMAGE
 	select DEFAULT_UIMAGE
 	select MMIO_NVRAM
 	select MMIO_NVRAM
-	select GENERIC_GPIO
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_REQUIRE_GPIOLIB
 	select GE_FPGA
 	select GE_FPGA
 	help
 	help
@@ -47,7 +46,6 @@ config GEF_SBC310
 	bool "GE SBC310"
 	bool "GE SBC310"
 	select DEFAULT_UIMAGE
 	select DEFAULT_UIMAGE
 	select MMIO_NVRAM
 	select MMIO_NVRAM
-	select GENERIC_GPIO
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_REQUIRE_GPIOLIB
 	select GE_FPGA
 	select GE_FPGA
 	help
 	help
@@ -57,7 +55,6 @@ config GEF_SBC610
 	bool "GE SBC610"
 	bool "GE SBC610"
 	select DEFAULT_UIMAGE
 	select DEFAULT_UIMAGE
 	select MMIO_NVRAM
 	select MMIO_NVRAM
-	select GENERIC_GPIO
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_REQUIRE_GPIOLIB
 	select GE_FPGA
 	select GE_FPGA
 	select HAS_RAPIDIO
 	select HAS_RAPIDIO

+ 0 - 1
arch/powerpc/platforms/8xx/Kconfig

@@ -114,7 +114,6 @@ config 8xx_COPYBACK
 
 
 config 8xx_GPIO
 config 8xx_GPIO
 	bool "GPIO API Support"
 	bool "GPIO API Support"
-	select GENERIC_GPIO
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_REQUIRE_GPIOLIB
 	help
 	help
 	  Saying Y here will cause the ports on an MPC8xx processor to be used
 	  Saying Y here will cause the ports on an MPC8xx processor to be used

+ 0 - 4
arch/powerpc/platforms/Kconfig

@@ -302,7 +302,6 @@ config QUICC_ENGINE
 config QE_GPIO
 config QE_GPIO
 	bool "QE GPIO support"
 	bool "QE GPIO support"
 	depends on QUICC_ENGINE
 	depends on QUICC_ENGINE
-	select GENERIC_GPIO
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_REQUIRE_GPIOLIB
 	help
 	help
 	  Say Y here if you're going to use hardware that connects to the
 	  Say Y here if you're going to use hardware that connects to the
@@ -315,7 +314,6 @@ config CPM2
 	select PPC_LIB_RHEAP
 	select PPC_LIB_RHEAP
 	select PPC_PCI_CHOICE
 	select PPC_PCI_CHOICE
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_REQUIRE_GPIOLIB
-	select GENERIC_GPIO
 	help
 	help
 	  The CPM2 (Communications Processor Module) is a coprocessor on
 	  The CPM2 (Communications Processor Module) is a coprocessor on
 	  embedded CPUs made by Freescale.  Selecting this option means that
 	  embedded CPUs made by Freescale.  Selecting this option means that
@@ -353,7 +351,6 @@ config OF_RTC
 config SIMPLE_GPIO
 config SIMPLE_GPIO
 	bool "Support for simple, memory-mapped GPIO controllers"
 	bool "Support for simple, memory-mapped GPIO controllers"
 	depends on PPC
 	depends on PPC
-	select GENERIC_GPIO
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_REQUIRE_GPIOLIB
 	help
 	help
 	  Say Y here to support simple, memory-mapped GPIO controllers.
 	  Say Y here to support simple, memory-mapped GPIO controllers.
@@ -364,7 +361,6 @@ config SIMPLE_GPIO
 config MCU_MPC8349EMITX
 config MCU_MPC8349EMITX
 	bool "MPC8349E-mITX MCU driver"
 	bool "MPC8349E-mITX MCU driver"
 	depends on I2C=y && PPC_83xx
 	depends on I2C=y && PPC_83xx
-	select GENERIC_GPIO
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_REQUIRE_GPIOLIB
 	help
 	help
 	  Say Y here to enable soft power-off functionality on the Freescale
 	  Say Y here to enable soft power-off functionality on the Freescale

+ 0 - 3
arch/sh/Kconfig

@@ -93,9 +93,6 @@ config GENERIC_CSUM
 config GENERIC_HWEIGHT
 config GENERIC_HWEIGHT
 	def_bool y
 	def_bool y
 
 
-config GENERIC_GPIO
-	def_bool n
-
 config GENERIC_CALIBRATE_DELAY
 config GENERIC_CALIBRATE_DELAY
 	bool
 	bool
 
 

+ 1 - 1
arch/sh/boards/mach-sdk7786/Makefile

@@ -1,4 +1,4 @@
 obj-y	:= fpga.o irq.o nmi.o setup.o
 obj-y	:= fpga.o irq.o nmi.o setup.o
 
 
-obj-$(CONFIG_GENERIC_GPIO)	+= gpio.o
+obj-$(CONFIG_GPIOLIB)		+= gpio.o
 obj-$(CONFIG_HAVE_SRAM_POOL)	+= sram.o
 obj-$(CONFIG_HAVE_SRAM_POOL)	+= sram.o

+ 1 - 1
arch/sh/boards/mach-x3proto/Makefile

@@ -1,3 +1,3 @@
 obj-y += setup.o ilsel.o
 obj-y += setup.o ilsel.o
 
 
-obj-$(CONFIG_GENERIC_GPIO)	+= gpio.o
+obj-$(CONFIG_GPIOLIB)		+= gpio.o

+ 1 - 1
arch/sh/kernel/cpu/sh2a/Makefile

@@ -21,4 +21,4 @@ pinmux-$(CONFIG_CPU_SUBTYPE_SH7203)	:= pinmux-sh7203.o
 pinmux-$(CONFIG_CPU_SUBTYPE_SH7264)	:= pinmux-sh7264.o
 pinmux-$(CONFIG_CPU_SUBTYPE_SH7264)	:= pinmux-sh7264.o
 pinmux-$(CONFIG_CPU_SUBTYPE_SH7269)	:= pinmux-sh7269.o
 pinmux-$(CONFIG_CPU_SUBTYPE_SH7269)	:= pinmux-sh7269.o
 
 
-obj-$(CONFIG_GENERIC_GPIO)	+= $(pinmux-y)
+obj-$(CONFIG_GPIOLIB)			+= $(pinmux-y)

+ 1 - 1
arch/sh/kernel/cpu/sh3/Makefile

@@ -30,4 +30,4 @@ clock-$(CONFIG_CPU_SUBTYPE_SH7712)	:= clock-sh7712.o
 pinmux-$(CONFIG_CPU_SUBTYPE_SH7720)	:= pinmux-sh7720.o
 pinmux-$(CONFIG_CPU_SUBTYPE_SH7720)	:= pinmux-sh7720.o
 
 
 obj-y	+= $(clock-y)
 obj-y	+= $(clock-y)
-obj-$(CONFIG_GENERIC_GPIO)	+= $(pinmux-y)
+obj-$(CONFIG_GPIOLIB)			+= $(pinmux-y)

+ 1 - 1
arch/sh/kernel/cpu/sh4a/Makefile

@@ -47,6 +47,6 @@ pinmux-$(CONFIG_CPU_SUBTYPE_SHX3)	:= pinmux-shx3.o
 
 
 obj-y					+= $(clock-y)
 obj-y					+= $(clock-y)
 obj-$(CONFIG_SMP)			+= $(smp-y)
 obj-$(CONFIG_SMP)			+= $(smp-y)
-obj-$(CONFIG_GENERIC_GPIO)		+= $(pinmux-y)
+obj-$(CONFIG_GPIOLIB)			+= $(pinmux-y)
 obj-$(CONFIG_PERF_EVENTS)		+= perf_event.o
 obj-$(CONFIG_PERF_EVENTS)		+= perf_event.o
 obj-$(CONFIG_HAVE_HW_BREAKPOINT)	+= ubc.o
 obj-$(CONFIG_HAVE_HW_BREAKPOINT)	+= ubc.o

+ 0 - 5
arch/sparc/Kconfig

@@ -137,11 +137,6 @@ config GENERIC_ISA_DMA
 	bool
 	bool
 	default y if SPARC32
 	default y if SPARC32
 
 
-config GENERIC_GPIO
-	bool
-	help
-	  Generic GPIO API support
-
 config ARCH_SUPPORTS_DEBUG_PAGEALLOC
 config ARCH_SUPPORTS_DEBUG_PAGEALLOC
 	def_bool y if SPARC64
 	def_bool y if SPARC64
 
 

+ 1 - 5
arch/unicore32/Kconfig

@@ -23,9 +23,6 @@ config UNICORE32
 	  designs licensed by PKUnity Ltd.
 	  designs licensed by PKUnity Ltd.
 	  Please see web page at <http://www.pkunity.com/>.
 	  Please see web page at <http://www.pkunity.com/>.
 
 
-config GENERIC_GPIO
-	def_bool y
-
 config GENERIC_CSUM
 config GENERIC_CSUM
 	def_bool y
 	def_bool y
 
 
@@ -156,7 +153,7 @@ source "mm/Kconfig"
 
 
 config LEDS
 config LEDS
 	def_bool y
 	def_bool y
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 
 
 config ALIGNMENT_TRAP
 config ALIGNMENT_TRAP
 	def_bool y
 	def_bool y
@@ -219,7 +216,6 @@ if ARCH_PUV3
 config PUV3_GPIO
 config PUV3_GPIO
 	bool
 	bool
 	depends on !ARCH_FPGA
 	depends on !ARCH_FPGA
-	select GENERIC_GPIO
 	select GPIO_SYSFS
 	select GPIO_SYSFS
 	default y
 	default y
 
 

+ 0 - 3
arch/x86/Kconfig

@@ -174,9 +174,6 @@ config GENERIC_BUG_RELATIVE_POINTERS
 config GENERIC_HWEIGHT
 config GENERIC_HWEIGHT
 	def_bool y
 	def_bool y
 
 
-config GENERIC_GPIO
-	bool
-
 config ARCH_MAY_HAVE_PC_FDC
 config ARCH_MAY_HAVE_PC_FDC
 	def_bool y
 	def_bool y
 	depends on ISA_DMA_API
 	depends on ISA_DMA_API

+ 0 - 3
arch/xtensa/Kconfig

@@ -33,9 +33,6 @@ config RWSEM_XCHGADD_ALGORITHM
 config GENERIC_HWEIGHT
 config GENERIC_HWEIGHT
 	def_bool y
 	def_bool y
 
 
-config GENERIC_GPIO
-	bool
-
 config ARCH_HAS_ILOG2_U32
 config ARCH_HAS_ILOG2_U32
 	def_bool n
 	def_bool n
 
 

+ 0 - 1
arch/xtensa/configs/iss_defconfig

@@ -10,7 +10,6 @@ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
 CONFIG_GENERIC_FIND_NEXT_BIT=y
 CONFIG_GENERIC_FIND_NEXT_BIT=y
 CONFIG_GENERIC_HWEIGHT=y
 CONFIG_GENERIC_HWEIGHT=y
 CONFIG_GENERIC_HARDIRQS=y
 CONFIG_GENERIC_HARDIRQS=y
-CONFIG_GENERIC_GPIO=y
 # CONFIG_ARCH_HAS_ILOG2_U32 is not set
 # CONFIG_ARCH_HAS_ILOG2_U32 is not set
 # CONFIG_ARCH_HAS_ILOG2_U64 is not set
 # CONFIG_ARCH_HAS_ILOG2_U64 is not set
 CONFIG_NO_IOPORT=y
 CONFIG_NO_IOPORT=y

+ 0 - 1
arch/xtensa/configs/s6105_defconfig

@@ -10,7 +10,6 @@ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
 CONFIG_GENERIC_FIND_NEXT_BIT=y
 CONFIG_GENERIC_FIND_NEXT_BIT=y
 CONFIG_GENERIC_HWEIGHT=y
 CONFIG_GENERIC_HWEIGHT=y
 CONFIG_GENERIC_HARDIRQS=y
 CONFIG_GENERIC_HARDIRQS=y
-CONFIG_GENERIC_GPIO=y
 # CONFIG_ARCH_HAS_ILOG2_U32 is not set
 # CONFIG_ARCH_HAS_ILOG2_U32 is not set
 # CONFIG_ARCH_HAS_ILOG2_U64 is not set
 # CONFIG_ARCH_HAS_ILOG2_U64 is not set
 CONFIG_NO_IOPORT=y
 CONFIG_NO_IOPORT=y

+ 1 - 1
drivers/extcon/Kconfig

@@ -16,7 +16,7 @@ comment "Extcon Device Drivers"
 
 
 config EXTCON_GPIO
 config EXTCON_GPIO
 	tristate "GPIO extcon support"
 	tristate "GPIO extcon support"
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	help
 	help
 	  Say Y here to enable GPIO based extcon support. Note that GPIO
 	  Say Y here to enable GPIO based extcon support. Note that GPIO
 	  extcon supports single state per extcon instance.
 	  extcon supports single state per extcon instance.

+ 0 - 1
drivers/gpio/Kconfig

@@ -38,7 +38,6 @@ config GPIO_DEVRES
 menuconfig GPIOLIB
 menuconfig GPIOLIB
 	bool "GPIO Support"
 	bool "GPIO Support"
 	depends on ARCH_WANT_OPTIONAL_GPIOLIB || ARCH_REQUIRE_GPIOLIB
 	depends on ARCH_WANT_OPTIONAL_GPIOLIB || ARCH_REQUIRE_GPIOLIB
-	select GENERIC_GPIO
 	help
 	help
 	  This enables GPIO support through the generic GPIO library.
 	  This enables GPIO support through the generic GPIO library.
 	  You only need to enable this, if you also want to enable
 	  You only need to enable this, if you also want to enable

+ 1 - 1
drivers/gpio/gpio-lpc32xx.c

@@ -255,7 +255,7 @@ static int __get_gpo_state_p3(struct lpc32xx_gpio_chip *group,
 }
 }
 
 
 /*
 /*
- * GENERIC_GPIO primitives.
+ * GPIO primitives.
  */
  */
 static int lpc32xx_gpio_dir_input_p012(struct gpio_chip *chip,
 static int lpc32xx_gpio_dir_input_p012(struct gpio_chip *chip,
 	unsigned pin)
 	unsigned pin)

+ 2 - 2
drivers/i2c/busses/Kconfig

@@ -363,7 +363,7 @@ config I2C_BLACKFIN_TWI_CLK_KHZ
 
 
 config I2C_CBUS_GPIO
 config I2C_CBUS_GPIO
 	tristate "CBUS I2C driver"
 	tristate "CBUS I2C driver"
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	help
 	help
 	  Support for CBUS access using I2C API. Mostly relevant for Nokia
 	  Support for CBUS access using I2C API. Mostly relevant for Nokia
 	  Internet Tablets (770, N800 and N810).
 	  Internet Tablets (770, N800 and N810).
@@ -436,7 +436,7 @@ config I2C_EG20T
 
 
 config I2C_GPIO
 config I2C_GPIO
 	tristate "GPIO-based bitbanging I2C"
 	tristate "GPIO-based bitbanging I2C"
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	select I2C_ALGOBIT
 	select I2C_ALGOBIT
 	help
 	help
 	  This is a very simple bitbanging I2C driver utilizing the
 	  This is a very simple bitbanging I2C driver utilizing the

+ 2 - 2
drivers/i2c/muxes/Kconfig

@@ -7,7 +7,7 @@ menu "Multiplexer I2C Chip support"
 
 
 config I2C_ARB_GPIO_CHALLENGE
 config I2C_ARB_GPIO_CHALLENGE
 	tristate "GPIO-based I2C arbitration"
 	tristate "GPIO-based I2C arbitration"
-	depends on GENERIC_GPIO && OF
+	depends on GPIOLIB && OF
 	help
 	help
 	  If you say yes to this option, support will be included for an
 	  If you say yes to this option, support will be included for an
 	  I2C multimaster arbitration scheme using GPIOs and a challenge &
 	  I2C multimaster arbitration scheme using GPIOs and a challenge &
@@ -19,7 +19,7 @@ config I2C_ARB_GPIO_CHALLENGE
 
 
 config I2C_MUX_GPIO
 config I2C_MUX_GPIO
 	tristate "GPIO-based I2C multiplexer"
 	tristate "GPIO-based I2C multiplexer"
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	help
 	help
 	  If you say yes to this option, support will be included for a
 	  If you say yes to this option, support will be included for a
 	  GPIO based I2C multiplexer. This driver provides access to
 	  GPIO based I2C multiplexer. This driver provides access to

+ 3 - 3
drivers/input/keyboard/Kconfig

@@ -175,7 +175,7 @@ config KEYBOARD_EP93XX
 
 
 config KEYBOARD_GPIO
 config KEYBOARD_GPIO
 	tristate "GPIO Buttons"
 	tristate "GPIO Buttons"
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	help
 	help
 	  This driver implements support for buttons connected
 	  This driver implements support for buttons connected
 	  to GPIO pins of various CPUs (and some other chips).
 	  to GPIO pins of various CPUs (and some other chips).
@@ -190,7 +190,7 @@ config KEYBOARD_GPIO
 
 
 config KEYBOARD_GPIO_POLLED
 config KEYBOARD_GPIO_POLLED
 	tristate "Polled GPIO buttons"
 	tristate "Polled GPIO buttons"
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	select INPUT_POLLDEV
 	select INPUT_POLLDEV
 	help
 	help
 	  This driver implements support for buttons connected
 	  This driver implements support for buttons connected
@@ -241,7 +241,7 @@ config KEYBOARD_TCA8418
 
 
 config KEYBOARD_MATRIX
 config KEYBOARD_MATRIX
 	tristate "GPIO driven matrix keypad support"
 	tristate "GPIO driven matrix keypad support"
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	select INPUT_MATRIXKMAP
 	select INPUT_MATRIXKMAP
 	help
 	help
 	  Enable support for GPIO driven matrix keypad.
 	  Enable support for GPIO driven matrix keypad.

+ 4 - 4
drivers/input/misc/Kconfig

@@ -214,7 +214,7 @@ config INPUT_APANEL
 config INPUT_GP2A
 config INPUT_GP2A
 	tristate "Sharp GP2AP002A00F I2C Proximity/Opto sensor driver"
 	tristate "Sharp GP2AP002A00F I2C Proximity/Opto sensor driver"
 	depends on I2C
 	depends on I2C
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	help
 	help
 	  Say Y here if you have a Sharp GP2AP002A00F proximity/als combo-chip
 	  Say Y here if you have a Sharp GP2AP002A00F proximity/als combo-chip
 	  hooked to an I2C bus.
 	  hooked to an I2C bus.
@@ -224,7 +224,7 @@ config INPUT_GP2A
 
 
 config INPUT_GPIO_TILT_POLLED
 config INPUT_GPIO_TILT_POLLED
 	tristate "Polled GPIO tilt switch"
 	tristate "Polled GPIO tilt switch"
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	select INPUT_POLLDEV
 	select INPUT_POLLDEV
 	help
 	help
 	  This driver implements support for tilt switches connected
 	  This driver implements support for tilt switches connected
@@ -472,7 +472,7 @@ config INPUT_PWM_BEEPER
 
 
 config INPUT_GPIO_ROTARY_ENCODER
 config INPUT_GPIO_ROTARY_ENCODER
 	tristate "Rotary encoders connected to GPIO pins"
 	tristate "Rotary encoders connected to GPIO pins"
-	depends on GPIOLIB && GENERIC_GPIO
+	depends on GPIOLIB
 	help
 	help
 	  Say Y here to add support for rotary encoders connected to GPIO lines.
 	  Say Y here to add support for rotary encoders connected to GPIO lines.
 	  Check file:Documentation/input/rotary-encoder.txt for more
 	  Check file:Documentation/input/rotary-encoder.txt for more
@@ -484,7 +484,7 @@ config INPUT_GPIO_ROTARY_ENCODER
 config INPUT_RB532_BUTTON
 config INPUT_RB532_BUTTON
 	tristate "Mikrotik Routerboard 532 button interface"
 	tristate "Mikrotik Routerboard 532 button interface"
 	depends on MIKROTIK_RB532
 	depends on MIKROTIK_RB532
-	depends on GPIOLIB && GENERIC_GPIO
+	depends on GPIOLIB
 	select INPUT_POLLDEV
 	select INPUT_POLLDEV
 	help
 	help
 	  Say Y here if you want support for the S1 button built into
 	  Say Y here if you want support for the S1 button built into

+ 1 - 1
drivers/input/mouse/Kconfig

@@ -295,7 +295,7 @@ config MOUSE_VSXXXAA
 
 
 config MOUSE_GPIO
 config MOUSE_GPIO
 	tristate "GPIO mouse"
 	tristate "GPIO mouse"
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	select INPUT_POLLDEV
 	select INPUT_POLLDEV
 	help
 	help
 	  This driver simulates a mouse on GPIO lines of various CPUs (and some
 	  This driver simulates a mouse on GPIO lines of various CPUs (and some

+ 3 - 3
drivers/leds/Kconfig

@@ -173,7 +173,7 @@ config LEDS_PCA9532_GPIO
 config LEDS_GPIO
 config LEDS_GPIO
 	tristate "LED Support for GPIO connected LEDs"
 	tristate "LED Support for GPIO connected LEDs"
 	depends on LEDS_CLASS
 	depends on LEDS_CLASS
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	help
 	help
 	  This option enables support for the LEDs connected to GPIO
 	  This option enables support for the LEDs connected to GPIO
 	  outputs. To be useful the particular board must have LEDs
 	  outputs. To be useful the particular board must have LEDs
@@ -362,7 +362,7 @@ config LEDS_INTEL_SS4200
 config LEDS_LT3593
 config LEDS_LT3593
 	tristate "LED driver for LT3593 controllers"
 	tristate "LED driver for LT3593 controllers"
 	depends on LEDS_CLASS
 	depends on LEDS_CLASS
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	help
 	help
 	  This option enables support for LEDs driven by a Linear Technology
 	  This option enables support for LEDs driven by a Linear Technology
 	  LT3593 controller. This controller uses a special one-wire pulse
 	  LT3593 controller. This controller uses a special one-wire pulse
@@ -431,7 +431,7 @@ config LEDS_ASIC3
 
 
 config LEDS_RENESAS_TPU
 config LEDS_RENESAS_TPU
 	bool "LED support for Renesas TPU"
 	bool "LED support for Renesas TPU"
-	depends on LEDS_CLASS=y && HAVE_CLK && GENERIC_GPIO
+	depends on LEDS_CLASS=y && HAVE_CLK && GPIOLIB
 	help
 	help
 	  This option enables build of the LED TPU platform driver,
 	  This option enables build of the LED TPU platform driver,
 	  suitable to drive any TPU channel on newer Renesas SoCs.
 	  suitable to drive any TPU channel on newer Renesas SoCs.

+ 1 - 1
drivers/mtd/maps/Kconfig

@@ -419,7 +419,7 @@ config MTD_BFIN_ASYNC
 
 
 config MTD_GPIO_ADDR
 config MTD_GPIO_ADDR
 	tristate "GPIO-assisted Flash Chip Support"
 	tristate "GPIO-assisted Flash Chip Support"
-	depends on GENERIC_GPIO || GPIOLIB
+	depends on GPIOLIB
 	depends on MTD_COMPLEX_MAPPINGS
 	depends on MTD_COMPLEX_MAPPINGS
 	help
 	help
 	  Map driver which allows flashes to be partially physically addressed
 	  Map driver which allows flashes to be partially physically addressed

+ 1 - 1
drivers/mtd/nand/Kconfig

@@ -89,7 +89,7 @@ config MTD_NAND_H1900
 
 
 config MTD_NAND_GPIO
 config MTD_NAND_GPIO
 	tristate "GPIO NAND Flash driver"
 	tristate "GPIO NAND Flash driver"
-	depends on GENERIC_GPIO && ARM
+	depends on GPIOLIB && ARM
 	help
 	help
 	  This enables a GPIO based NAND flash driver.
 	  This enables a GPIO based NAND flash driver.
 
 

+ 1 - 1
drivers/net/phy/Kconfig

@@ -126,7 +126,7 @@ config MDIO_BITBANG
 
 
 config MDIO_GPIO
 config MDIO_GPIO
 	tristate "Support for GPIO lib-based bitbanged MDIO buses"
 	tristate "Support for GPIO lib-based bitbanged MDIO buses"
-	depends on MDIO_BITBANG && GENERIC_GPIO
+	depends on MDIO_BITBANG && GPIOLIB
 	---help---
 	---help---
 	  Supports GPIO lib-based MDIO busses.
 	  Supports GPIO lib-based MDIO busses.
 
 

+ 13 - 13
drivers/pinctrl/sh-pfc/Kconfig

@@ -6,7 +6,7 @@ if ARCH_SHMOBILE || SUPERH
 
 
 config PINCTRL_SH_PFC
 config PINCTRL_SH_PFC
 	# XXX move off the gpio dependency
 	# XXX move off the gpio dependency
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	select GPIO_SH_PFC if ARCH_REQUIRE_GPIOLIB
 	select GPIO_SH_PFC if ARCH_REQUIRE_GPIOLIB
 	select PINMUX
 	select PINMUX
 	select PINCONF
 	select PINCONF
@@ -40,19 +40,19 @@ config PINCTRL_PFC_R8A7779
 config PINCTRL_PFC_SH7203
 config PINCTRL_PFC_SH7203
 	def_bool y
 	def_bool y
 	depends on CPU_SUBTYPE_SH7203
 	depends on CPU_SUBTYPE_SH7203
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	select PINCTRL_SH_PFC
 	select PINCTRL_SH_PFC
 
 
 config PINCTRL_PFC_SH7264
 config PINCTRL_PFC_SH7264
 	def_bool y
 	def_bool y
 	depends on CPU_SUBTYPE_SH7264
 	depends on CPU_SUBTYPE_SH7264
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	select PINCTRL_SH_PFC
 	select PINCTRL_SH_PFC
 
 
 config PINCTRL_PFC_SH7269
 config PINCTRL_PFC_SH7269
 	def_bool y
 	def_bool y
 	depends on CPU_SUBTYPE_SH7269
 	depends on CPU_SUBTYPE_SH7269
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	select PINCTRL_SH_PFC
 	select PINCTRL_SH_PFC
 
 
 config PINCTRL_PFC_SH7372
 config PINCTRL_PFC_SH7372
@@ -68,55 +68,55 @@ config PINCTRL_PFC_SH73A0
 config PINCTRL_PFC_SH7720
 config PINCTRL_PFC_SH7720
 	def_bool y
 	def_bool y
 	depends on CPU_SUBTYPE_SH7720
 	depends on CPU_SUBTYPE_SH7720
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	select PINCTRL_SH_PFC
 	select PINCTRL_SH_PFC
 
 
 config PINCTRL_PFC_SH7722
 config PINCTRL_PFC_SH7722
 	def_bool y
 	def_bool y
 	depends on CPU_SUBTYPE_SH7722
 	depends on CPU_SUBTYPE_SH7722
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	select PINCTRL_SH_PFC
 	select PINCTRL_SH_PFC
 
 
 config PINCTRL_PFC_SH7723
 config PINCTRL_PFC_SH7723
 	def_bool y
 	def_bool y
 	depends on CPU_SUBTYPE_SH7723
 	depends on CPU_SUBTYPE_SH7723
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	select PINCTRL_SH_PFC
 	select PINCTRL_SH_PFC
 
 
 config PINCTRL_PFC_SH7724
 config PINCTRL_PFC_SH7724
 	def_bool y
 	def_bool y
 	depends on CPU_SUBTYPE_SH7724
 	depends on CPU_SUBTYPE_SH7724
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	select PINCTRL_SH_PFC
 	select PINCTRL_SH_PFC
 
 
 config PINCTRL_PFC_SH7734
 config PINCTRL_PFC_SH7734
 	def_bool y
 	def_bool y
 	depends on CPU_SUBTYPE_SH7734
 	depends on CPU_SUBTYPE_SH7734
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	select PINCTRL_SH_PFC
 	select PINCTRL_SH_PFC
 
 
 config PINCTRL_PFC_SH7757
 config PINCTRL_PFC_SH7757
 	def_bool y
 	def_bool y
 	depends on CPU_SUBTYPE_SH7757
 	depends on CPU_SUBTYPE_SH7757
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	select PINCTRL_SH_PFC
 	select PINCTRL_SH_PFC
 
 
 config PINCTRL_PFC_SH7785
 config PINCTRL_PFC_SH7785
 	def_bool y
 	def_bool y
 	depends on CPU_SUBTYPE_SH7785
 	depends on CPU_SUBTYPE_SH7785
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	select PINCTRL_SH_PFC
 	select PINCTRL_SH_PFC
 
 
 config PINCTRL_PFC_SH7786
 config PINCTRL_PFC_SH7786
 	def_bool y
 	def_bool y
 	depends on CPU_SUBTYPE_SH7786
 	depends on CPU_SUBTYPE_SH7786
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	select PINCTRL_SH_PFC
 	select PINCTRL_SH_PFC
 
 
 config PINCTRL_PFC_SHX3
 config PINCTRL_PFC_SHX3
 	def_bool y
 	def_bool y
 	depends on CPU_SUBTYPE_SHX3
 	depends on CPU_SUBTYPE_SHX3
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	select PINCTRL_SH_PFC
 	select PINCTRL_SH_PFC
 
 
 endif
 endif

+ 1 - 1
drivers/regulator/Kconfig

@@ -66,7 +66,7 @@ config REGULATOR_USERSPACE_CONSUMER
 
 
 config REGULATOR_GPIO
 config REGULATOR_GPIO
 	tristate "GPIO regulator support"
 	tristate "GPIO regulator support"
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	help
 	help
 	  This driver provides support for regulators that can be
 	  This driver provides support for regulators that can be
 	  controlled via gpios.
 	  controlled via gpios.

+ 4 - 4
drivers/spi/Kconfig

@@ -62,7 +62,7 @@ config SPI_ALTERA
 
 
 config SPI_ATH79
 config SPI_ATH79
 	tristate "Atheros AR71XX/AR724X/AR913X SPI controller driver"
 	tristate "Atheros AR71XX/AR724X/AR913X SPI controller driver"
-	depends on ATH79 && GENERIC_GPIO
+	depends on ATH79 && GPIOLIB
 	select SPI_BITBANG
 	select SPI_BITBANG
 	help
 	help
 	  This enables support for the SPI controller present on the
 	  This enables support for the SPI controller present on the
@@ -175,7 +175,7 @@ config SPI_FALCON
 
 
 config SPI_GPIO
 config SPI_GPIO
 	tristate "GPIO-based bitbanging SPI Master"
 	tristate "GPIO-based bitbanging SPI Master"
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	select SPI_BITBANG
 	select SPI_BITBANG
 	help
 	help
 	  This simple GPIO bitbanging SPI master uses the arch-neutral GPIO
 	  This simple GPIO bitbanging SPI master uses the arch-neutral GPIO
@@ -259,7 +259,7 @@ config SPI_FSL_ESPI
 
 
 config SPI_OC_TINY
 config SPI_OC_TINY
 	tristate "OpenCores tiny SPI"
 	tristate "OpenCores tiny SPI"
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	select SPI_BITBANG
 	select SPI_BITBANG
 	help
 	help
 	  This is the driver for OpenCores tiny SPI master controller.
 	  This is the driver for OpenCores tiny SPI master controller.
@@ -457,7 +457,7 @@ config SPI_TOPCLIFF_PCH
 
 
 config SPI_TXX9
 config SPI_TXX9
 	tristate "Toshiba TXx9 SPI controller"
 	tristate "Toshiba TXx9 SPI controller"
-	depends on GENERIC_GPIO && CPU_TX49XX
+	depends on GPIOLIB && CPU_TX49XX
 	help
 	help
 	  SPI driver for Toshiba TXx9 MIPS SoCs
 	  SPI driver for Toshiba TXx9 MIPS SoCs
 
 

+ 1 - 1
drivers/staging/android/Kconfig

@@ -54,7 +54,7 @@ config ANDROID_TIMED_OUTPUT
 
 
 config ANDROID_TIMED_GPIO
 config ANDROID_TIMED_GPIO
 	tristate "Android timed gpio driver"
 	tristate "Android timed gpio driver"
-	depends on GENERIC_GPIO && ANDROID_TIMED_OUTPUT
+	depends on GPIOLIB && ANDROID_TIMED_OUTPUT
 	default n
 	default n
 
 
 config ANDROID_LOW_MEMORY_KILLER
 config ANDROID_LOW_MEMORY_KILLER

+ 1 - 1
drivers/staging/iio/accel/Kconfig

@@ -61,7 +61,7 @@ config LIS3L02DQ
 	depends on SPI
 	depends on SPI
 	select IIO_TRIGGER if IIO_BUFFER
 	select IIO_TRIGGER if IIO_BUFFER
 	depends on !IIO_BUFFER || IIO_KFIFO_BUF
 	depends on !IIO_BUFFER || IIO_KFIFO_BUF
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	help
 	help
 	  Say yes here to build SPI support for the ST microelectronics
 	  Say yes here to build SPI support for the ST microelectronics
 	  accelerometer. The driver supplies direct access via sysfs files
 	  accelerometer. The driver supplies direct access via sysfs files

+ 1 - 1
drivers/staging/iio/adc/Kconfig

@@ -73,7 +73,7 @@ config AD7780
 config AD7816
 config AD7816
 	tristate "Analog Devices AD7816/7/8 temperature sensor and ADC driver"
 	tristate "Analog Devices AD7816/7/8 temperature sensor and ADC driver"
 	depends on SPI
 	depends on SPI
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	help
 	help
 	  Say yes here to build support for Analog Devices AD7816/7/8
 	  Say yes here to build support for Analog Devices AD7816/7/8
 	  temperature sensors and ADC.
 	  temperature sensors and ADC.

+ 1 - 1
drivers/staging/iio/addac/Kconfig

@@ -5,7 +5,7 @@ menu "Analog digital bi-direction converters"
 
 
 config ADT7316
 config ADT7316
 	tristate "Analog Devices ADT7316/7/8 ADT7516/7/9 temperature sensor, ADC and DAC driver"
 	tristate "Analog Devices ADT7316/7/8 ADT7516/7/9 temperature sensor, ADC and DAC driver"
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	help
 	help
 	  Say yes here to build support for Analog Devices ADT7316, ADT7317, ADT7318
 	  Say yes here to build support for Analog Devices ADT7316, ADT7317, ADT7318
 	  and ADT7516, ADT7517, ADT7519 temperature sensors, ADC and DAC.
 	  and ADT7516, ADT7517, ADT7519 temperature sensors, ADC and DAC.

+ 2 - 2
drivers/staging/iio/resolver/Kconfig

@@ -13,7 +13,7 @@ config AD2S90
 config AD2S1200
 config AD2S1200
 	tristate "Analog Devices ad2s1200/ad2s1205 driver"
 	tristate "Analog Devices ad2s1200/ad2s1205 driver"
 	depends on SPI
 	depends on SPI
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	help
 	help
 	  Say yes here to build support for Analog Devices spi resolver
 	  Say yes here to build support for Analog Devices spi resolver
 	  to digital converters, ad2s1200 and ad2s1205, provides direct access
 	  to digital converters, ad2s1200 and ad2s1205, provides direct access
@@ -22,7 +22,7 @@ config AD2S1200
 config AD2S1210
 config AD2S1210
 	tristate "Analog Devices ad2s1210 driver"
 	tristate "Analog Devices ad2s1210 driver"
 	depends on SPI
 	depends on SPI
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	help
 	help
 	  Say yes here to build support for Analog Devices spi resolver
 	  Say yes here to build support for Analog Devices spi resolver
 	  to digital converters, ad2s1210, provides direct access via sysfs.
 	  to digital converters, ad2s1210, provides direct access via sysfs.

+ 1 - 1
drivers/staging/iio/trigger/Kconfig

@@ -14,7 +14,7 @@ config IIO_PERIODIC_RTC_TRIGGER
 
 
 config IIO_GPIO_TRIGGER
 config IIO_GPIO_TRIGGER
 	tristate "GPIO trigger"
 	tristate "GPIO trigger"
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	help
 	help
 	  Provides support for using GPIO pins as IIO triggers.
 	  Provides support for using GPIO pins as IIO triggers.
 
 

+ 1 - 1
drivers/usb/phy/Kconfig

@@ -128,7 +128,7 @@ config TWL6030_USB
 
 
 config USB_GPIO_VBUS
 config USB_GPIO_VBUS
 	tristate "GPIO based peripheral-only VBUS sensing 'transceiver'"
 	tristate "GPIO based peripheral-only VBUS sensing 'transceiver'"
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	help
 	help
 	  Provides simple GPIO VBUS sensing for controllers with an
 	  Provides simple GPIO VBUS sensing for controllers with an
 	  internal transceiver via the usb_phy interface, and
 	  internal transceiver via the usb_phy interface, and

+ 1 - 1
drivers/video/Kconfig

@@ -2483,7 +2483,7 @@ config FB_SSD1307
 	tristate "Solomon SSD1307 framebuffer support"
 	tristate "Solomon SSD1307 framebuffer support"
 	depends on FB && I2C
 	depends on FB && I2C
 	depends on OF
 	depends on OF
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	select FB_SYS_FOPS
 	select FB_SYS_FOPS
 	select FB_SYS_FILLRECT
 	select FB_SYS_FILLRECT
 	select FB_SYS_COPYAREA
 	select FB_SYS_COPYAREA

+ 2 - 2
drivers/video/backlight/Kconfig

@@ -36,14 +36,14 @@ config LCD_CORGI
 
 
 config LCD_L4F00242T03
 config LCD_L4F00242T03
 	tristate "Epson L4F00242T03 LCD"
 	tristate "Epson L4F00242T03 LCD"
-	depends on SPI_MASTER && GENERIC_GPIO
+	depends on SPI_MASTER && GPIOLIB
 	help
 	help
 	  SPI driver for Epson L4F00242T03. This provides basic support
 	  SPI driver for Epson L4F00242T03. This provides basic support
 	  for init and powering the LCD up/down through a sysfs interface.
 	  for init and powering the LCD up/down through a sysfs interface.
 
 
 config LCD_LMS283GF05
 config LCD_LMS283GF05
 	tristate "Samsung LMS283GF05 LCD"
 	tristate "Samsung LMS283GF05 LCD"
-	depends on SPI_MASTER && GENERIC_GPIO
+	depends on SPI_MASTER && GPIOLIB
 	help
 	help
 	  SPI driver for Samsung LMS283GF05. This provides basic support
 	  SPI driver for Samsung LMS283GF05. This provides basic support
 	  for powering the LCD up/down through a sysfs interface.
 	  for powering the LCD up/down through a sysfs interface.

+ 1 - 1
drivers/w1/masters/Kconfig

@@ -50,7 +50,7 @@ config W1_MASTER_DS1WM
 
 
 config W1_MASTER_GPIO
 config W1_MASTER_GPIO
 	tristate "GPIO 1-wire busmaster"
 	tristate "GPIO 1-wire busmaster"
-	depends on GENERIC_GPIO
+	depends on GPIOLIB
 	help
 	help
 	  Say Y here if you want to communicate with your 1-wire devices using
 	  Say Y here if you want to communicate with your 1-wire devices using
 	  GPIO pins. This driver uses the GPIO API to control the wire.
 	  GPIO pins. This driver uses the GPIO API to control the wire.

+ 3 - 3
include/linux/gpio.h

@@ -39,7 +39,7 @@ struct gpio {
 	const char	*label;
 	const char	*label;
 };
 };
 
 
-#ifdef CONFIG_GENERIC_GPIO
+#ifdef CONFIG_GPIOLIB
 
 
 #ifdef CONFIG_ARCH_HAVE_CUSTOM_GPIO_H
 #ifdef CONFIG_ARCH_HAVE_CUSTOM_GPIO_H
 #include <asm/gpio.h>
 #include <asm/gpio.h>
@@ -74,7 +74,7 @@ static inline int irq_to_gpio(unsigned int irq)
 
 
 #endif /* ! CONFIG_ARCH_HAVE_CUSTOM_GPIO_H */
 #endif /* ! CONFIG_ARCH_HAVE_CUSTOM_GPIO_H */
 
 
-#else /* ! CONFIG_GENERIC_GPIO */
+#else /* ! CONFIG_GPIOLIB */
 
 
 #include <linux/kernel.h>
 #include <linux/kernel.h>
 #include <linux/types.h>
 #include <linux/types.h>
@@ -226,7 +226,7 @@ gpiochip_remove_pin_ranges(struct gpio_chip *chip)
 	WARN_ON(1);
 	WARN_ON(1);
 }
 }
 
 
-#endif /* ! CONFIG_GENERIC_GPIO */
+#endif /* ! CONFIG_GPIOLIB */
 
 
 struct device;
 struct device;