diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-arm/arch-at91/gpio.h | 2 | ||||
-rw-r--r-- | include/asm-arm/arch-omap/gpio.h | 3 | ||||
-rw-r--r-- | include/asm-arm/arch-pxa/gpio.h | 4 | ||||
-rw-r--r-- | include/asm-arm/arch-s3c2410/gpio.h | 4 | ||||
-rw-r--r-- | include/asm-arm/arch-sa1100/gpio.h | 2 | ||||
-rw-r--r-- | include/asm-avr32/arch-at32ap/gpio.h | 2 |
6 files changed, 10 insertions, 7 deletions
diff --git a/include/asm-arm/arch-at91/gpio.h b/include/asm-arm/arch-at91/gpio.h index 98ad2114f43a..0a241e2fb672 100644 --- a/include/asm-arm/arch-at91/gpio.h +++ b/include/asm-arm/arch-at91/gpio.h | |||
@@ -223,7 +223,7 @@ static inline void gpio_free(unsigned gpio) | |||
223 | } | 223 | } |
224 | 224 | ||
225 | extern int gpio_direction_input(unsigned gpio); | 225 | extern int gpio_direction_input(unsigned gpio); |
226 | extern int gpio_direction_output(unsigned gpio); | 226 | extern int gpio_direction_output(unsigned gpio, int value); |
227 | 227 | ||
228 | static inline int gpio_get_value(unsigned gpio) | 228 | static inline int gpio_get_value(unsigned gpio) |
229 | { | 229 | { |
diff --git a/include/asm-arm/arch-omap/gpio.h b/include/asm-arm/arch-omap/gpio.h index 3762a6ae6a7f..590917efc94a 100644 --- a/include/asm-arm/arch-omap/gpio.h +++ b/include/asm-arm/arch-omap/gpio.h | |||
@@ -113,8 +113,9 @@ static inline int gpio_direction_input(unsigned gpio) | |||
113 | return __gpio_set_direction(gpio, 1); | 113 | return __gpio_set_direction(gpio, 1); |
114 | } | 114 | } |
115 | 115 | ||
116 | static inline int gpio_direction_output(unsigned gpio) | 116 | static inline int gpio_direction_output(unsigned gpio, int value) |
117 | { | 117 | { |
118 | omap_set_gpio_dataout(gpio, value); | ||
118 | return __gpio_set_direction(gpio, 0); | 119 | return __gpio_set_direction(gpio, 0); |
119 | } | 120 | } |
120 | 121 | ||
diff --git a/include/asm-arm/arch-pxa/gpio.h b/include/asm-arm/arch-pxa/gpio.h index 3d348a351157..aeba24347f8e 100644 --- a/include/asm-arm/arch-pxa/gpio.h +++ b/include/asm-arm/arch-pxa/gpio.h | |||
@@ -43,9 +43,9 @@ static inline int gpio_direction_input(unsigned gpio) | |||
43 | return pxa_gpio_mode(gpio | GPIO_IN); | 43 | return pxa_gpio_mode(gpio | GPIO_IN); |
44 | } | 44 | } |
45 | 45 | ||
46 | static inline int gpio_direction_output(unsigned gpio) | 46 | static inline int gpio_direction_output(unsigned gpio, int value) |
47 | { | 47 | { |
48 | return pxa_gpio_mode(gpio | GPIO_OUT); | 48 | return pxa_gpio_mode(gpio | GPIO_OUT | (value ? 0 : GPIO_DFLT_LOW)); |
49 | } | 49 | } |
50 | 50 | ||
51 | static inline int __gpio_get_value(unsigned gpio) | 51 | static inline int __gpio_get_value(unsigned gpio) |
diff --git a/include/asm-arm/arch-s3c2410/gpio.h b/include/asm-arm/arch-s3c2410/gpio.h index d47ae453f8ca..7583895fd336 100644 --- a/include/asm-arm/arch-s3c2410/gpio.h +++ b/include/asm-arm/arch-s3c2410/gpio.h | |||
@@ -44,9 +44,11 @@ static inline int gpio_direction_input(unsigned gpio) | |||
44 | return 0; | 44 | return 0; |
45 | } | 45 | } |
46 | 46 | ||
47 | static inline int gpio_direction_output(unsigned gpio) | 47 | static inline int gpio_direction_output(unsigned gpio, int value) |
48 | { | 48 | { |
49 | s3c2410_gpio_cfgpin(gpio, S3C2410_GPIO_OUTPUT); | 49 | s3c2410_gpio_cfgpin(gpio, S3C2410_GPIO_OUTPUT); |
50 | /* REVISIT can we write the value first, to avoid glitching? */ | ||
51 | s3c2410_gpio_setpin(gpio, value); | ||
50 | return 0; | 52 | return 0; |
51 | } | 53 | } |
52 | 54 | ||
diff --git a/include/asm-arm/arch-sa1100/gpio.h b/include/asm-arm/arch-sa1100/gpio.h index da7575b0e5d0..e7a9d26e22a8 100644 --- a/include/asm-arm/arch-sa1100/gpio.h +++ b/include/asm-arm/arch-sa1100/gpio.h | |||
@@ -38,7 +38,7 @@ static inline void gpio_free(unsigned gpio) | |||
38 | } | 38 | } |
39 | 39 | ||
40 | extern int gpio_direction_input(unsigned gpio); | 40 | extern int gpio_direction_input(unsigned gpio); |
41 | extern int gpio_direction_output(unsigned gpio); | 41 | extern int gpio_direction_output(unsigned gpio, int value); |
42 | 42 | ||
43 | 43 | ||
44 | static inline int gpio_get_value(unsigned gpio) | 44 | static inline int gpio_get_value(unsigned gpio) |
diff --git a/include/asm-avr32/arch-at32ap/gpio.h b/include/asm-avr32/arch-at32ap/gpio.h index fcb756bdaa8e..80a21aa9ae77 100644 --- a/include/asm-avr32/arch-at32ap/gpio.h +++ b/include/asm-avr32/arch-at32ap/gpio.h | |||
@@ -10,7 +10,7 @@ int __must_check gpio_request(unsigned int gpio, const char *label); | |||
10 | void gpio_free(unsigned int gpio); | 10 | void gpio_free(unsigned int gpio); |
11 | 11 | ||
12 | int gpio_direction_input(unsigned int gpio); | 12 | int gpio_direction_input(unsigned int gpio); |
13 | int gpio_direction_output(unsigned int gpio); | 13 | int gpio_direction_output(unsigned int gpio, int value); |
14 | int gpio_get_value(unsigned int gpio); | 14 | int gpio_get_value(unsigned int gpio); |
15 | void gpio_set_value(unsigned int gpio, int value); | 15 | void gpio_set_value(unsigned int gpio, int value); |
16 | 16 | ||