gpio.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #ifndef ASM_X86__MACH_RDC321X__GPIO_H
  2. #define ASM_X86__MACH_RDC321X__GPIO_H
  3. #include <linux/kernel.h>
  4. extern int rdc_gpio_get_value(unsigned gpio);
  5. extern void rdc_gpio_set_value(unsigned gpio, int value);
  6. extern int rdc_gpio_direction_input(unsigned gpio);
  7. extern int rdc_gpio_direction_output(unsigned gpio, int value);
  8. extern int rdc_gpio_request(unsigned gpio, const char *label);
  9. extern void rdc_gpio_free(unsigned gpio);
  10. extern void __init rdc321x_gpio_setup(void);
  11. /* Wrappers for the arch-neutral GPIO API */
  12. static inline int gpio_request(unsigned gpio, const char *label)
  13. {
  14. return rdc_gpio_request(gpio, label);
  15. }
  16. static inline void gpio_free(unsigned gpio)
  17. {
  18. might_sleep();
  19. rdc_gpio_free(gpio);
  20. }
  21. static inline int gpio_direction_input(unsigned gpio)
  22. {
  23. return rdc_gpio_direction_input(gpio);
  24. }
  25. static inline int gpio_direction_output(unsigned gpio, int value)
  26. {
  27. return rdc_gpio_direction_output(gpio, value);
  28. }
  29. static inline int gpio_get_value(unsigned gpio)
  30. {
  31. return rdc_gpio_get_value(gpio);
  32. }
  33. static inline void gpio_set_value(unsigned gpio, int value)
  34. {
  35. rdc_gpio_set_value(gpio, value);
  36. }
  37. static inline int gpio_to_irq(unsigned gpio)
  38. {
  39. return gpio;
  40. }
  41. static inline int irq_to_gpio(unsigned irq)
  42. {
  43. return irq;
  44. }
  45. /* For cansleep */
  46. #include <asm-generic/gpio.h>
  47. #endif /* ASM_X86__MACH_RDC321X__GPIO_H */