Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[linux-btrfs-devel.git] / arch / arm / plat-pxa / include / plat / gpio.h
blob258f77210b02ab8784771aa89b9d2d0b9428169a
1 #ifndef __PLAT_GPIO_H
2 #define __PLAT_GPIO_H
4 #define __ARM_GPIOLIB_COMPLEX
6 /* The individual machine provides register offsets and NR_BUILTIN_GPIO */
7 #include <mach/gpio-pxa.h>
9 static inline int gpio_get_value(unsigned gpio)
11 if (__builtin_constant_p(gpio) && (gpio < NR_BUILTIN_GPIO))
12 return GPLR(gpio) & GPIO_bit(gpio);
13 else
14 return __gpio_get_value(gpio);
17 static inline void gpio_set_value(unsigned gpio, int value)
19 if (__builtin_constant_p(gpio) && (gpio < NR_BUILTIN_GPIO)) {
20 if (value)
21 GPSR(gpio) = GPIO_bit(gpio);
22 else
23 GPCR(gpio) = GPIO_bit(gpio);
24 } else
25 __gpio_set_value(gpio, value);
28 #define gpio_cansleep __gpio_cansleep
30 #endif /* __PLAT_GPIO_H */