gpio.h 690 B

123456789101112131415161718192021222324252627282930
  1. #ifndef __PLAT_GPIO_H
  2. #define __PLAT_GPIO_H
  3. #define __ARM_GPIOLIB_COMPLEX
  4. /* The individual machine provides register offsets and NR_BUILTIN_GPIO */
  5. #include <mach/gpio-pxa.h>
  6. static inline int gpio_get_value(unsigned gpio)
  7. {
  8. if (__builtin_constant_p(gpio) && (gpio < NR_BUILTIN_GPIO))
  9. return GPLR(gpio) & GPIO_bit(gpio);
  10. else
  11. return __gpio_get_value(gpio);
  12. }
  13. static inline void gpio_set_value(unsigned gpio, int value)
  14. {
  15. if (__builtin_constant_p(gpio) && (gpio < NR_BUILTIN_GPIO)) {
  16. if (value)
  17. GPSR(gpio) = GPIO_bit(gpio);
  18. else
  19. GPCR(gpio) = GPIO_bit(gpio);
  20. } else
  21. __gpio_set_value(gpio, value);
  22. }
  23. #define gpio_cansleep __gpio_cansleep
  24. #endif /* __PLAT_GPIO_H */