at v2.6.28 2.3 kB view raw
1#ifndef __LINUX_GPIO_H 2#define __LINUX_GPIO_H 3 4/* see Documentation/gpio.txt */ 5 6#ifdef CONFIG_GENERIC_GPIO 7#include <asm/gpio.h> 8 9#else 10 11#include <linux/kernel.h> 12#include <linux/types.h> 13#include <linux/errno.h> 14 15/* 16 * Some platforms don't support the GPIO programming interface. 17 * 18 * In case some driver uses it anyway (it should normally have 19 * depended on GENERIC_GPIO), these routines help the compiler 20 * optimize out much GPIO-related code ... or trigger a runtime 21 * warning when something is wrongly called. 22 */ 23 24static inline int gpio_is_valid(int number) 25{ 26 return 0; 27} 28 29static inline int gpio_request(unsigned gpio, const char *label) 30{ 31 return -ENOSYS; 32} 33 34static inline void gpio_free(unsigned gpio) 35{ 36 might_sleep(); 37 38 /* GPIO can never have been requested */ 39 WARN_ON(1); 40} 41 42static inline int gpio_direction_input(unsigned gpio) 43{ 44 return -ENOSYS; 45} 46 47static inline int gpio_direction_output(unsigned gpio, int value) 48{ 49 return -ENOSYS; 50} 51 52static inline int gpio_get_value(unsigned gpio) 53{ 54 /* GPIO can never have been requested or set as {in,out}put */ 55 WARN_ON(1); 56 return 0; 57} 58 59static inline void gpio_set_value(unsigned gpio, int value) 60{ 61 /* GPIO can never have been requested or set as output */ 62 WARN_ON(1); 63} 64 65static inline int gpio_cansleep(unsigned gpio) 66{ 67 /* GPIO can never have been requested or set as {in,out}put */ 68 WARN_ON(1); 69 return 0; 70} 71 72static inline int gpio_get_value_cansleep(unsigned gpio) 73{ 74 /* GPIO can never have been requested or set as {in,out}put */ 75 WARN_ON(1); 76 return 0; 77} 78 79static inline void gpio_set_value_cansleep(unsigned gpio, int value) 80{ 81 /* GPIO can never have been requested or set as output */ 82 WARN_ON(1); 83} 84 85static inline int gpio_export(unsigned gpio, bool direction_may_change) 86{ 87 /* GPIO can never have been requested or set as {in,out}put */ 88 WARN_ON(1); 89 return -EINVAL; 90} 91 92static inline void gpio_unexport(unsigned gpio) 93{ 94 /* GPIO can never have been exported */ 95 WARN_ON(1); 96} 97 98static inline int gpio_to_irq(unsigned gpio) 99{ 100 /* GPIO can never have been requested or set as input */ 101 WARN_ON(1); 102 return -EINVAL; 103} 104 105static inline int irq_to_gpio(unsigned irq) 106{ 107 /* irq can never have been returned from gpio_to_irq() */ 108 WARN_ON(1); 109 return -EINVAL; 110} 111 112#endif 113 114#endif /* __LINUX_GPIO_H */