1#ifndef _AU1XXX_GPIO_H_ 2#define _AU1XXX_GPIO_H_ 3 4#include <linux/types.h> 5 6#define AU1XXX_GPIO_BASE 200 7 8struct au1x00_gpio2 { 9 u32 dir; 10 u32 reserved; 11 u32 output; 12 u32 pinstate; 13 u32 inten; 14 u32 enable; 15}; 16 17extern int au1xxx_gpio_get_value(unsigned gpio); 18extern void au1xxx_gpio_set_value(unsigned gpio, int value); 19extern int au1xxx_gpio_direction_input(unsigned gpio); 20extern int au1xxx_gpio_direction_output(unsigned gpio, int value); 21 22 23/* Wrappers for the arch-neutral GPIO API */ 24 25static inline int gpio_request(unsigned gpio, const char *label) 26{ 27 /* Not yet implemented */ 28 return 0; 29} 30 31static inline void gpio_free(unsigned gpio) 32{ 33 /* Not yet implemented */ 34} 35 36static inline int gpio_direction_input(unsigned gpio) 37{ 38 return au1xxx_gpio_direction_input(gpio); 39} 40 41static inline int gpio_direction_output(unsigned gpio, int value) 42{ 43 return au1xxx_gpio_direction_output(gpio, value); 44} 45 46static inline int gpio_get_value(unsigned gpio) 47{ 48 return au1xxx_gpio_get_value(gpio); 49} 50 51static inline void gpio_set_value(unsigned gpio, int value) 52{ 53 au1xxx_gpio_set_value(gpio, value); 54} 55 56static inline int gpio_to_irq(unsigned gpio) 57{ 58 return gpio; 59} 60 61static inline int irq_to_gpio(unsigned irq) 62{ 63 return irq; 64} 65 66/* For cansleep */ 67#include <asm-generic/gpio.h> 68 69#endif /* _AU1XXX_GPIO_H_ */ 70