| #ifndef __PLAT_GPIO_H |
| #define __PLAT_GPIO_H |
| |
| #define __ARM_GPIOLIB_COMPLEX |
| |
| /* The individual machine provides register offsets and NR_BUILTIN_GPIO */ |
| #include <mach/gpio-pxa.h> |
| |
| static inline int gpio_get_value(unsigned gpio) |
| { |
| if (__builtin_constant_p(gpio) && (gpio < NR_BUILTIN_GPIO)) |
| return GPLR(gpio) & GPIO_bit(gpio); |
| else |
| return __gpio_get_value(gpio); |
| } |
| |
| static inline void gpio_set_value(unsigned gpio, int value) |
| { |
| if (__builtin_constant_p(gpio) && (gpio < NR_BUILTIN_GPIO)) { |
| if (value) |
| GPSR(gpio) = GPIO_bit(gpio); |
| else |
| GPCR(gpio) = GPIO_bit(gpio); |
| } else |
| __gpio_set_value(gpio, value); |
| } |
| |
| #define gpio_cansleep __gpio_cansleep |
| |
| #endif /* __PLAT_GPIO_H */ |