aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDavid Brownell <dbrownell@users.sourceforge.net>2008-02-05 01:28:17 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-05 12:44:12 -0500
commita9c5fff542544c8595bb12efeb278a96d99386fc (patch)
tree28683c259e73f2f74d140b29ac3a9c3c1491e7a3 /drivers
parent99c84dbdc73d158a1ab955a4a5f74c18074796a3 (diff)
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/Kconfig2
-rw-r--r--drivers/Makefile1
-rw-r--r--drivers/gpio/Kconfig32
-rw-r--r--drivers/gpio/Makefile4
4 files changed, 39 insertions, 0 deletions
diff --git a/drivers/Kconfig b/drivers/Kconfig
index 3f8a231fe754..d74d9fbb9fd2 100644
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -52,6 +52,8 @@ source "drivers/i2c/Kconfig"
52 52
53source "drivers/spi/Kconfig" 53source "drivers/spi/Kconfig"
54 54
55source "drivers/gpio/Kconfig"
56
55source "drivers/w1/Kconfig" 57source "drivers/w1/Kconfig"
56 58
57source "drivers/power/Kconfig" 59source "drivers/power/Kconfig"
diff --git a/drivers/Makefile b/drivers/Makefile
index 0ee9a8a4095e..f1c11db52a57 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -5,6 +5,7 @@
5# Rewritten to use lists instead of if-statements. 5# Rewritten to use lists instead of if-statements.
6# 6#
7 7
8obj-$(CONFIG_HAVE_GPIO_LIB) += gpio/
8obj-$(CONFIG_PCI) += pci/ 9obj-$(CONFIG_PCI) += pci/
9obj-$(CONFIG_PARISC) += parisc/ 10obj-$(CONFIG_PARISC) += parisc/
10obj-$(CONFIG_RAPIDIO) += rapidio/ 11obj-$(CONFIG_RAPIDIO) += rapidio/
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
new file mode 100644
index 000000000000..560687c4667e
--- /dev/null
+++ b/drivers/gpio/Kconfig
@@ -0,0 +1,32 @@
1#
2# GPIO infrastructure and expanders
3#
4
5config HAVE_GPIO_LIB
6 bool
7 help
8 Platforms select gpiolib if they use this infrastructure
9 for all their GPIOs, usually starting with ones integrated
10 into SOC processors.
11
12menu "GPIO Support"
13 depends on HAVE_GPIO_LIB
14
15config DEBUG_GPIO
16 bool "Debug GPIO calls"
17 depends on DEBUG_KERNEL
18 help
19 Say Y here to add some extra checks and diagnostics to GPIO calls.
20 The checks help ensure that GPIOs have been properly initialized
21 before they are used and that sleeping calls aren not made from
22 nonsleeping contexts. They can make bitbanged serial protocols
23 slower. The diagnostics help catch the type of setup errors
24 that are most common when setting up new platforms or boards.
25
26# put expanders in the right section, in alphabetical order
27
28comment "I2C GPIO expanders:"
29
30comment "SPI GPIO expanders:"
31
32endmenu
diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
new file mode 100644
index 000000000000..369e4fc432e3
--- /dev/null
+++ b/drivers/gpio/Makefile
@@ -0,0 +1,4 @@
1# gpio support: dedicated expander chips, etc
2
3ccflags-$(CONFIG_DEBUG_GPIO) += -DDEBUG
4