Messages in this thread Patch in this message | | | From | David Brownell <> | Subject | Re: [patch 2.6.24-rc6-mm 1/9] gpiolib: add drivers/gpio directory | Date | Sat, 5 Jan 2008 12:07:04 -0800 |
| |
From: David Brownell <dbrownell@users.sourceforge.net>
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 <dbrownell@users.sourceforge.net> Acked-by: Jean Delvare <khali@linux-fr.org> Cc: Eric Miao <eric.miao@marvell.com> --- 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 +
| |