Skip to content

Commit

Permalink
gpiolib: add drivers/gpio directory
Browse files Browse the repository at this point in the history
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>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>
Cc: Philipp Zabel <philipp.zabel@gmail.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Ben Gardner <bgardner@wabtec.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
David Brownell authored and Linus Torvalds committed Feb 5, 2008
1 parent 99c84db commit a9c5fff
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 0 deletions.
2 changes: 2 additions & 0 deletions arch/arm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1122,6 +1122,8 @@ source "drivers/i2c/Kconfig"

source "drivers/spi/Kconfig"

source "drivers/gpio/Kconfig"

source "drivers/w1/Kconfig"

source "drivers/power/Kconfig"
Expand Down
2 changes: 2 additions & 0 deletions drivers/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ source "drivers/i2c/Kconfig"

source "drivers/spi/Kconfig"

source "drivers/gpio/Kconfig"

source "drivers/w1/Kconfig"

source "drivers/power/Kconfig"
Expand Down
1 change: 1 addition & 0 deletions drivers/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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/
Expand Down
32 changes: 32 additions & 0 deletions drivers/gpio/Kconfig
Original file line number Diff line number Diff line change
@@ -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
4 changes: 4 additions & 0 deletions drivers/gpio/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# gpio support: dedicated expander chips, etc

ccflags-$(CONFIG_DEBUG_GPIO) += -DDEBUG

0 comments on commit a9c5fff

Please sign in to comment.