gpiolib: add drivers/gpio directory
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>
This commit is contained in:
parent
99c84dbdc7
commit
a9c5fff542
|
@ -1122,6 +1122,8 @@ source "drivers/i2c/Kconfig"
|
||||||
|
|
||||||
source "drivers/spi/Kconfig"
|
source "drivers/spi/Kconfig"
|
||||||
|
|
||||||
|
source "drivers/gpio/Kconfig"
|
||||||
|
|
||||||
source "drivers/w1/Kconfig"
|
source "drivers/w1/Kconfig"
|
||||||
|
|
||||||
source "drivers/power/Kconfig"
|
source "drivers/power/Kconfig"
|
||||||
|
|
|
@ -52,6 +52,8 @@ source "drivers/i2c/Kconfig"
|
||||||
|
|
||||||
source "drivers/spi/Kconfig"
|
source "drivers/spi/Kconfig"
|
||||||
|
|
||||||
|
source "drivers/gpio/Kconfig"
|
||||||
|
|
||||||
source "drivers/w1/Kconfig"
|
source "drivers/w1/Kconfig"
|
||||||
|
|
||||||
source "drivers/power/Kconfig"
|
source "drivers/power/Kconfig"
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
# Rewritten to use lists instead of if-statements.
|
# Rewritten to use lists instead of if-statements.
|
||||||
#
|
#
|
||||||
|
|
||||||
|
obj-$(CONFIG_HAVE_GPIO_LIB) += gpio/
|
||||||
obj-$(CONFIG_PCI) += pci/
|
obj-$(CONFIG_PCI) += pci/
|
||||||
obj-$(CONFIG_PARISC) += parisc/
|
obj-$(CONFIG_PARISC) += parisc/
|
||||||
obj-$(CONFIG_RAPIDIO) += rapidio/
|
obj-$(CONFIG_RAPIDIO) += rapidio/
|
||||||
|
|
|
@ -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
|
|
@ -0,0 +1,4 @@
|
||||||
|
# gpio support: dedicated expander chips, etc
|
||||||
|
|
||||||
|
ccflags-$(CONFIG_DEBUG_GPIO) += -DDEBUG
|
||||||
|
|
Loading…
Reference in New Issue