From: David Brownell <[EMAIL PROTECTED]>

Add an empty drivers/gpio directory for gpiolib infrastructure
and GPIO expanders.  It will be populated by later patches.

This won't be the only place to hold such gpio_chip code.  Many
external chips add a few GPIOs as secondary functionality (such
as MFD drivers) and platform code frequently needs to closely
integrate GPIO and IRQ support.

This is placed *early* in the build/link sequence since it's common
for other drivers to depend on GPIOs to do their work, so they must
be initialized early in the device_initcall() sequence.

Signed-off-by: David Brownell <[EMAIL PROTECTED]>
Acked-by: Jean Delvare <[EMAIL PROTECTED]>
Cc: Eric Miao <[EMAIL PROTECTED]>
---
Incorporates cleanup as suggested by Sam Ravnborg:  use HAVE_*
and a new idiom for adding "-DDEBUG".

 arch/arm/Kconfig      |    2 ++
 drivers/Kconfig       |    2 ++
 drivers/Makefile      |    1 +
 drivers/gpio/Kconfig  |   32 ++++++++++++++++++++++++++++++++
 drivers/gpio/Makefile |    4 ++++
 5 files changed, 41 insertions(+)

--- at91.orig/arch/arm/Kconfig  2008-01-05 12:00:45.000000000 -0800
+++ at91/arch/arm/Kconfig       2008-01-05 12:00:47.000000000 -0800
@@ -1040,6 +1040,8 @@ source "drivers/i2c/Kconfig"
 
 source "drivers/spi/Kconfig"
 
+source "drivers/gpio/Kconfig"
+
 source "drivers/w1/Kconfig"
 
 source "drivers/power/Kconfig"
--- at91.orig/drivers/Kconfig   2008-01-05 12:00:45.000000000 -0800
+++ at91/drivers/Kconfig        2008-01-05 12:00:47.000000000 -0800
@@ -52,6 +52,8 @@ source "drivers/i2c/Kconfig"
 
 source "drivers/spi/Kconfig"
 
+source "drivers/gpio/Kconfig"
+
 source "drivers/w1/Kconfig"
 
 source "drivers/power/Kconfig"
--- at91.orig/drivers/Makefile  2008-01-05 12:00:45.000000000 -0800
+++ at91/drivers/Makefile       2008-01-05 12:00:47.000000000 -0800
@@ -5,6 +5,7 @@
 # Rewritten to use lists instead of if-statements.
 #
 
+obj-$(CONFIG_HAVE_GPIO_LIB)    += gpio/
 obj-$(CONFIG_PCI)              += pci/
 obj-$(CONFIG_PARISC)           += parisc/
 obj-$(CONFIG_RAPIDIO)          += rapidio/
--- /dev/null   1970-01-01 00:00:00.000000000 +0000
+++ at91/drivers/gpio/Kconfig   2008-01-05 12:00:47.000000000 -0800
@@ -0,0 +1,32 @@
+#
+# GPIO infrastructure and expanders
+#
+
+config HAVE_GPIO_LIB
+       bool
+       help
+         Platforms select gpiolib if they use this infrastructure
+         for all their GPIOs, usually starting with ones integrated
+         into SOC processors.
+
+menu "GPIO Support"
+       depends on HAVE_GPIO_LIB
+
+config DEBUG_GPIO
+       bool "Debug GPIO calls"
+       depends on DEBUG_KERNEL
+       help
+         Say Y here to add some extra checks and diagnostics to GPIO calls.
+         The checks help ensure that GPIOs have been properly initialized
+         before they are used and that sleeping calls aren not made from
+         nonsleeping contexts.  They can make bitbanged serial protocols
+         slower.  The diagnostics help catch the type of setup errors
+         that are most common when setting up new platforms or boards.
+
+# put expanders in the right section, in alphabetical order
+
+comment "I2C GPIO expanders:"
+
+comment "SPI GPIO expanders:"
+
+endmenu
--- /dev/null   1970-01-01 00:00:00.000000000 +0000
+++ at91/drivers/gpio/Makefile  2008-01-05 12:00:47.000000000 -0800
@@ -0,0 +1,4 @@
+# gpio support: dedicated expander chips, etc
+
+ccflags-$(CONFIG_DEBUG_GPIO)   += -DDEBUG
+
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to