aboutsummaryrefslogtreecommitdiffstats
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
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>
-rw-r--r--arch/arm/Kconfig2
-rw-r--r--drivers/Kconfig2
-rw-r--r--drivers/Makefile1
-rw-r--r--drivers/gpio/Kconfig32
-rw-r--r--drivers/gpio/Makefile4
5 files changed, 41 insertions, 0 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 64d19eff3faa..a322f58cdc90 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1122,6 +1122,8 @@ source "drivers/i2c/Kconfig"
1122 1122
1123source "drivers/spi/Kconfig" 1123source "drivers/spi/Kconfig"
1124 1124
1125source "drivers/gpio/Kconfig"
1126
1125source "drivers/w1/Kconfig" 1127source "drivers/w1/Kconfig"
1126 1128
1127source "drivers/power/Kconfig" 1129source "drivers/power/Kconfig"
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