diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2008-02-05 01:28:17 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-05 12:44:12 -0500 |
commit | a9c5fff542544c8595bb12efeb278a96d99386fc (patch) | |
tree | 28683c259e73f2f74d140b29ac3a9c3c1491e7a3 | |
parent | 99c84dbdc73d158a1ab955a4a5f74c18074796a3 (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/Kconfig | 2 | ||||
-rw-r--r-- | drivers/Kconfig | 2 | ||||
-rw-r--r-- | drivers/Makefile | 1 | ||||
-rw-r--r-- | drivers/gpio/Kconfig | 32 | ||||
-rw-r--r-- | drivers/gpio/Makefile | 4 |
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 | ||
1123 | source "drivers/spi/Kconfig" | 1123 | source "drivers/spi/Kconfig" |
1124 | 1124 | ||
1125 | source "drivers/gpio/Kconfig" | ||
1126 | |||
1125 | source "drivers/w1/Kconfig" | 1127 | source "drivers/w1/Kconfig" |
1126 | 1128 | ||
1127 | source "drivers/power/Kconfig" | 1129 | source "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 | ||
53 | source "drivers/spi/Kconfig" | 53 | source "drivers/spi/Kconfig" |
54 | 54 | ||
55 | source "drivers/gpio/Kconfig" | ||
56 | |||
55 | source "drivers/w1/Kconfig" | 57 | source "drivers/w1/Kconfig" |
56 | 58 | ||
57 | source "drivers/power/Kconfig" | 59 | source "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 | ||
8 | obj-$(CONFIG_HAVE_GPIO_LIB) += gpio/ | ||
8 | obj-$(CONFIG_PCI) += pci/ | 9 | obj-$(CONFIG_PCI) += pci/ |
9 | obj-$(CONFIG_PARISC) += parisc/ | 10 | obj-$(CONFIG_PARISC) += parisc/ |
10 | obj-$(CONFIG_RAPIDIO) += rapidio/ | 11 | obj-$(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 | |||
5 | config 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 | |||
12 | menu "GPIO Support" | ||
13 | depends on HAVE_GPIO_LIB | ||
14 | |||
15 | config 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 | |||
28 | comment "I2C GPIO expanders:" | ||
29 | |||
30 | comment "SPI GPIO expanders:" | ||
31 | |||
32 | endmenu | ||
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 | |||
3 | ccflags-$(CONFIG_DEBUG_GPIO) += -DDEBUG | ||
4 | |||