diff options
author | David S. Miller <davem@davemloft.net> | 2008-08-21 02:03:24 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-08-24 23:33:56 -0400 |
commit | 15df0f3302fdecaa97da0b95d72b3a9a59be8692 (patch) | |
tree | bafd5996a7f88b07954fdd1408559c1537bc85b4 /arch | |
parent | 44266215e3c8209613cea014721015113b7cd2d9 (diff) |
sparc: Add GPIO layer support.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/sparc/Kconfig | 6 | ||||
-rw-r--r-- | arch/sparc/include/asm/gpio.h | 36 | ||||
-rw-r--r-- | arch/sparc64/Kconfig | 6 |
3 files changed, 48 insertions, 0 deletions
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig index a214002114ed..cb1dd356b278 100644 --- a/arch/sparc/Kconfig +++ b/arch/sparc/Kconfig | |||
@@ -20,6 +20,11 @@ config GENERIC_ISA_DMA | |||
20 | bool | 20 | bool |
21 | default y | 21 | default y |
22 | 22 | ||
23 | config GENERIC_GPIO | ||
24 | bool | ||
25 | help | ||
26 | Generic GPIO API support | ||
27 | |||
23 | config ARCH_NO_VIRT_TO_BUS | 28 | config ARCH_NO_VIRT_TO_BUS |
24 | def_bool y | 29 | def_bool y |
25 | 30 | ||
@@ -69,6 +74,7 @@ config SPARC | |||
69 | select HAVE_OPROFILE | 74 | select HAVE_OPROFILE |
70 | select HAVE_ARCH_KGDB if !SMP | 75 | select HAVE_ARCH_KGDB if !SMP |
71 | select HAVE_ARCH_TRACEHOOK | 76 | select HAVE_ARCH_TRACEHOOK |
77 | select ARCH_WANT_OPTIONAL_GPIOLIB | ||
72 | 78 | ||
73 | # Identify this as a Sparc32 build | 79 | # Identify this as a Sparc32 build |
74 | config SPARC32 | 80 | config SPARC32 |
diff --git a/arch/sparc/include/asm/gpio.h b/arch/sparc/include/asm/gpio.h new file mode 100644 index 000000000000..a0e3ac0af599 --- /dev/null +++ b/arch/sparc/include/asm/gpio.h | |||
@@ -0,0 +1,36 @@ | |||
1 | #ifndef __ASM_SPARC_GPIO_H | ||
2 | #define __ASM_SPARC_GPIO_H | ||
3 | |||
4 | #include <linux/errno.h> | ||
5 | #include <asm-generic/gpio.h> | ||
6 | |||
7 | #ifdef CONFIG_GPIOLIB | ||
8 | |||
9 | static inline int gpio_get_value(unsigned int gpio) | ||
10 | { | ||
11 | return __gpio_get_value(gpio); | ||
12 | } | ||
13 | |||
14 | static inline void gpio_set_value(unsigned int gpio, int value) | ||
15 | { | ||
16 | __gpio_set_value(gpio, value); | ||
17 | } | ||
18 | |||
19 | static inline int gpio_cansleep(unsigned int gpio) | ||
20 | { | ||
21 | return __gpio_cansleep(gpio); | ||
22 | } | ||
23 | |||
24 | static inline int gpio_to_irq(unsigned int gpio) | ||
25 | { | ||
26 | return -ENOSYS; | ||
27 | } | ||
28 | |||
29 | static inline int irq_to_gpio(unsigned int irq) | ||
30 | { | ||
31 | return -EINVAL; | ||
32 | } | ||
33 | |||
34 | #endif /* CONFIG_GPIOLIB */ | ||
35 | |||
36 | #endif /* __ASM_SPARC_GPIO_H */ | ||
diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig index 923a98959fa7..489b6912fa09 100644 --- a/arch/sparc64/Kconfig +++ b/arch/sparc64/Kconfig | |||
@@ -18,6 +18,7 @@ config SPARC64 | |||
18 | select HAVE_ARCH_KGDB | 18 | select HAVE_ARCH_KGDB |
19 | select USE_GENERIC_SMP_HELPERS if SMP | 19 | select USE_GENERIC_SMP_HELPERS if SMP |
20 | select HAVE_ARCH_TRACEHOOK | 20 | select HAVE_ARCH_TRACEHOOK |
21 | select ARCH_WANT_OPTIONAL_GPIOLIB | ||
21 | 22 | ||
22 | config GENERIC_TIME | 23 | config GENERIC_TIME |
23 | bool | 24 | bool |
@@ -31,6 +32,11 @@ config GENERIC_CLOCKEVENTS | |||
31 | bool | 32 | bool |
32 | default y | 33 | default y |
33 | 34 | ||
35 | config GENERIC_GPIO | ||
36 | bool | ||
37 | help | ||
38 | Generic GPIO API support | ||
39 | |||
34 | config 64BIT | 40 | config 64BIT |
35 | def_bool y | 41 | def_bool y |
36 | 42 | ||