/linux-4.1.27/arch/mips/include/asm/mach-generic/ |
H A D | gpio.h | 9 int gpio_request(unsigned gpio, const char *label); 10 void gpio_free(unsigned gpio); 11 int gpio_direction_input(unsigned gpio); 12 int gpio_direction_output(unsigned gpio, int value); 13 int gpio_get_value(unsigned gpio); 14 void gpio_set_value(unsigned gpio, int value); 16 int gpio_to_irq(unsigned gpio); 19 #include <asm-generic/gpio.h> /* cansleep wrappers */
|
/linux-4.1.27/sound/aoa/core/ |
H A D | Makefile | 4 gpio-pmf.o \ 5 gpio-feature.o
|
/linux-4.1.27/arch/mips/include/asm/mach-cavium-octeon/ |
H A D | gpio.h | 9 int gpio_request(unsigned gpio, const char *label); 10 void gpio_free(unsigned gpio); 11 int gpio_direction_input(unsigned gpio); 12 int gpio_direction_output(unsigned gpio, int value); 13 int gpio_get_value(unsigned gpio); 14 void gpio_set_value(unsigned gpio, int value); 17 #include <asm-generic/gpio.h>
|
/linux-4.1.27/arch/m68k/include/asm/ |
H A D | gpio.h | 26 * If the gpio is a compile time constant and is one of the Coldfire gpios, 30 static inline int gpio_get_value(unsigned gpio) gpio_get_value() argument 32 if (__builtin_constant_p(gpio) && gpio < MCFGPIO_PIN_MAX) gpio_get_value() 33 return mcfgpio_read(__mcfgpio_ppdr(gpio)) & mcfgpio_bit(gpio); gpio_get_value() 35 return __gpio_get_value(gpio); gpio_get_value() 38 static inline void gpio_set_value(unsigned gpio, int value) gpio_set_value() argument 40 if (__builtin_constant_p(gpio) && gpio < MCFGPIO_PIN_MAX) { gpio_set_value() 41 if (gpio < MCFGPIO_SCR_START) { gpio_set_value() 46 data = mcfgpio_read(__mcfgpio_podr(gpio)); gpio_set_value() 48 data |= mcfgpio_bit(gpio); gpio_set_value() 50 data &= ~mcfgpio_bit(gpio); gpio_set_value() 51 mcfgpio_write(data, __mcfgpio_podr(gpio)); gpio_set_value() 55 mcfgpio_write(mcfgpio_bit(gpio), gpio_set_value() 56 MCFGPIO_SETR_PORT(gpio)); gpio_set_value() 58 mcfgpio_write(~mcfgpio_bit(gpio), gpio_set_value() 59 MCFGPIO_CLRR_PORT(gpio)); gpio_set_value() 62 __gpio_set_value(gpio, value); gpio_set_value() 65 static inline int gpio_to_irq(unsigned gpio) gpio_to_irq() argument 68 if ((gpio >= MCFGPIO_IRQ_MIN) && (gpio < MCFGPIO_IRQ_MAX)) gpio_to_irq() 70 if (gpio < MCFGPIO_IRQ_MAX) gpio_to_irq() 72 return gpio + MCFGPIO_IRQ_VECBASE; gpio_to_irq() 74 return __gpio_to_irq(gpio); gpio_to_irq() 84 static inline int gpio_cansleep(unsigned gpio) gpio_cansleep() argument 86 return gpio < MCFGPIO_PIN_MAX ? 0 : __gpio_cansleep(gpio); gpio_cansleep() 90 static inline int gpio_request_one(unsigned gpio, unsigned long flags, const char *label) gpio_request_one() argument 94 err = gpio_request(gpio, label); gpio_request_one() 99 err = gpio_direction_input(gpio); gpio_request_one() 101 err = gpio_direction_output(gpio, gpio_request_one() 105 gpio_free(gpio); gpio_request_one()
|
H A D | mcfgpio.h | 20 #include <asm-generic/gpio.h> 23 int __mcfgpio_get_value(unsigned gpio); 24 void __mcfgpio_set_value(unsigned gpio, int value); 25 int __mcfgpio_direction_input(unsigned gpio); 26 int __mcfgpio_direction_output(unsigned gpio, int value); 27 int __mcfgpio_request(unsigned gpio); 28 void __mcfgpio_free(unsigned gpio); 31 static inline int __gpio_get_value(unsigned gpio) __gpio_get_value() argument 33 if (gpio < MCFGPIO_PIN_MAX) __gpio_get_value() 34 return __mcfgpio_get_value(gpio); __gpio_get_value() 39 static inline void __gpio_set_value(unsigned gpio, int value) __gpio_set_value() argument 41 if (gpio < MCFGPIO_PIN_MAX) __gpio_set_value() 42 __mcfgpio_set_value(gpio, value); __gpio_set_value() 45 static inline int __gpio_cansleep(unsigned gpio) __gpio_cansleep() argument 47 if (gpio < MCFGPIO_PIN_MAX) __gpio_cansleep() 53 static inline int __gpio_to_irq(unsigned gpio) __gpio_to_irq() argument 58 static inline int gpio_direction_input(unsigned gpio) gpio_direction_input() argument 60 if (gpio < MCFGPIO_PIN_MAX) gpio_direction_input() 61 return __mcfgpio_direction_input(gpio); gpio_direction_input() 66 static inline int gpio_direction_output(unsigned gpio, int value) gpio_direction_output() argument 68 if (gpio < MCFGPIO_PIN_MAX) gpio_direction_output() 69 return __mcfgpio_direction_output(gpio, value); gpio_direction_output() 74 static inline int gpio_request(unsigned gpio, const char *label) gpio_request() argument 76 if (gpio < MCFGPIO_PIN_MAX) gpio_request() 77 return __mcfgpio_request(gpio); gpio_request() 82 static inline void gpio_free(unsigned gpio) gpio_free() argument 84 if (gpio < MCFGPIO_PIN_MAX) gpio_free() 85 __mcfgpio_free(gpio); gpio_free() 137 #define mcfgpio_bit(gpio) (1 << ((gpio) % MCFGPIO_PORTSIZE)) 138 #define mcfgpio_port(gpio) ((gpio) / MCFGPIO_PORTSIZE) 162 #define MCFGPIO_SETR_PORT(gpio) (MCFGPIO_SETR + \ 163 mcfgpio_port(gpio - MCFGPIO_SCR_START)) 165 #define MCFGPIO_CLRR_PORT(gpio) (MCFGPIO_CLRR + \ 166 mcfgpio_port(gpio - MCFGPIO_SCR_START)) 171 #define MCFGPIO_SETR_PORT(gpio) 0 172 #define MCFGPIO_CLRR_PORT(gpio) 0 179 /* return the port pin data register for a gpio */ __mcfgpio_ppdr() 180 static inline u32 __mcfgpio_ppdr(unsigned gpio) __mcfgpio_ppdr() argument 186 if (gpio < 16) __mcfgpio_ppdr() 188 else if (gpio < 32) __mcfgpio_ppdr() 193 if (gpio < 32) __mcfgpio_ppdr() 202 if (gpio < 8) __mcfgpio_ppdr() 205 else if (gpio < 16) __mcfgpio_ppdr() 207 else if (gpio < 24) __mcfgpio_ppdr() 209 else if (gpio < 32) __mcfgpio_ppdr() 211 else if (gpio < 40) __mcfgpio_ppdr() 216 return MCFGPIO_PPDR + mcfgpio_port(gpio - MCFGPIO_SCR_START); __mcfgpio_ppdr() 222 /* return the port output data register for a gpio */ __mcfgpio_podr() 223 static inline u32 __mcfgpio_podr(unsigned gpio) __mcfgpio_podr() argument 229 if (gpio < 16) __mcfgpio_podr() 231 else if (gpio < 32) __mcfgpio_podr() 236 if (gpio < 32) __mcfgpio_podr() 245 if (gpio < 8) __mcfgpio_podr() 248 else if (gpio < 16) __mcfgpio_podr() 250 else if (gpio < 24) __mcfgpio_podr() 252 else if (gpio < 32) __mcfgpio_podr() 254 else if (gpio < 40) __mcfgpio_podr() 259 return MCFGPIO_PODR + mcfgpio_port(gpio - MCFGPIO_SCR_START); __mcfgpio_podr() 265 /* return the port direction data register for a gpio */ __mcfgpio_pddr() 266 static inline u32 __mcfgpio_pddr(unsigned gpio) __mcfgpio_pddr() argument 272 if (gpio < 16) __mcfgpio_pddr() 274 else if (gpio < 32) __mcfgpio_pddr() 279 if (gpio < 32) __mcfgpio_pddr() 288 if (gpio < 8) __mcfgpio_pddr() 291 else if (gpio < 16) __mcfgpio_pddr() 293 else if (gpio < 24) __mcfgpio_pddr() 295 else if (gpio < 32) __mcfgpio_pddr() 297 else if (gpio < 40) __mcfgpio_pddr() 302 return MCFGPIO_PDDR + mcfgpio_port(gpio - MCFGPIO_SCR_START); __mcfgpio_pddr()
|
/linux-4.1.27/arch/mips/ar7/ |
H A D | Makefile | 9 gpio.o \
|
H A D | gpio.c | 22 #include <linux/gpio.h> 24 #include <asm/mach-ar7/gpio.h> 31 static int ar7_gpio_get_value(struct gpio_chip *chip, unsigned gpio) ar7_gpio_get_value() argument 37 return readl(gpio_in) & (1 << gpio); ar7_gpio_get_value() 40 static int titan_gpio_get_value(struct gpio_chip *chip, unsigned gpio) titan_gpio_get_value() argument 47 return readl(gpio >> 5 ? gpio_in1 : gpio_in0) & (1 << (gpio & 0x1f)); titan_gpio_get_value() 51 unsigned gpio, int value) ar7_gpio_set_value() 58 tmp = readl(gpio_out) & ~(1 << gpio); ar7_gpio_set_value() 60 tmp |= 1 << gpio; ar7_gpio_set_value() 65 unsigned gpio, int value) titan_gpio_set_value() 73 tmp = readl(gpio >> 5 ? gpio_out1 : gpio_out0) & ~(1 << (gpio & 0x1f)); titan_gpio_set_value() 75 tmp |= 1 << (gpio & 0x1f); titan_gpio_set_value() 76 writel(tmp, gpio >> 5 ? gpio_out1 : gpio_out0); titan_gpio_set_value() 79 static int ar7_gpio_direction_input(struct gpio_chip *chip, unsigned gpio) ar7_gpio_direction_input() argument 85 writel(readl(gpio_dir) | (1 << gpio), gpio_dir); ar7_gpio_direction_input() 90 static int titan_gpio_direction_input(struct gpio_chip *chip, unsigned gpio) titan_gpio_direction_input() argument 97 if (gpio >= TITAN_GPIO_MAX) titan_gpio_direction_input() 100 writel(readl(gpio >> 5 ? gpio_dir1 : gpio_dir0) | (1 << (gpio & 0x1f)), titan_gpio_direction_input() 101 gpio >> 5 ? gpio_dir1 : gpio_dir0); titan_gpio_direction_input() 106 unsigned gpio, int value) ar7_gpio_direction_output() 112 ar7_gpio_set_value(chip, gpio, value); ar7_gpio_direction_output() 113 writel(readl(gpio_dir) & ~(1 << gpio), gpio_dir); ar7_gpio_direction_output() 119 unsigned gpio, int value) titan_gpio_direction_output() 126 if (gpio >= TITAN_GPIO_MAX) titan_gpio_direction_output() 129 titan_gpio_set_value(chip, gpio, value); titan_gpio_direction_output() 130 writel(readl(gpio >> 5 ? gpio_dir1 : gpio_dir0) & ~(1 << titan_gpio_direction_output() 131 (gpio & 0x1f)), gpio >> 5 ? gpio_dir1 : gpio_dir0); titan_gpio_direction_output() 138 .label = "ar7-gpio", 150 .label = "titan-gpio", 160 static inline int ar7_gpio_enable_ar7(unsigned gpio) ar7_gpio_enable_ar7() argument 164 writel(readl(gpio_en) | (1 << gpio), gpio_en); ar7_gpio_enable_ar7() 169 static inline int ar7_gpio_enable_titan(unsigned gpio) ar7_gpio_enable_titan() argument 174 writel(readl(gpio >> 5 ? gpio_en1 : gpio_en0) | (1 << (gpio & 0x1f)), ar7_gpio_enable_titan() 175 gpio >> 5 ? gpio_en1 : gpio_en0); ar7_gpio_enable_titan() 180 int ar7_gpio_enable(unsigned gpio) ar7_gpio_enable() argument 182 return ar7_is_titan() ? ar7_gpio_enable_titan(gpio) : ar7_gpio_enable() 183 ar7_gpio_enable_ar7(gpio); ar7_gpio_enable() 187 static inline int ar7_gpio_disable_ar7(unsigned gpio) ar7_gpio_disable_ar7() argument 191 writel(readl(gpio_en) & ~(1 << gpio), gpio_en); ar7_gpio_disable_ar7() 196 static inline int ar7_gpio_disable_titan(unsigned gpio) ar7_gpio_disable_titan() argument 201 writel(readl(gpio >> 5 ? gpio_en1 : gpio_en0) & ~(1 << (gpio & 0x1f)), ar7_gpio_disable_titan() 202 gpio >> 5 ? gpio_en1 : gpio_en0); ar7_gpio_disable_titan() 207 int ar7_gpio_disable(unsigned gpio) ar7_gpio_disable() argument 209 return ar7_is_titan() ? ar7_gpio_disable_titan(gpio) : ar7_gpio_disable() 210 ar7_gpio_disable_ar7(gpio); ar7_gpio_disable() 276 static int titan_gpio_pinsel(unsigned gpio) titan_gpio_pinsel() argument 282 if (gpio >= ARRAY_SIZE(titan_gpio_table)) titan_gpio_pinsel() 285 gpio_cfg = titan_gpio_table[gpio]; titan_gpio_pinsel() 50 ar7_gpio_set_value(struct gpio_chip *chip, unsigned gpio, int value) ar7_gpio_set_value() argument 64 titan_gpio_set_value(struct gpio_chip *chip, unsigned gpio, int value) titan_gpio_set_value() argument 105 ar7_gpio_direction_output(struct gpio_chip *chip, unsigned gpio, int value) ar7_gpio_direction_output() argument 118 titan_gpio_direction_output(struct gpio_chip *chip, unsigned gpio, int value) titan_gpio_direction_output() argument
|
/linux-4.1.27/arch/mips/include/asm/ |
H A D | gpio.h | 4 #include <gpio.h>
|
/linux-4.1.27/arch/avr32/include/asm/ |
H A D | gpio.h | 4 #include <mach/gpio.h>
|
/linux-4.1.27/arch/mips/include/asm/mach-au1x00/ |
H A D | gpio-au1300.h | 2 * gpio-au1300.h -- GPIO control for Au1300 GPIC and compatibles. 14 struct gpio; 28 static inline int au1300_gpio_get_value(unsigned int gpio) au1300_gpio_get_value() argument 33 gpio -= AU1300_GPIO_BASE; au1300_gpio_get_value() 34 roff += GPIC_GPIO_BANKOFF(gpio); au1300_gpio_get_value() 35 bit = GPIC_GPIO_TO_BIT(gpio); au1300_gpio_get_value() 39 static inline int au1300_gpio_direction_input(unsigned int gpio) au1300_gpio_direction_input() argument 44 gpio -= AU1300_GPIO_BASE; au1300_gpio_direction_input() 46 roff += GPIC_GPIO_BANKOFF(gpio); au1300_gpio_direction_input() 47 bit = GPIC_GPIO_TO_BIT(gpio); au1300_gpio_direction_input() 54 static inline int au1300_gpio_set_value(unsigned int gpio, int v) au1300_gpio_set_value() argument 59 gpio -= AU1300_GPIO_BASE; au1300_gpio_set_value() 61 roff += GPIC_GPIO_BANKOFF(gpio); au1300_gpio_set_value() 62 bit = GPIC_GPIO_TO_BIT(gpio); au1300_gpio_set_value() 70 static inline int au1300_gpio_direction_output(unsigned int gpio, int v) au1300_gpio_direction_output() argument 73 return au1300_gpio_set_value(gpio, v); au1300_gpio_direction_output() 76 static inline int au1300_gpio_to_irq(unsigned int gpio) au1300_gpio_to_irq() argument 78 return AU1300_FIRST_INT + (gpio - AU1300_GPIO_BASE); au1300_gpio_to_irq() 86 static inline int au1300_gpio_is_valid(unsigned int gpio) au1300_gpio_is_valid() argument 92 ret = ((gpio >= AU1300_GPIO_BASE) && (gpio <= AU1300_GPIO_MAX)); au1300_gpio_is_valid() 100 static inline int au1300_gpio_cansleep(unsigned int gpio) au1300_gpio_cansleep() argument 105 /* hardware remembers gpio 0-63 levels on powerup */ au1300_gpio_getinitlvl() 106 static inline int au1300_gpio_getinitlvl(unsigned int gpio) au1300_gpio_getinitlvl() argument 111 if (unlikely(gpio > 63)) au1300_gpio_getinitlvl() 113 else if (gpio > 31) { au1300_gpio_getinitlvl() 114 gpio -= 32; au1300_gpio_getinitlvl() 119 return (v >> gpio) & 1; au1300_gpio_getinitlvl() 124 /* Linux gpio framework integration. 133 * the boards' gpio.h must provide the linux gpio wrapper functions, 136 * inlinable gpio functions are provided which enable access to the 154 static inline int gpio_direction_input(unsigned int gpio) gpio_direction_input() argument 156 return au1300_gpio_direction_input(gpio); gpio_direction_input() 159 static inline int gpio_direction_output(unsigned int gpio, int v) gpio_direction_output() argument 161 return au1300_gpio_direction_output(gpio, v); gpio_direction_output() 164 static inline int gpio_get_value(unsigned int gpio) gpio_get_value() argument 166 return au1300_gpio_get_value(gpio); gpio_get_value() 169 static inline void gpio_set_value(unsigned int gpio, int v) gpio_set_value() argument 171 au1300_gpio_set_value(gpio, v); gpio_set_value() 174 static inline int gpio_get_value_cansleep(unsigned gpio) gpio_get_value_cansleep() argument 176 return gpio_get_value(gpio); gpio_get_value_cansleep() 179 static inline void gpio_set_value_cansleep(unsigned gpio, int value) gpio_set_value_cansleep() argument 181 gpio_set_value(gpio, value); gpio_set_value_cansleep() 184 static inline int gpio_is_valid(unsigned int gpio) gpio_is_valid() argument 186 return au1300_gpio_is_valid(gpio); gpio_is_valid() 189 static inline int gpio_cansleep(unsigned int gpio) gpio_cansleep() argument 191 return au1300_gpio_cansleep(gpio); gpio_cansleep() 194 static inline int gpio_to_irq(unsigned int gpio) gpio_to_irq() argument 196 return au1300_gpio_to_irq(gpio); gpio_to_irq() 204 static inline int gpio_request(unsigned int gpio, const char *label) gpio_request() argument 209 static inline int gpio_request_one(unsigned gpio, gpio_request_one() argument 215 static inline int gpio_request_array(struct gpio *array, size_t num) gpio_request_array() 220 static inline void gpio_free(unsigned gpio) gpio_free() argument 224 static inline void gpio_free_array(struct gpio *array, size_t num) gpio_free_array() 228 static inline int gpio_set_debounce(unsigned gpio, unsigned debounce) gpio_set_debounce() argument 233 static inline void gpio_unexport(unsigned gpio) gpio_unexport() argument 237 static inline int gpio_export(unsigned gpio, bool direction_may_change) gpio_export() argument 242 static inline int gpio_sysfs_set_active_low(unsigned gpio, int value) gpio_sysfs_set_active_low() argument 248 unsigned gpio) gpio_export_link() 247 gpio_export_link(struct device *dev, const char *name, unsigned gpio) gpio_export_link() argument
|
H A D | gpio-au1000.h | 43 struct gpio; 45 static inline int au1000_gpio1_to_irq(int gpio) au1000_gpio1_to_irq() argument 47 return MAKE_IRQ(1, gpio - ALCHEMY_GPIO1_BASE); au1000_gpio1_to_irq() 50 static inline int au1000_gpio2_to_irq(int gpio) au1000_gpio2_to_irq() argument 63 static inline int au1500_gpio1_to_irq(int gpio) au1500_gpio1_to_irq() argument 65 gpio -= ALCHEMY_GPIO1_BASE; au1500_gpio1_to_irq() 67 switch (gpio) { au1500_gpio1_to_irq() 70 case 23 ... 28: return MAKE_IRQ(1, gpio); au1500_gpio1_to_irq() 76 static inline int au1500_gpio2_to_irq(int gpio) au1500_gpio2_to_irq() argument 78 gpio -= ALCHEMY_GPIO2_BASE; au1500_gpio2_to_irq() 80 switch (gpio) { au1500_gpio2_to_irq() 81 case 0 ... 3: return MAKE_IRQ(1, 16 + gpio - 0); au1500_gpio2_to_irq() 82 case 4 ... 5: return MAKE_IRQ(1, 21 + gpio - 4); au1500_gpio2_to_irq() 83 case 6 ... 7: return MAKE_IRQ(1, 29 + gpio - 6); au1500_gpio2_to_irq() 109 static inline int au1100_gpio1_to_irq(int gpio) au1100_gpio1_to_irq() argument 111 return MAKE_IRQ(1, gpio - ALCHEMY_GPIO1_BASE); au1100_gpio1_to_irq() 114 static inline int au1100_gpio2_to_irq(int gpio) au1100_gpio2_to_irq() argument 116 gpio -= ALCHEMY_GPIO2_BASE; au1100_gpio2_to_irq() 118 if ((gpio >= 8) && (gpio <= 15)) au1100_gpio2_to_irq() 136 static inline int au1550_gpio1_to_irq(int gpio) au1550_gpio1_to_irq() argument 138 gpio -= ALCHEMY_GPIO1_BASE; au1550_gpio1_to_irq() 140 switch (gpio) { au1550_gpio1_to_irq() 142 case 20 ... 28: return MAKE_IRQ(1, gpio); au1550_gpio1_to_irq() 143 case 16 ... 17: return MAKE_IRQ(1, 18 + gpio - 16); au1550_gpio1_to_irq() 149 static inline int au1550_gpio2_to_irq(int gpio) au1550_gpio2_to_irq() argument 151 gpio -= ALCHEMY_GPIO2_BASE; au1550_gpio2_to_irq() 153 switch (gpio) { au1550_gpio2_to_irq() 156 case 6 ... 7: return MAKE_IRQ(1, 29 + gpio - 6); au1550_gpio2_to_irq() 180 static inline int au1200_gpio1_to_irq(int gpio) au1200_gpio1_to_irq() argument 182 return MAKE_IRQ(1, gpio - ALCHEMY_GPIO1_BASE); au1200_gpio1_to_irq() 185 static inline int au1200_gpio2_to_irq(int gpio) au1200_gpio2_to_irq() argument 187 gpio -= ALCHEMY_GPIO2_BASE; au1200_gpio2_to_irq() 189 switch (gpio) { au1200_gpio2_to_irq() 190 case 0 ... 2: return MAKE_IRQ(0, 5 + gpio - 0); au1200_gpio2_to_irq() 192 case 4 ... 7: return MAKE_IRQ(0, 24 + gpio - 4); au1200_gpio2_to_irq() 216 * GPIO1 block macros for common linux gpio functions. 218 static inline void alchemy_gpio1_set_value(int gpio, int v) alchemy_gpio1_set_value() argument 220 unsigned long mask = 1 << (gpio - ALCHEMY_GPIO1_BASE); alchemy_gpio1_set_value() 225 static inline int alchemy_gpio1_get_value(int gpio) alchemy_gpio1_get_value() argument 227 unsigned long mask = 1 << (gpio - ALCHEMY_GPIO1_BASE); alchemy_gpio1_get_value() 231 static inline int alchemy_gpio1_direction_input(int gpio) alchemy_gpio1_direction_input() argument 233 unsigned long mask = 1 << (gpio - ALCHEMY_GPIO1_BASE); alchemy_gpio1_direction_input() 238 static inline int alchemy_gpio1_direction_output(int gpio, int v) alchemy_gpio1_direction_output() argument 243 alchemy_gpio1_set_value(gpio, v); alchemy_gpio1_direction_output() 247 static inline int alchemy_gpio1_is_valid(int gpio) alchemy_gpio1_is_valid() argument 249 return ((gpio >= ALCHEMY_GPIO1_BASE) && (gpio <= ALCHEMY_GPIO1_MAX)); alchemy_gpio1_is_valid() 252 static inline int alchemy_gpio1_to_irq(int gpio) alchemy_gpio1_to_irq() argument 256 return au1000_gpio1_to_irq(gpio); alchemy_gpio1_to_irq() 258 return au1100_gpio1_to_irq(gpio); alchemy_gpio1_to_irq() 260 return au1500_gpio1_to_irq(gpio); alchemy_gpio1_to_irq() 262 return au1550_gpio1_to_irq(gpio); alchemy_gpio1_to_irq() 264 return au1200_gpio1_to_irq(gpio); alchemy_gpio1_to_irq() 270 * GPIO2 block macros for common linux GPIO functions. The 'gpio' 273 static inline void __alchemy_gpio2_mod_dir(int gpio, int to_out) __alchemy_gpio2_mod_dir() argument 276 unsigned long mask = 1 << (gpio - ALCHEMY_GPIO2_BASE); __alchemy_gpio2_mod_dir() 287 static inline void alchemy_gpio2_set_value(int gpio, int v) alchemy_gpio2_set_value() argument 291 mask = ((v) ? 0x00010001 : 0x00010000) << (gpio - ALCHEMY_GPIO2_BASE); alchemy_gpio2_set_value() 296 static inline int alchemy_gpio2_get_value(int gpio) alchemy_gpio2_get_value() argument 300 (1 << (gpio - ALCHEMY_GPIO2_BASE)); alchemy_gpio2_get_value() 303 static inline int alchemy_gpio2_direction_input(int gpio) alchemy_gpio2_direction_input() argument 307 __alchemy_gpio2_mod_dir(gpio, 0); alchemy_gpio2_direction_input() 312 static inline int alchemy_gpio2_direction_output(int gpio, int v) alchemy_gpio2_direction_output() argument 315 alchemy_gpio2_set_value(gpio, v); alchemy_gpio2_direction_output() 317 __alchemy_gpio2_mod_dir(gpio, 1); alchemy_gpio2_direction_output() 322 static inline int alchemy_gpio2_is_valid(int gpio) alchemy_gpio2_is_valid() argument 324 return ((gpio >= ALCHEMY_GPIO2_BASE) && (gpio <= ALCHEMY_GPIO2_MAX)); alchemy_gpio2_is_valid() 327 static inline int alchemy_gpio2_to_irq(int gpio) alchemy_gpio2_to_irq() argument 331 return au1000_gpio2_to_irq(gpio); alchemy_gpio2_to_irq() 333 return au1100_gpio2_to_irq(gpio); alchemy_gpio2_to_irq() 335 return au1500_gpio2_to_irq(gpio); alchemy_gpio2_to_irq() 337 return au1550_gpio2_to_irq(gpio); alchemy_gpio2_to_irq() 339 return au1200_gpio2_to_irq(gpio); alchemy_gpio2_to_irq() 453 /* wrappers for on-chip gpios; can be used before gpio chips have been 456 static inline int alchemy_gpio_direction_input(int gpio) alchemy_gpio_direction_input() argument 458 return (gpio >= ALCHEMY_GPIO2_BASE) ? alchemy_gpio_direction_input() 459 alchemy_gpio2_direction_input(gpio) : alchemy_gpio_direction_input() 460 alchemy_gpio1_direction_input(gpio); alchemy_gpio_direction_input() 463 static inline int alchemy_gpio_direction_output(int gpio, int v) alchemy_gpio_direction_output() argument 465 return (gpio >= ALCHEMY_GPIO2_BASE) ? alchemy_gpio_direction_output() 466 alchemy_gpio2_direction_output(gpio, v) : alchemy_gpio_direction_output() 467 alchemy_gpio1_direction_output(gpio, v); alchemy_gpio_direction_output() 470 static inline int alchemy_gpio_get_value(int gpio) alchemy_gpio_get_value() argument 472 return (gpio >= ALCHEMY_GPIO2_BASE) ? alchemy_gpio_get_value() 473 alchemy_gpio2_get_value(gpio) : alchemy_gpio_get_value() 474 alchemy_gpio1_get_value(gpio); alchemy_gpio_get_value() 477 static inline void alchemy_gpio_set_value(int gpio, int v) alchemy_gpio_set_value() argument 479 if (gpio >= ALCHEMY_GPIO2_BASE) alchemy_gpio_set_value() 480 alchemy_gpio2_set_value(gpio, v); alchemy_gpio_set_value() 482 alchemy_gpio1_set_value(gpio, v); alchemy_gpio_set_value() 485 static inline int alchemy_gpio_is_valid(int gpio) alchemy_gpio_is_valid() argument 487 return (gpio >= ALCHEMY_GPIO2_BASE) ? alchemy_gpio_is_valid() 488 alchemy_gpio2_is_valid(gpio) : alchemy_gpio_is_valid() 489 alchemy_gpio1_is_valid(gpio); alchemy_gpio_is_valid() 492 static inline int alchemy_gpio_cansleep(int gpio) alchemy_gpio_cansleep() argument 497 static inline int alchemy_gpio_to_irq(int gpio) alchemy_gpio_to_irq() argument 499 return (gpio >= ALCHEMY_GPIO2_BASE) ? alchemy_gpio_to_irq() 500 alchemy_gpio2_to_irq(gpio) : alchemy_gpio_to_irq() 501 alchemy_gpio1_to_irq(gpio); alchemy_gpio_to_irq() 523 /* Linux gpio framework integration. 532 * the boards' gpio.h must provide the linux gpio wrapper functions, 535 * inlinable gpio functions are provided which enable access to the 553 static inline int gpio_direction_input(int gpio) gpio_direction_input() argument 555 return alchemy_gpio_direction_input(gpio); gpio_direction_input() 558 static inline int gpio_direction_output(int gpio, int v) gpio_direction_output() argument 560 return alchemy_gpio_direction_output(gpio, v); gpio_direction_output() 563 static inline int gpio_get_value(int gpio) gpio_get_value() argument 565 return alchemy_gpio_get_value(gpio); gpio_get_value() 568 static inline void gpio_set_value(int gpio, int v) gpio_set_value() argument 570 alchemy_gpio_set_value(gpio, v); gpio_set_value() 573 static inline int gpio_get_value_cansleep(unsigned gpio) gpio_get_value_cansleep() argument 575 return gpio_get_value(gpio); gpio_get_value_cansleep() 578 static inline void gpio_set_value_cansleep(unsigned gpio, int value) gpio_set_value_cansleep() argument 580 gpio_set_value(gpio, value); gpio_set_value_cansleep() 583 static inline int gpio_is_valid(int gpio) gpio_is_valid() argument 585 return alchemy_gpio_is_valid(gpio); gpio_is_valid() 588 static inline int gpio_cansleep(int gpio) gpio_cansleep() argument 590 return alchemy_gpio_cansleep(gpio); gpio_cansleep() 593 static inline int gpio_to_irq(int gpio) gpio_to_irq() argument 595 return alchemy_gpio_to_irq(gpio); gpio_to_irq() 603 static inline int gpio_request(unsigned gpio, const char *label) gpio_request() argument 608 static inline int gpio_request_one(unsigned gpio, gpio_request_one() argument 614 static inline int gpio_request_array(struct gpio *array, size_t num) gpio_request_array() 619 static inline void gpio_free(unsigned gpio) gpio_free() argument 623 static inline void gpio_free_array(struct gpio *array, size_t num) gpio_free_array() 627 static inline int gpio_set_debounce(unsigned gpio, unsigned debounce) gpio_set_debounce() argument 632 static inline int gpio_export(unsigned gpio, bool direction_may_change) gpio_export() argument 638 unsigned gpio) gpio_export_link() 643 static inline int gpio_sysfs_set_active_low(unsigned gpio, int value) gpio_sysfs_set_active_low() argument 648 static inline void gpio_unexport(unsigned gpio) gpio_unexport() argument 637 gpio_export_link(struct device *dev, const char *name, unsigned gpio) gpio_export_link() argument
|
H A D | gpio.h | 14 #include <asm/mach-au1x00/gpio-au1000.h> 15 #include <asm/mach-au1x00/gpio-au1300.h> 29 /* Linux gpio framework integration. 38 * the boards' gpio.h must provide the linux gpio wrapper functions, 41 * inlinable gpio functions are provided which enable access to the 79 #include <asm-generic/gpio.h>
|
/linux-4.1.27/arch/avr32/mach-at32ap/include/mach/ |
H A D | gpio.h | 15 #include <asm-generic/gpio.h> 17 static inline int gpio_get_value(unsigned int gpio) gpio_get_value() argument 19 return __gpio_get_value(gpio); gpio_get_value() 22 static inline void gpio_set_value(unsigned int gpio, int value) gpio_set_value() argument 24 __gpio_set_value(gpio, value); gpio_set_value() 27 static inline int gpio_cansleep(unsigned int gpio) gpio_cansleep() argument 29 return __gpio_cansleep(gpio); gpio_cansleep() 33 static inline int gpio_to_irq(unsigned int gpio) gpio_to_irq() argument 35 if (gpio < NR_GPIO_IRQS) gpio_to_irq() 36 return gpio + GPIO_IRQ_BASE; gpio_to_irq()
|
/linux-4.1.27/drivers/bcma/ |
H A D | driver_gpio.c | 11 #include <linux/gpio.h> 24 return container_of(chip, struct bcma_drv_cc, gpio); bcma_gpio_get_cc() 27 static int bcma_gpio_get_value(struct gpio_chip *chip, unsigned gpio) bcma_gpio_get_value() argument 31 return !!bcma_chipco_gpio_in(cc, 1 << gpio); bcma_gpio_get_value() 34 static void bcma_gpio_set_value(struct gpio_chip *chip, unsigned gpio, bcma_gpio_set_value() argument 39 bcma_chipco_gpio_out(cc, 1 << gpio, value ? 1 << gpio : 0); bcma_gpio_set_value() 42 static int bcma_gpio_direction_input(struct gpio_chip *chip, unsigned gpio) bcma_gpio_direction_input() argument 46 bcma_chipco_gpio_outen(cc, 1 << gpio, 0); bcma_gpio_direction_input() 50 static int bcma_gpio_direction_output(struct gpio_chip *chip, unsigned gpio, bcma_gpio_direction_output() argument 55 bcma_chipco_gpio_outen(cc, 1 << gpio, 1 << gpio); bcma_gpio_direction_output() 56 bcma_chipco_gpio_out(cc, 1 << gpio, value ? 1 << gpio : 0); bcma_gpio_direction_output() 60 static int bcma_gpio_request(struct gpio_chip *chip, unsigned gpio) bcma_gpio_request() argument 64 bcma_chipco_gpio_control(cc, 1 << gpio, 0); bcma_gpio_request() 66 bcma_chipco_gpio_pulldown(cc, 1 << gpio, 0); bcma_gpio_request() 68 bcma_chipco_gpio_pullup(cc, 1 << gpio, 1 << gpio); bcma_gpio_request() 73 static void bcma_gpio_free(struct gpio_chip *chip, unsigned gpio) bcma_gpio_free() argument 78 bcma_chipco_gpio_pullup(cc, 1 << gpio, 0); bcma_gpio_free() 82 static int bcma_gpio_to_irq(struct gpio_chip *chip, unsigned gpio) bcma_gpio_to_irq() argument 87 return irq_find_mapping(cc->irq_domain, gpio); bcma_gpio_to_irq() 95 int gpio = irqd_to_hwirq(d); bcma_gpio_irq_unmask() local 96 u32 val = bcma_chipco_gpio_in(cc, BIT(gpio)); bcma_gpio_irq_unmask() 98 bcma_chipco_gpio_polarity(cc, BIT(gpio), val); bcma_gpio_irq_unmask() 99 bcma_chipco_gpio_intmask(cc, BIT(gpio), BIT(gpio)); bcma_gpio_irq_unmask() 105 int gpio = irqd_to_hwirq(d); bcma_gpio_irq_mask() local 107 bcma_chipco_gpio_intmask(cc, BIT(gpio), 0); bcma_gpio_irq_mask() 123 int gpio; bcma_gpio_irq_handler() local 128 for_each_set_bit(gpio, &irqs, cc->gpio.ngpio) bcma_gpio_irq_handler() 129 generic_handle_irq(bcma_gpio_to_irq(&cc->gpio, gpio)); bcma_gpio_irq_handler() 137 struct gpio_chip *chip = &cc->gpio; bcma_gpio_irq_domain_init() 138 int gpio, hwirq, err; bcma_gpio_irq_domain_init() local 149 for (gpio = 0; gpio < chip->ngpio; gpio++) { bcma_gpio_irq_domain_init() 150 int irq = irq_create_mapping(cc->irq_domain, gpio); bcma_gpio_irq_domain_init() 158 err = request_irq(hwirq, bcma_gpio_irq_handler, IRQF_SHARED, "gpio", bcma_gpio_irq_domain_init() 169 for (gpio = 0; gpio < chip->ngpio; gpio++) { bcma_gpio_irq_domain_init() 170 int irq = irq_find_mapping(cc->irq_domain, gpio); bcma_gpio_irq_domain_init() 181 struct gpio_chip *chip = &cc->gpio; bcma_gpio_irq_domain_exit() 182 int gpio; bcma_gpio_irq_domain_exit() local 189 for (gpio = 0; gpio < chip->ngpio; gpio++) { bcma_gpio_irq_domain_exit() 190 int irq = irq_find_mapping(cc->irq_domain, gpio); bcma_gpio_irq_domain_exit() 210 struct gpio_chip *chip = &cc->gpio; bcma_gpio_init() 265 gpiochip_remove(&cc->gpio); bcma_gpio_unregister()
|
/linux-4.1.27/include/trace/events/ |
H A D | gpio.h | 2 #define TRACE_SYSTEM gpio 11 TP_PROTO(unsigned gpio, int in, int err), 13 TP_ARGS(gpio, in, err), 16 __field(unsigned, gpio) 22 __entry->gpio = gpio; 27 TP_printk("%u %3s (%d)", __entry->gpio, 33 TP_PROTO(unsigned gpio, int get, int value), 35 TP_ARGS(gpio, get, value), 38 __field(unsigned, gpio) 44 __entry->gpio = gpio; 49 TP_printk("%u %3s %d", __entry->gpio,
|
/linux-4.1.27/arch/arm/plat-samsung/ |
H A D | setup-camif.c | 11 #include <linux/gpio.h> 12 #include <plat/gpio-cfg.h> 13 #include <mach/gpio-samsung.h> 40 int gpio = gpio_start + i; s3c_camif_gpio_get() local 42 if (gpio == gpio_reset) s3c_camif_gpio_get() 45 ret = gpio_request(gpio, "camif"); s3c_camif_gpio_get() 47 ret = s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2)); s3c_camif_gpio_get() 49 pr_err("failed to configure GPIO %d\n", gpio); s3c_camif_gpio_get() 51 gpio_free(gpio--); s3c_camif_gpio_get() 54 s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); s3c_camif_gpio_get() 67 int gpio = gpio_start + i; s3c_camif_gpio_put() local 68 if (gpio != gpio_reset) s3c_camif_gpio_put() 69 gpio_free(gpio); s3c_camif_gpio_put()
|
/linux-4.1.27/drivers/gpio/ |
H A D | gpio-dwapb.c | 24 #include <linux/platform_data/gpio-dwapb.h> 71 struct dwapb_gpio *gpio; member in struct:dwapb_gpio_port 92 static inline u32 dwapb_read(struct dwapb_gpio *gpio, unsigned int offset) dwapb_read() argument 94 struct bgpio_chip *bgc = &gpio->ports[0].bgc; dwapb_read() 95 void __iomem *reg_base = gpio->regs; dwapb_read() 100 static inline void dwapb_write(struct dwapb_gpio *gpio, unsigned int offset, dwapb_write() argument 103 struct bgpio_chip *bgc = &gpio->ports[0].bgc; dwapb_write() 104 void __iomem *reg_base = gpio->regs; dwapb_write() 113 struct dwapb_gpio *gpio = port->gpio; dwapb_gpio_to_irq() local 115 return irq_find_mapping(gpio->domain, offset); dwapb_gpio_to_irq() 118 static void dwapb_toggle_trigger(struct dwapb_gpio *gpio, unsigned int offs) dwapb_toggle_trigger() argument 120 u32 v = dwapb_read(gpio, GPIO_INT_POLARITY); dwapb_toggle_trigger() 122 if (gpio_get_value(gpio->ports[0].bgc.gc.base + offs)) dwapb_toggle_trigger() 127 dwapb_write(gpio, GPIO_INT_POLARITY, v); dwapb_toggle_trigger() 130 static u32 dwapb_do_irq(struct dwapb_gpio *gpio) dwapb_do_irq() argument 132 u32 irq_status = readl_relaxed(gpio->regs + GPIO_INTSTATUS); dwapb_do_irq() 137 int gpio_irq = irq_find_mapping(gpio->domain, hwirq); dwapb_do_irq() 144 dwapb_toggle_trigger(gpio, hwirq); dwapb_do_irq() 152 struct dwapb_gpio *gpio = irq_get_handler_data(irq); dwapb_irq_handler() local 155 dwapb_do_irq(gpio); dwapb_irq_handler() 164 struct dwapb_gpio *gpio = igc->private; dwapb_irq_enable() local 165 struct bgpio_chip *bgc = &gpio->ports[0].bgc; dwapb_irq_enable() 170 val = dwapb_read(gpio, GPIO_INTEN); dwapb_irq_enable() 172 dwapb_write(gpio, GPIO_INTEN, val); dwapb_irq_enable() 179 struct dwapb_gpio *gpio = igc->private; dwapb_irq_disable() local 180 struct bgpio_chip *bgc = &gpio->ports[0].bgc; dwapb_irq_disable() 185 val = dwapb_read(gpio, GPIO_INTEN); dwapb_irq_disable() 187 dwapb_write(gpio, GPIO_INTEN, val); dwapb_irq_disable() 194 struct dwapb_gpio *gpio = igc->private; dwapb_irq_reqres() local 195 struct bgpio_chip *bgc = &gpio->ports[0].bgc; dwapb_irq_reqres() 198 dev_err(gpio->dev, "unable to lock HW IRQ %lu for IRQ\n", dwapb_irq_reqres() 208 struct dwapb_gpio *gpio = igc->private; dwapb_irq_relres() local 209 struct bgpio_chip *bgc = &gpio->ports[0].bgc; dwapb_irq_relres() 217 struct dwapb_gpio *gpio = igc->private; dwapb_irq_set_type() local 218 struct bgpio_chip *bgc = &gpio->ports[0].bgc; dwapb_irq_set_type() 227 level = dwapb_read(gpio, GPIO_INTTYPE_LEVEL); dwapb_irq_set_type() 228 polarity = dwapb_read(gpio, GPIO_INT_POLARITY); dwapb_irq_set_type() 233 dwapb_toggle_trigger(gpio, bit); dwapb_irq_set_type() 255 dwapb_write(gpio, GPIO_INTTYPE_LEVEL, level); dwapb_irq_set_type() 256 dwapb_write(gpio, GPIO_INT_POLARITY, polarity); dwapb_irq_set_type() 267 struct dwapb_gpio *gpio = port->gpio; dwapb_gpio_set_debounce() local 273 val_deb = dwapb_read(gpio, GPIO_PORTA_DEBOUNCE); dwapb_gpio_set_debounce() 275 dwapb_write(gpio, GPIO_PORTA_DEBOUNCE, val_deb | mask); dwapb_gpio_set_debounce() 277 dwapb_write(gpio, GPIO_PORTA_DEBOUNCE, val_deb & ~mask); dwapb_gpio_set_debounce() 287 struct dwapb_gpio *gpio = dev_id; dwapb_irq_handler_mfd() local 289 worked = dwapb_do_irq(gpio); dwapb_irq_handler_mfd() 294 static void dwapb_configure_irqs(struct dwapb_gpio *gpio, dwapb_configure_irqs() argument 305 gpio->domain = irq_domain_add_linear(node, ngpio, dwapb_configure_irqs() 306 &irq_generic_chip_ops, gpio); dwapb_configure_irqs() 307 if (!gpio->domain) dwapb_configure_irqs() 310 err = irq_alloc_domain_generic_chips(gpio->domain, ngpio, 2, dwapb_configure_irqs() 311 "gpio-dwapb", handle_level_irq, dwapb_configure_irqs() 315 dev_info(gpio->dev, "irq_alloc_domain_generic_chips failed\n"); dwapb_configure_irqs() 316 irq_domain_remove(gpio->domain); dwapb_configure_irqs() 317 gpio->domain = NULL; dwapb_configure_irqs() 321 irq_gc = irq_get_domain_generic_chip(gpio->domain, 0); dwapb_configure_irqs() 323 irq_domain_remove(gpio->domain); dwapb_configure_irqs() 324 gpio->domain = NULL; dwapb_configure_irqs() 328 irq_gc->reg_base = gpio->regs; dwapb_configure_irqs() 329 irq_gc->private = gpio; dwapb_configure_irqs() 352 irq_set_handler_data(pp->irq, gpio); dwapb_configure_irqs() 358 err = devm_request_irq(gpio->dev, pp->irq, dwapb_configure_irqs() 360 IRQF_SHARED, "gpio-dwapb-mfd", gpio); dwapb_configure_irqs() 362 dev_err(gpio->dev, "error requesting IRQ\n"); dwapb_configure_irqs() 363 irq_domain_remove(gpio->domain); dwapb_configure_irqs() 364 gpio->domain = NULL; dwapb_configure_irqs() 370 irq_create_mapping(gpio->domain, hwirq); dwapb_configure_irqs() 375 static void dwapb_irq_teardown(struct dwapb_gpio *gpio) dwapb_irq_teardown() argument 377 struct dwapb_gpio_port *port = &gpio->ports[0]; dwapb_irq_teardown() 382 if (!gpio->domain) dwapb_irq_teardown() 386 irq_dispose_mapping(irq_find_mapping(gpio->domain, hwirq)); dwapb_irq_teardown() 388 irq_domain_remove(gpio->domain); dwapb_irq_teardown() 389 gpio->domain = NULL; dwapb_irq_teardown() 392 static int dwapb_gpio_add_port(struct dwapb_gpio *gpio, dwapb_gpio_add_port() argument 400 port = &gpio->ports[offs]; dwapb_gpio_add_port() 401 port->gpio = gpio; dwapb_gpio_add_port() 405 port->ctx = devm_kzalloc(gpio->dev, sizeof(*port->ctx), GFP_KERNEL); dwapb_gpio_add_port() 410 dat = gpio->regs + GPIO_EXT_PORTA + (pp->idx * GPIO_EXT_PORT_SIZE); dwapb_gpio_add_port() 411 set = gpio->regs + GPIO_SWPORTA_DR + (pp->idx * GPIO_SWPORT_DR_SIZE); dwapb_gpio_add_port() 412 dirout = gpio->regs + GPIO_SWPORTA_DDR + dwapb_gpio_add_port() 415 err = bgpio_init(&port->bgc, gpio->dev, 4, dat, set, NULL, dirout, dwapb_gpio_add_port() 418 dev_err(gpio->dev, "failed to init gpio chip for %s\n", dwapb_gpio_add_port() 434 dwapb_configure_irqs(gpio, port, pp); dwapb_gpio_add_port() 438 dev_err(gpio->dev, "failed to register gpiochip for %s\n", dwapb_gpio_add_port() 446 static void dwapb_gpio_unregister(struct dwapb_gpio *gpio) dwapb_gpio_unregister() argument 450 for (m = 0; m < gpio->nr_ports; ++m) dwapb_gpio_unregister() 451 if (gpio->ports[m].is_registered) dwapb_gpio_unregister() 452 gpiochip_remove(&gpio->ports[m].bgc.gc); dwapb_gpio_unregister() 526 struct dwapb_gpio *gpio; dwapb_gpio_probe() local 540 gpio = devm_kzalloc(&pdev->dev, sizeof(*gpio), GFP_KERNEL); dwapb_gpio_probe() 541 if (!gpio) dwapb_gpio_probe() 544 gpio->dev = &pdev->dev; dwapb_gpio_probe() 545 gpio->nr_ports = pdata->nports; dwapb_gpio_probe() 547 gpio->ports = devm_kcalloc(&pdev->dev, gpio->nr_ports, dwapb_gpio_probe() 548 sizeof(*gpio->ports), GFP_KERNEL); dwapb_gpio_probe() 549 if (!gpio->ports) dwapb_gpio_probe() 553 gpio->regs = devm_ioremap_resource(&pdev->dev, res); dwapb_gpio_probe() 554 if (IS_ERR(gpio->regs)) dwapb_gpio_probe() 555 return PTR_ERR(gpio->regs); dwapb_gpio_probe() 557 for (i = 0; i < gpio->nr_ports; i++) { dwapb_gpio_probe() 558 err = dwapb_gpio_add_port(gpio, &pdata->properties[i], i); dwapb_gpio_probe() 562 platform_set_drvdata(pdev, gpio); dwapb_gpio_probe() 567 dwapb_gpio_unregister(gpio); dwapb_gpio_probe() 568 dwapb_irq_teardown(gpio); dwapb_gpio_probe() 575 struct dwapb_gpio *gpio = platform_get_drvdata(pdev); dwapb_gpio_remove() local 577 dwapb_gpio_unregister(gpio); dwapb_gpio_remove() 578 dwapb_irq_teardown(gpio); dwapb_gpio_remove() 584 { .compatible = "snps,dw-apb-gpio" }, 593 struct dwapb_gpio *gpio = platform_get_drvdata(pdev); dwapb_gpio_suspend() local 594 struct bgpio_chip *bgc = &gpio->ports[0].bgc; dwapb_gpio_suspend() 599 for (i = 0; i < gpio->nr_ports; i++) { dwapb_gpio_suspend() 601 unsigned int idx = gpio->ports[i].idx; dwapb_gpio_suspend() 602 struct dwapb_context *ctx = gpio->ports[i].ctx; dwapb_gpio_suspend() 607 ctx->dir = dwapb_read(gpio, offset); dwapb_gpio_suspend() 610 ctx->data = dwapb_read(gpio, offset); dwapb_gpio_suspend() 613 ctx->ext = dwapb_read(gpio, offset); dwapb_gpio_suspend() 617 ctx->int_mask = dwapb_read(gpio, GPIO_INTMASK); dwapb_gpio_suspend() 618 ctx->int_en = dwapb_read(gpio, GPIO_INTEN); dwapb_gpio_suspend() 619 ctx->int_pol = dwapb_read(gpio, GPIO_INT_POLARITY); dwapb_gpio_suspend() 620 ctx->int_type = dwapb_read(gpio, GPIO_INTTYPE_LEVEL); dwapb_gpio_suspend() 621 ctx->int_deb = dwapb_read(gpio, GPIO_PORTA_DEBOUNCE); dwapb_gpio_suspend() 624 dwapb_write(gpio, GPIO_INTMASK, 0xffffffff); dwapb_gpio_suspend() 635 struct dwapb_gpio *gpio = platform_get_drvdata(pdev); dwapb_gpio_resume() local 636 struct bgpio_chip *bgc = &gpio->ports[0].bgc; dwapb_gpio_resume() 641 for (i = 0; i < gpio->nr_ports; i++) { dwapb_gpio_resume() 643 unsigned int idx = gpio->ports[i].idx; dwapb_gpio_resume() 644 struct dwapb_context *ctx = gpio->ports[i].ctx; dwapb_gpio_resume() 649 dwapb_write(gpio, offset, ctx->data); dwapb_gpio_resume() 652 dwapb_write(gpio, offset, ctx->dir); dwapb_gpio_resume() 655 dwapb_write(gpio, offset, ctx->ext); dwapb_gpio_resume() 659 dwapb_write(gpio, GPIO_INTTYPE_LEVEL, ctx->int_type); dwapb_gpio_resume() 660 dwapb_write(gpio, GPIO_INT_POLARITY, ctx->int_pol); dwapb_gpio_resume() 661 dwapb_write(gpio, GPIO_PORTA_DEBOUNCE, ctx->int_deb); dwapb_gpio_resume() 662 dwapb_write(gpio, GPIO_INTEN, ctx->int_en); dwapb_gpio_resume() 663 dwapb_write(gpio, GPIO_INTMASK, ctx->int_mask); dwapb_gpio_resume() 666 dwapb_write(gpio, GPIO_PORTA_EOI, 0xffffffff); dwapb_gpio_resume() 680 .name = "gpio-dwapb",
|
H A D | gpiolib-legacy.c | 1 #include <linux/gpio/consumer.h> 2 #include <linux/gpio/driver.h> 4 #include <linux/gpio.h> 8 void gpio_free(unsigned gpio) gpio_free() argument 10 gpiod_free(gpio_to_desc(gpio)); gpio_free() 16 * @gpio: the GPIO number 20 int gpio_request_one(unsigned gpio, unsigned long flags, const char *label) gpio_request_one() argument 25 desc = gpio_to_desc(gpio); gpio_request_one() 28 if (!desc && gpio_is_valid(gpio)) gpio_request_one() 67 int gpio_request(unsigned gpio, const char *label) gpio_request() argument 69 struct gpio_desc *desc = gpio_to_desc(gpio); gpio_request() 72 if (!desc && gpio_is_valid(gpio)) gpio_request() 81 * @array: array of the 'struct gpio' 84 int gpio_request_array(const struct gpio *array, size_t num) gpio_request_array() 89 err = gpio_request_one(array->gpio, array->flags, array->label); gpio_request_array() 97 gpio_free((--array)->gpio); gpio_request_array() 104 * @array: array of the 'struct gpio' 107 void gpio_free_array(const struct gpio *array, size_t num) gpio_free_array() 110 gpio_free((array++)->gpio); gpio_free_array()
|
H A D | gpio-mb86s7x.c | 2 * linux/drivers/gpio/gpio-mb86s7x.c 25 #include <linux/gpio/driver.h> 52 static int mb86s70_gpio_request(struct gpio_chip *gc, unsigned gpio) mb86s70_gpio_request() argument 60 val = readl(gchip->base + PFR(gpio)); mb86s70_gpio_request() 61 if (!(val & OFFSET(gpio))) { mb86s70_gpio_request() 66 val &= ~OFFSET(gpio); mb86s70_gpio_request() 67 writel(val, gchip->base + PFR(gpio)); mb86s70_gpio_request() 74 static void mb86s70_gpio_free(struct gpio_chip *gc, unsigned gpio) mb86s70_gpio_free() argument 82 val = readl(gchip->base + PFR(gpio)); mb86s70_gpio_free() 83 val |= OFFSET(gpio); mb86s70_gpio_free() 84 writel(val, gchip->base + PFR(gpio)); mb86s70_gpio_free() 89 static int mb86s70_gpio_direction_input(struct gpio_chip *gc, unsigned gpio) mb86s70_gpio_direction_input() argument 97 val = readl(gchip->base + DDR(gpio)); mb86s70_gpio_direction_input() 98 val &= ~OFFSET(gpio); mb86s70_gpio_direction_input() 99 writel(val, gchip->base + DDR(gpio)); mb86s70_gpio_direction_input() 107 unsigned gpio, int value) mb86s70_gpio_direction_output() 115 val = readl(gchip->base + PDR(gpio)); mb86s70_gpio_direction_output() 117 val |= OFFSET(gpio); mb86s70_gpio_direction_output() 119 val &= ~OFFSET(gpio); mb86s70_gpio_direction_output() 120 writel(val, gchip->base + PDR(gpio)); mb86s70_gpio_direction_output() 122 val = readl(gchip->base + DDR(gpio)); mb86s70_gpio_direction_output() 123 val |= OFFSET(gpio); mb86s70_gpio_direction_output() 124 writel(val, gchip->base + DDR(gpio)); mb86s70_gpio_direction_output() 131 static int mb86s70_gpio_get(struct gpio_chip *gc, unsigned gpio) mb86s70_gpio_get() argument 135 return !!(readl(gchip->base + PDR(gpio)) & OFFSET(gpio)); mb86s70_gpio_get() 138 static void mb86s70_gpio_set(struct gpio_chip *gc, unsigned gpio, int value) mb86s70_gpio_set() argument 146 val = readl(gchip->base + PDR(gpio)); mb86s70_gpio_set() 148 val |= OFFSET(gpio); mb86s70_gpio_set() 150 val &= ~OFFSET(gpio); mb86s70_gpio_set() 151 writel(val, gchip->base + PDR(gpio)); mb86s70_gpio_set() 197 dev_err(&pdev->dev, "couldn't register gpio driver\n"); mb86s70_gpio_probe() 215 { .compatible = "fujitsu,mb86s70-gpio" }, 222 .name = "mb86s70-gpio", 236 MODULE_ALIAS("platform:mb86s70-gpio"); 106 mb86s70_gpio_direction_output(struct gpio_chip *gc, unsigned gpio, int value) mb86s70_gpio_direction_output() argument
|
H A D | gpio-da9052.c | 18 #include <linux/gpio.h> 66 struct da9052_gpio *gpio = to_da9052_gpio(gc); da9052_gpio_get() local 70 ret = da9052_reg_read(gpio->da9052, da9052_gpio_get() 85 ret = da9052_reg_read(gpio->da9052, da9052_gpio_get() 88 ret = da9052_reg_read(gpio->da9052, da9052_gpio_get() 108 struct da9052_gpio *gpio = to_da9052_gpio(gc); da9052_gpio_set() local 112 ret = da9052_reg_update(gpio->da9052, (offset >> 1) + da9052_gpio_set() 117 dev_err(gpio->da9052->dev, da9052_gpio_set() 118 "Failed to updated gpio odd reg,%d", da9052_gpio_set() 121 ret = da9052_reg_update(gpio->da9052, (offset >> 1) + da9052_gpio_set() 126 dev_err(gpio->da9052->dev, da9052_gpio_set() 127 "Failed to updated gpio even reg,%d", da9052_gpio_set() 134 struct da9052_gpio *gpio = to_da9052_gpio(gc); da9052_gpio_direction_input() local 143 ret = da9052_reg_update(gpio->da9052, (offset >> 1) + da9052_gpio_direction_input() 149 ret = da9052_reg_update(gpio->da9052, (offset >> 1) + da9052_gpio_direction_input() 160 struct da9052_gpio *gpio = to_da9052_gpio(gc); da9052_gpio_direction_output() local 169 ret = da9052_reg_update(gpio->da9052, (offset >> 1) + da9052_gpio_direction_output() 175 ret = da9052_reg_update(gpio->da9052, (offset >> 1) + da9052_gpio_direction_output() 185 struct da9052_gpio *gpio = to_da9052_gpio(gc); da9052_gpio_to_irq() local 186 struct da9052 *da9052 = gpio->da9052; da9052_gpio_to_irq() 196 .label = "da9052-gpio", 210 struct da9052_gpio *gpio; da9052_gpio_probe() local 214 gpio = devm_kzalloc(&pdev->dev, sizeof(*gpio), GFP_KERNEL); da9052_gpio_probe() 215 if (!gpio) da9052_gpio_probe() 218 gpio->da9052 = dev_get_drvdata(pdev->dev.parent); da9052_gpio_probe() 219 pdata = dev_get_platdata(gpio->da9052->dev); da9052_gpio_probe() 221 gpio->gp = reference_gp; da9052_gpio_probe() 223 gpio->gp.base = pdata->gpio_base; da9052_gpio_probe() 225 ret = gpiochip_add(&gpio->gp); da9052_gpio_probe() 231 platform_set_drvdata(pdev, gpio); da9052_gpio_probe() 238 struct da9052_gpio *gpio = platform_get_drvdata(pdev); da9052_gpio_remove() local 240 gpiochip_remove(&gpio->gp); da9052_gpio_remove() 248 .name = "da9052-gpio", 257 MODULE_ALIAS("platform:da9052-gpio");
|
H A D | gpio-pcf857x.c | 21 #include <linux/gpio.h> 139 struct pcf857x *gpio = container_of(chip, struct pcf857x, chip); pcf857x_input() local 142 mutex_lock(&gpio->lock); pcf857x_input() 143 gpio->out |= (1 << offset); pcf857x_input() 144 status = gpio->write(gpio->client, gpio->out); pcf857x_input() 145 mutex_unlock(&gpio->lock); pcf857x_input() 152 struct pcf857x *gpio = container_of(chip, struct pcf857x, chip); pcf857x_get() local 155 value = gpio->read(gpio->client); pcf857x_get() 161 struct pcf857x *gpio = container_of(chip, struct pcf857x, chip); pcf857x_output() local 165 mutex_lock(&gpio->lock); pcf857x_output() 167 gpio->out |= bit; pcf857x_output() 169 gpio->out &= ~bit; pcf857x_output() 170 status = gpio->write(gpio->client, gpio->out); pcf857x_output() 171 mutex_unlock(&gpio->lock); pcf857x_output() 185 struct pcf857x *gpio = data; pcf857x_irq() local 188 status = gpio->read(gpio->client); pcf857x_irq() 190 spin_lock_irqsave(&gpio->slock, flags); pcf857x_irq() 193 * call the interrupt handler iff gpio is used as pcf857x_irq() 197 change = (gpio->status ^ status); pcf857x_irq() 198 for_each_set_bit(i, &change, gpio->chip.ngpio) pcf857x_irq() 199 handle_nested_irq(irq_find_mapping(gpio->chip.irqdomain, i)); pcf857x_irq() 200 gpio->status = status; pcf857x_irq() 202 spin_unlock_irqrestore(&gpio->slock, flags); pcf857x_irq() 219 struct pcf857x *gpio = irq_data_get_irq_chip_data(data); pcf857x_irq_set_wake() local 221 irq_set_irq_wake(gpio->client->irq, on); pcf857x_irq_set_wake() 244 struct pcf857x *gpio; pcf857x_probe() local 256 gpio = devm_kzalloc(&client->dev, sizeof(*gpio), GFP_KERNEL); pcf857x_probe() 257 if (!gpio) pcf857x_probe() 260 mutex_init(&gpio->lock); pcf857x_probe() 261 spin_lock_init(&gpio->slock); pcf857x_probe() 263 gpio->chip.base = pdata ? pdata->gpio_base : -1; pcf857x_probe() 264 gpio->chip.can_sleep = true; pcf857x_probe() 265 gpio->chip.dev = &client->dev; pcf857x_probe() 266 gpio->chip.owner = THIS_MODULE; pcf857x_probe() 267 gpio->chip.get = pcf857x_get; pcf857x_probe() 268 gpio->chip.set = pcf857x_set; pcf857x_probe() 269 gpio->chip.direction_input = pcf857x_input; pcf857x_probe() 270 gpio->chip.direction_output = pcf857x_output; pcf857x_probe() 271 gpio->chip.ngpio = id->driver_data; pcf857x_probe() 284 if (gpio->chip.ngpio == 8) { pcf857x_probe() 285 gpio->write = i2c_write_le8; pcf857x_probe() 286 gpio->read = i2c_read_le8; pcf857x_probe() 302 } else if (gpio->chip.ngpio == 16) { pcf857x_probe() 303 gpio->write = i2c_write_le16; pcf857x_probe() 304 gpio->read = i2c_read_le16; pcf857x_probe() 321 gpio->chip.label = client->name; pcf857x_probe() 323 gpio->client = client; pcf857x_probe() 324 i2c_set_clientdata(client, gpio); pcf857x_probe() 341 gpio->out = ~n_latch; pcf857x_probe() 342 gpio->status = gpio->out; pcf857x_probe() 344 status = gpiochip_add(&gpio->chip); pcf857x_probe() 350 status = gpiochip_irqchip_add(&gpio->chip, &pcf857x_irq_chip, pcf857x_probe() 361 dev_name(&client->dev), gpio); pcf857x_probe() 365 gpiochip_set_chained_irqchip(&gpio->chip, &pcf857x_irq_chip, pcf857x_probe() 374 gpio->chip.base, gpio->chip.ngpio, pcf857x_probe() 385 gpiochip_remove(&gpio->chip); pcf857x_probe() 397 struct pcf857x *gpio = i2c_get_clientdata(client); pcf857x_remove() local 402 gpio->chip.base, gpio->chip.ngpio, pcf857x_remove() 411 gpiochip_remove(&gpio->chip); pcf857x_remove()
|
H A D | gpio-crystalcove.c | 2 * gpio-crystalcove.c - Intel Crystal Cove GPIO Driver 20 #include <linux/gpio.h> 93 static inline int to_reg(int gpio, enum ctrl_register reg_type) to_reg() argument 97 if (gpio == 94) { to_reg() 102 if (gpio < 8) to_reg() 107 if (gpio < 8) to_reg() 113 return reg + gpio % 8; to_reg() 117 int gpio) crystalcove_update_irq_mask() 119 u8 mirqs0 = gpio < 8 ? MGPIO0IRQS0 : MGPIO1IRQS0; crystalcove_update_irq_mask() 120 int mask = BIT(gpio % 8); crystalcove_update_irq_mask() 128 static void crystalcove_update_irq_ctrl(struct crystalcove_gpio *cg, int gpio) crystalcove_update_irq_ctrl() argument 130 int reg = to_reg(gpio, CTRL_IN); crystalcove_update_irq_ctrl() 135 static int crystalcove_gpio_dir_in(struct gpio_chip *chip, unsigned gpio) crystalcove_gpio_dir_in() argument 139 if (gpio > CRYSTALCOVE_VGPIO_NUM) crystalcove_gpio_dir_in() 142 return regmap_write(cg->regmap, to_reg(gpio, CTRL_OUT), crystalcove_gpio_dir_in() 146 static int crystalcove_gpio_dir_out(struct gpio_chip *chip, unsigned gpio, crystalcove_gpio_dir_out() argument 151 if (gpio > CRYSTALCOVE_VGPIO_NUM) crystalcove_gpio_dir_out() 154 return regmap_write(cg->regmap, to_reg(gpio, CTRL_OUT), crystalcove_gpio_dir_out() 158 static int crystalcove_gpio_get(struct gpio_chip *chip, unsigned gpio) crystalcove_gpio_get() argument 164 if (gpio > CRYSTALCOVE_VGPIO_NUM) crystalcove_gpio_get() 167 ret = regmap_read(cg->regmap, to_reg(gpio, CTRL_IN), &val); crystalcove_gpio_get() 175 unsigned gpio, int value) crystalcove_gpio_set() 179 if (gpio > CRYSTALCOVE_VGPIO_NUM) crystalcove_gpio_set() 183 regmap_update_bits(cg->regmap, to_reg(gpio, CTRL_OUT), 1, 1); crystalcove_gpio_set() 185 regmap_update_bits(cg->regmap, to_reg(gpio, CTRL_OUT), 1, 0); crystalcove_gpio_set() 224 int gpio = data->hwirq; crystalcove_bus_sync_unlock() local 227 crystalcove_update_irq_ctrl(cg, gpio); crystalcove_bus_sync_unlock() 229 crystalcove_update_irq_mask(cg, gpio); crystalcove_bus_sync_unlock() 266 int gpio; crystalcove_gpio_irq_handler() local 278 for (gpio = 0; gpio < CRYSTALCOVE_GPIO_NUM; gpio++) { crystalcove_gpio_irq_handler() 279 if (pending & BIT(gpio)) { crystalcove_gpio_irq_handler() 280 virq = irq_find_mapping(cg->chip.irqdomain, gpio); crystalcove_gpio_irq_handler() 292 int gpio, offset; crystalcove_gpio_dbg_show() local 295 for (gpio = 0; gpio < CRYSTALCOVE_GPIO_NUM; gpio++) { crystalcove_gpio_dbg_show() 296 regmap_read(cg->regmap, to_reg(gpio, CTRL_OUT), &ctlo); crystalcove_gpio_dbg_show() 297 regmap_read(cg->regmap, to_reg(gpio, CTRL_IN), &ctli); crystalcove_gpio_dbg_show() 298 regmap_read(cg->regmap, gpio < 8 ? MGPIO0IRQS0 : MGPIO1IRQS0, crystalcove_gpio_dbg_show() 300 regmap_read(cg->regmap, gpio < 8 ? MGPIO0IRQSX : MGPIO1IRQSX, crystalcove_gpio_dbg_show() 302 regmap_read(cg->regmap, gpio < 8 ? GPIO0IRQ : GPIO1IRQ, crystalcove_gpio_dbg_show() 305 offset = gpio % 8; crystalcove_gpio_dbg_show() 306 seq_printf(s, " gpio-%-2d %s %s %s %s ctlo=%2x,%s %s %s\n", crystalcove_gpio_dbg_show() 307 gpio, ctlo & CTLO_DIR_OUT ? "out" : "in ", crystalcove_gpio_dbg_show() 350 dev_warn(&pdev->dev, "add gpio chip error: %d\n", retval); crystalcove_gpio_probe() 116 crystalcove_update_irq_mask(struct crystalcove_gpio *cg, int gpio) crystalcove_update_irq_mask() argument 174 crystalcove_gpio_set(struct gpio_chip *chip, unsigned gpio, int value) crystalcove_gpio_set() argument
|
H A D | gpio-mpc5200.c | 2 * MPC52xx gpio driver 28 #include <asm/gpio.h> 57 static int mpc52xx_wkup_gpio_get(struct gpio_chip *gc, unsigned int gpio) mpc52xx_wkup_gpio_get() argument 63 ret = (in_8(®s->wkup_ival) >> (7 - gpio)) & 1; mpc52xx_wkup_gpio_get() 65 pr_debug("%s: gpio: %d ret: %d\n", __func__, gpio, ret); mpc52xx_wkup_gpio_get() 71 __mpc52xx_wkup_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) __mpc52xx_wkup_gpio_set() argument 79 chip->shadow_dvo |= 1 << (7 - gpio); __mpc52xx_wkup_gpio_set() 81 chip->shadow_dvo &= ~(1 << (7 - gpio)); __mpc52xx_wkup_gpio_set() 87 mpc52xx_wkup_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) mpc52xx_wkup_gpio_set() argument 93 __mpc52xx_wkup_gpio_set(gc, gpio, val); mpc52xx_wkup_gpio_set() 97 pr_debug("%s: gpio: %d val: %d\n", __func__, gpio, val); mpc52xx_wkup_gpio_set() 100 static int mpc52xx_wkup_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio) mpc52xx_wkup_gpio_dir_in() argument 111 chip->shadow_ddr &= ~(1 << (7 - gpio)); mpc52xx_wkup_gpio_dir_in() 115 chip->shadow_gpioe |= 1 << (7 - gpio); mpc52xx_wkup_gpio_dir_in() 124 mpc52xx_wkup_gpio_dir_out(struct gpio_chip *gc, unsigned int gpio, int val) mpc52xx_wkup_gpio_dir_out() argument 134 __mpc52xx_wkup_gpio_set(gc, gpio, val); mpc52xx_wkup_gpio_dir_out() 137 chip->shadow_ddr |= 1 << (7 - gpio); mpc52xx_wkup_gpio_dir_out() 141 chip->shadow_gpioe |= 1 << (7 - gpio); mpc52xx_wkup_gpio_dir_out() 146 pr_debug("%s: gpio: %d val: %d\n", __func__, gpio, val); mpc52xx_wkup_gpio_dir_out() 194 { .compatible = "fsl,mpc5200-gpio-wkup", }, 200 .name = "mpc5200-gpio-wkup", 224 static int mpc52xx_simple_gpio_get(struct gpio_chip *gc, unsigned int gpio) mpc52xx_simple_gpio_get() argument 230 ret = (in_be32(®s->simple_ival) >> (31 - gpio)) & 1; mpc52xx_simple_gpio_get() 236 __mpc52xx_simple_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) __mpc52xx_simple_gpio_set() argument 244 chip->shadow_dvo |= 1 << (31 - gpio); __mpc52xx_simple_gpio_set() 246 chip->shadow_dvo &= ~(1 << (31 - gpio)); __mpc52xx_simple_gpio_set() 251 mpc52xx_simple_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) mpc52xx_simple_gpio_set() argument 257 __mpc52xx_simple_gpio_set(gc, gpio, val); mpc52xx_simple_gpio_set() 261 pr_debug("%s: gpio: %d val: %d\n", __func__, gpio, val); mpc52xx_simple_gpio_set() 264 static int mpc52xx_simple_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio) mpc52xx_simple_gpio_dir_in() argument 275 chip->shadow_ddr &= ~(1 << (31 - gpio)); mpc52xx_simple_gpio_dir_in() 279 chip->shadow_gpioe |= 1 << (31 - gpio); mpc52xx_simple_gpio_dir_in() 288 mpc52xx_simple_gpio_dir_out(struct gpio_chip *gc, unsigned int gpio, int val) mpc52xx_simple_gpio_dir_out() argument 299 __mpc52xx_simple_gpio_set(gc, gpio, val); mpc52xx_simple_gpio_dir_out() 302 chip->shadow_ddr |= 1 << (31 - gpio); mpc52xx_simple_gpio_dir_out() 306 chip->shadow_gpioe |= 1 << (31 - gpio); mpc52xx_simple_gpio_dir_out() 311 pr_debug("%s: gpio: %d val: %d\n", __func__, gpio, val); mpc52xx_simple_gpio_dir_out() 350 { .compatible = "fsl,mpc5200-gpio", }, 356 .name = "mpc5200-gpio", 385 MODULE_DESCRIPTION("Freescale MPC52xx gpio driver");
|
H A D | gpio-loongson.c | 22 #include <linux/gpio.h> 37 static int loongson_gpio_direction_input(struct gpio_chip *chip, unsigned gpio) loongson_gpio_direction_input() argument 43 mask = 1 << gpio; loongson_gpio_direction_input() 53 unsigned gpio, int level) loongson_gpio_direction_output() 58 gpio_set_value(gpio, level); loongson_gpio_direction_output() 60 mask = 1 << gpio; loongson_gpio_direction_output() 69 static int loongson_gpio_get_value(struct gpio_chip *chip, unsigned gpio) loongson_gpio_get_value() argument 74 mask = 1 << (gpio + LOONGSON_GPIO_IN_OFFSET); loongson_gpio_get_value() 83 unsigned gpio, int value) loongson_gpio_set_value() 88 mask = 1 << gpio; loongson_gpio_set_value() 101 .label = "Loongson-gpio-chip", 52 loongson_gpio_direction_output(struct gpio_chip *chip, unsigned gpio, int level) loongson_gpio_direction_output() argument 82 loongson_gpio_set_value(struct gpio_chip *chip, unsigned gpio, int value) loongson_gpio_set_value() argument
|
H A D | gpio-tegra.c | 2 * arch/arm/mach-tegra/gpio.c 25 #include <linux/gpio.h> 101 static void tegra_gpio_mask_write(u32 reg, int gpio, int value) tegra_gpio_mask_write() argument 105 val = 0x100 << GPIO_BIT(gpio); tegra_gpio_mask_write() 107 val |= 1 << GPIO_BIT(gpio); tegra_gpio_mask_write() 111 static void tegra_gpio_enable(int gpio) tegra_gpio_enable() argument 113 tegra_gpio_mask_write(GPIO_MSK_CNF(gpio), gpio, 1); tegra_gpio_enable() local 116 static void tegra_gpio_disable(int gpio) tegra_gpio_disable() argument 118 tegra_gpio_mask_write(GPIO_MSK_CNF(gpio), gpio, 0); tegra_gpio_disable() local 139 /* If gpio is in output mode then read from the out value */ tegra_gpio_get() 169 .label = "tegra-gpio", 182 int gpio = d->hwirq; tegra_gpio_irq_ack() local 184 tegra_gpio_writel(1 << GPIO_BIT(gpio), GPIO_INT_CLR(gpio)); tegra_gpio_irq_ack() 189 int gpio = d->hwirq; tegra_gpio_irq_mask() local 191 tegra_gpio_mask_write(GPIO_MSK_INT_ENB(gpio), gpio, 0); tegra_gpio_irq_mask() local 196 int gpio = d->hwirq; tegra_gpio_irq_unmask() local 198 tegra_gpio_mask_write(GPIO_MSK_INT_ENB(gpio), gpio, 1); tegra_gpio_irq_unmask() local 203 int gpio = d->hwirq; tegra_gpio_irq_set_type() local 205 int port = GPIO_PORT(gpio); tegra_gpio_irq_set_type() 236 ret = gpiochip_lock_as_irq(&tegra_gpio_chip, gpio); tegra_gpio_irq_set_type() 238 dev_err(dev, "unable to lock Tegra GPIO %d as IRQ\n", gpio); tegra_gpio_irq_set_type() 244 val = tegra_gpio_readl(GPIO_INT_LVL(gpio)); tegra_gpio_irq_set_type() 245 val &= ~(GPIO_INT_LVL_MASK << GPIO_BIT(gpio)); tegra_gpio_irq_set_type() 246 val |= lvl_type << GPIO_BIT(gpio); tegra_gpio_irq_set_type() 247 tegra_gpio_writel(val, GPIO_INT_LVL(gpio)); tegra_gpio_irq_set_type() 251 tegra_gpio_mask_write(GPIO_MSK_OE(gpio), gpio, 0); tegra_gpio_irq_set_type() local 252 tegra_gpio_enable(gpio); tegra_gpio_irq_set_type() 264 int gpio = d->hwirq; tegra_gpio_irq_shutdown() local 266 gpiochip_unlock_as_irq(&tegra_gpio_chip, gpio); tegra_gpio_irq_shutdown() 282 int gpio = tegra_gpio_compose(bank->bank, port, 0); tegra_gpio_irq_handler() local 283 unsigned long sta = tegra_gpio_readl(GPIO_INT_STA(gpio)) & tegra_gpio_irq_handler() 284 tegra_gpio_readl(GPIO_INT_ENB(gpio)); tegra_gpio_irq_handler() 285 u32 lvl = tegra_gpio_readl(GPIO_INT_LVL(gpio)); tegra_gpio_irq_handler() 288 tegra_gpio_writel(1 << pin, GPIO_INT_CLR(gpio)); tegra_gpio_irq_handler() 290 /* if gpio is edge triggered, clear condition tegra_gpio_irq_handler() 299 generic_handle_irq(gpio_to_irq(gpio + pin)); tegra_gpio_irq_handler() 321 unsigned int gpio = (b<<5) | (p<<3); tegra_gpio_resume() local 322 tegra_gpio_writel(bank->cnf[p], GPIO_CNF(gpio)); tegra_gpio_resume() 323 tegra_gpio_writel(bank->out[p], GPIO_OUT(gpio)); tegra_gpio_resume() 324 tegra_gpio_writel(bank->oe[p], GPIO_OE(gpio)); tegra_gpio_resume() 325 tegra_gpio_writel(bank->int_lvl[p], GPIO_INT_LVL(gpio)); tegra_gpio_resume() 326 tegra_gpio_writel(bank->int_enb[p], GPIO_INT_ENB(gpio)); tegra_gpio_resume() 345 unsigned int gpio = (b<<5) | (p<<3); tegra_gpio_suspend() local 346 bank->cnf[p] = tegra_gpio_readl(GPIO_CNF(gpio)); tegra_gpio_suspend() 347 bank->out[p] = tegra_gpio_readl(GPIO_OUT(gpio)); tegra_gpio_suspend() 348 bank->oe[p] = tegra_gpio_readl(GPIO_OE(gpio)); tegra_gpio_suspend() 349 bank->int_enb[p] = tegra_gpio_readl(GPIO_INT_ENB(gpio)); tegra_gpio_suspend() 350 bank->int_lvl[p] = tegra_gpio_readl(GPIO_INT_LVL(gpio)); tegra_gpio_suspend() 352 /* Enable gpio irq for wake up source */ tegra_gpio_suspend() 354 GPIO_INT_ENB(gpio)); tegra_gpio_suspend() 364 int gpio = d->hwirq; tegra_gpio_irq_set_wake() local 367 port = GPIO_PORT(gpio); tegra_gpio_irq_set_wake() 368 bit = GPIO_BIT(gpio); tegra_gpio_irq_set_wake() 412 { .compatible = "nvidia,tegra30-gpio", .data = &tegra30_gpio_config }, 413 { .compatible = "nvidia,tegra20-gpio", .data = &tegra20_gpio_config }, 429 int gpio; tegra_gpio_probe() local 489 int gpio = tegra_gpio_compose(i, j, 0); tegra_gpio_probe() local 490 tegra_gpio_writel(0x00, GPIO_INT_ENB(gpio)); tegra_gpio_probe() 502 for (gpio = 0; gpio < tegra_gpio_chip.ngpio; gpio++) { tegra_gpio_probe() 503 int irq = irq_create_mapping(irq_domain, gpio); tegra_gpio_probe() 506 bank = &tegra_gpio_banks[GPIO_BANK(gpio)]; tegra_gpio_probe() 530 .name = "tegra-gpio", 555 int gpio = tegra_gpio_compose(i, j, 0); dbg_gpio_show() local 559 tegra_gpio_readl(GPIO_CNF(gpio)), dbg_gpio_show() 560 tegra_gpio_readl(GPIO_OE(gpio)), dbg_gpio_show() 561 tegra_gpio_readl(GPIO_OUT(gpio)), dbg_gpio_show() 562 tegra_gpio_readl(GPIO_IN(gpio)), dbg_gpio_show() 563 tegra_gpio_readl(GPIO_INT_STA(gpio)), dbg_gpio_show() 564 tegra_gpio_readl(GPIO_INT_ENB(gpio)), dbg_gpio_show() 565 tegra_gpio_readl(GPIO_INT_LVL(gpio))); dbg_gpio_show()
|
H A D | gpio-da9055.c | 16 #include <linux/gpio.h> 45 struct da9055_gpio *gpio = to_da9055_gpio(gc); da9055_gpio_get() local 50 ret = da9055_reg_read(gpio->da9055, (offset >> 1) + DA9055_REG_GPIO0_1); da9055_gpio_get() 58 ret = da9055_reg_read(gpio->da9055, DA9055_REG_STATUS_B); da9055_gpio_get() 63 ret = da9055_reg_read(gpio->da9055, DA9055_REG_GPIO_MODE0_2); da9055_gpio_get() 74 struct da9055_gpio *gpio = to_da9055_gpio(gc); da9055_gpio_set() local 76 da9055_reg_update(gpio->da9055, da9055_gpio_set() 84 struct da9055_gpio *gpio = to_da9055_gpio(gc); da9055_gpio_direction_input() local 90 return da9055_reg_update(gpio->da9055, (offset >> 1) + da9055_gpio_direction_input() 100 struct da9055_gpio *gpio = to_da9055_gpio(gc); da9055_gpio_direction_output() local 107 ret = da9055_reg_update(gpio->da9055, (offset >> 1) + da9055_gpio_direction_output() 122 struct da9055_gpio *gpio = to_da9055_gpio(gc); da9055_gpio_to_irq() local 123 struct da9055 *da9055 = gpio->da9055; da9055_gpio_to_irq() 130 .label = "da9055-gpio", 144 struct da9055_gpio *gpio; da9055_gpio_probe() local 148 gpio = devm_kzalloc(&pdev->dev, sizeof(*gpio), GFP_KERNEL); da9055_gpio_probe() 149 if (!gpio) da9055_gpio_probe() 152 gpio->da9055 = dev_get_drvdata(pdev->dev.parent); da9055_gpio_probe() 153 pdata = dev_get_platdata(gpio->da9055->dev); da9055_gpio_probe() 155 gpio->gp = reference_gp; da9055_gpio_probe() 157 gpio->gp.base = pdata->gpio_base; da9055_gpio_probe() 159 ret = gpiochip_add(&gpio->gp); da9055_gpio_probe() 165 platform_set_drvdata(pdev, gpio); da9055_gpio_probe() 175 struct da9055_gpio *gpio = platform_get_drvdata(pdev); da9055_gpio_remove() local 177 gpiochip_remove(&gpio->gp); da9055_gpio_remove() 185 .name = "da9055-gpio", 204 MODULE_ALIAS("platform:da9055-gpio");
|
H A D | gpio-octeon.c | 12 #include <linux/gpio.h> 16 #include <asm/octeon/cvmx-gpio-defs.h> 44 struct octeon_gpio *gpio = container_of(chip, struct octeon_gpio, chip); octeon_gpio_dir_in() local 46 cvmx_write_csr(gpio->register_base + bit_cfg_reg(offset), 0); octeon_gpio_dir_in() 52 struct octeon_gpio *gpio = container_of(chip, struct octeon_gpio, chip); octeon_gpio_set() local 54 u64 reg = gpio->register_base + (value ? TX_SET : TX_CLEAR); octeon_gpio_set() 61 struct octeon_gpio *gpio = container_of(chip, struct octeon_gpio, chip); octeon_gpio_dir_out() local 69 cvmx_write_csr(gpio->register_base + bit_cfg_reg(offset), cfgx.u64); octeon_gpio_dir_out() 75 struct octeon_gpio *gpio = container_of(chip, struct octeon_gpio, chip); octeon_gpio_get() local 76 u64 read_bits = cvmx_read_csr(gpio->register_base + RX_DAT); octeon_gpio_get() 83 struct octeon_gpio *gpio; octeon_gpio_probe() local 88 gpio = devm_kzalloc(&pdev->dev, sizeof(*gpio), GFP_KERNEL); octeon_gpio_probe() 89 if (!gpio) octeon_gpio_probe() 91 chip = &gpio->chip; octeon_gpio_probe() 106 gpio->register_base = (u64)devm_ioremap(&pdev->dev, res_mem->start, octeon_gpio_probe() 110 chip->label = "octeon-gpio"; octeon_gpio_probe() 138 .compatible = "cavium,octeon-3860-gpio",
|
H A D | gpio-ucb1400.c | 17 struct ucb1400_gpio *gpio; ucb1400_gpio_dir_in() local 18 gpio = container_of(gc, struct ucb1400_gpio, gc); ucb1400_gpio_dir_in() 19 ucb1400_gpio_set_direction(gpio->ac97, off, 0); ucb1400_gpio_dir_in() 25 struct ucb1400_gpio *gpio; ucb1400_gpio_dir_out() local 26 gpio = container_of(gc, struct ucb1400_gpio, gc); ucb1400_gpio_dir_out() 27 ucb1400_gpio_set_direction(gpio->ac97, off, 1); ucb1400_gpio_dir_out() 28 ucb1400_gpio_set_value(gpio->ac97, off, val); ucb1400_gpio_dir_out() 34 struct ucb1400_gpio *gpio; ucb1400_gpio_get() local 35 gpio = container_of(gc, struct ucb1400_gpio, gc); ucb1400_gpio_get() 36 return ucb1400_gpio_get_value(gpio->ac97, off); ucb1400_gpio_get() 41 struct ucb1400_gpio *gpio; ucb1400_gpio_set() local 42 gpio = container_of(gc, struct ucb1400_gpio, gc); ucb1400_gpio_set() 43 ucb1400_gpio_set_value(gpio->ac97, off, val); ucb1400_gpio_set()
|
H A D | gpio-rdc321x.c | 28 #include <linux/gpio.h> 44 static int rdc_gpio_get_value(struct gpio_chip *chip, unsigned gpio) rdc_gpio_get_value() argument 51 reg = gpio < 32 ? gpch->reg1_data_base : gpch->reg2_data_base; rdc_gpio_get_value() 55 gpch->data_reg[gpio < 32 ? 0 : 1]); rdc_gpio_get_value() 59 return (1 << (gpio & 0x1f)) & value ? 1 : 0; rdc_gpio_get_value() 63 unsigned gpio, int value) rdc_gpio_set_value_impl() 66 int reg = (gpio < 32) ? 0 : 1; rdc_gpio_set_value_impl() 71 gpch->data_reg[reg] |= 1 << (gpio & 0x1f); rdc_gpio_set_value_impl() 73 gpch->data_reg[reg] &= ~(1 << (gpio & 0x1f)); rdc_gpio_set_value_impl() 82 unsigned gpio, int value) rdc_gpio_set_value() 88 rdc_gpio_set_value_impl(chip, gpio, value); rdc_gpio_set_value() 93 unsigned gpio, int value) rdc_gpio_config() 102 err = pci_read_config_dword(gpch->sb_pdev, gpio < 32 ? rdc_gpio_config() 107 reg |= 1 << (gpio & 0x1f); rdc_gpio_config() 109 err = pci_write_config_dword(gpch->sb_pdev, gpio < 32 ? rdc_gpio_config() 114 rdc_gpio_set_value_impl(chip, gpio, value); rdc_gpio_config() 123 static int rdc_gpio_direction_input(struct gpio_chip *chip, unsigned gpio) rdc_gpio_direction_input() argument 125 return rdc_gpio_config(chip, gpio, 1); rdc_gpio_direction_input() 149 r = platform_get_resource_byname(pdev, IORESOURCE_IO, "gpio-reg1"); rdc321x_gpio_probe() 151 dev_err(&pdev->dev, "failed to get gpio-reg1 resource\n"); rdc321x_gpio_probe() 160 r = platform_get_resource_byname(pdev, IORESOURCE_IO, "gpio-reg2"); rdc321x_gpio_probe() 162 dev_err(&pdev->dev, "failed to get gpio-reg2 resource\n"); rdc321x_gpio_probe() 169 rdc321x_gpio_dev->chip.label = "rdc321x-gpio"; rdc321x_gpio_probe() 210 .driver.name = "rdc321x-gpio", 221 MODULE_ALIAS("platform:rdc321x-gpio"); 62 rdc_gpio_set_value_impl(struct gpio_chip *chip, unsigned gpio, int value) rdc_gpio_set_value_impl() argument 81 rdc_gpio_set_value(struct gpio_chip *chip, unsigned gpio, int value) rdc_gpio_set_value() argument 92 rdc_gpio_config(struct gpio_chip *chip, unsigned gpio, int value) rdc_gpio_config() argument
|
H A D | gpio-pxa.c | 2 * linux/arch/arm/plat-pxa/gpio.c 17 #include <linux/gpio.h> 18 #include <linux/gpio-pxa.h> 80 int (*set_wake)(unsigned int gpio, unsigned int on); 159 static inline struct pxa_gpio_chip *gpio_to_pxachip(unsigned gpio) gpio_to_pxachip() argument 161 return &pxa_gpio_chips[gpio_to_bank(gpio)]; gpio_to_pxachip() 177 static inline int __gpio_is_inverted(int gpio) __gpio_is_inverted() argument 179 if ((gpio_type == PXA26X_GPIO) && (gpio > 85)) __gpio_is_inverted() 190 static inline int __gpio_is_occupied(unsigned gpio) __gpio_is_occupied() argument 197 pxachip = gpio_to_pxachip(gpio); __gpio_is_occupied() 206 af = (gafr >> ((gpio & 0xf) * 2)) & 0x3; __gpio_is_occupied() 207 dir = gpdr & GPIO_bit(gpio); __gpio_is_occupied() 209 if (__gpio_is_inverted(gpio)) __gpio_is_occupied() 215 ret = gpdr & GPIO_bit(gpio); __gpio_is_occupied() 305 int i, gpio, nbanks = gpio_to_bank(gpio_end) + 1; pxa_init_gpio_chip() local 314 for (i = 0, gpio = 0; i < nbanks; i++, gpio += 32) { pxa_init_gpio_chip() 317 sprintf(chips[i].label, "gpio-%d", i); pxa_init_gpio_chip() 321 c->base = gpio; pxa_init_gpio_chip() 336 c->ngpio = (gpio + 31 > gpio_end) ? (gpio_end - gpio + 1) : 32; pxa_init_gpio_chip() 361 int gpio = pxa_irq_to_gpio(d->irq); pxa_gpio_irq_type() local 362 unsigned long gpdr, mask = GPIO_bit(gpio); pxa_gpio_irq_type() 364 c = gpio_to_pxachip(gpio); pxa_gpio_irq_type() 370 if ((c->irq_edge_rise | c->irq_edge_fall) & GPIO_bit(gpio)) pxa_gpio_irq_type() 373 if (__gpio_is_occupied(gpio)) pxa_gpio_irq_type() 381 if (__gpio_is_inverted(gpio)) pxa_gpio_irq_type() 398 pr_debug("%s: IRQ%d (GPIO%d) - edge%s%s\n", __func__, d->irq, gpio, pxa_gpio_irq_type() 407 int loop, gpio, gpio_base, n; pxa_gpio_demux_handler() local 415 for_each_gpio_chip(gpio, c) { for_each_gpio_chip() 435 int gpio = pxa_irq_to_gpio(d->irq); pxa_ack_muxed_gpio() local 436 struct pxa_gpio_chip *c = gpio_to_pxachip(gpio); pxa_ack_muxed_gpio() 438 writel_relaxed(GPIO_bit(gpio), c->regbase + GEDR_OFFSET); pxa_ack_muxed_gpio() 443 int gpio = pxa_irq_to_gpio(d->irq); pxa_mask_muxed_gpio() local 444 struct pxa_gpio_chip *c = gpio_to_pxachip(gpio); pxa_mask_muxed_gpio() 447 c->irq_mask &= ~GPIO_bit(gpio); pxa_mask_muxed_gpio() 449 grer = readl_relaxed(c->regbase + GRER_OFFSET) & ~GPIO_bit(gpio); pxa_mask_muxed_gpio() 450 gfer = readl_relaxed(c->regbase + GFER_OFFSET) & ~GPIO_bit(gpio); pxa_mask_muxed_gpio() 457 int gpio = pxa_irq_to_gpio(d->irq); pxa_gpio_set_wake() local 458 struct pxa_gpio_chip *c = gpio_to_pxachip(gpio); pxa_gpio_set_wake() 461 return c->set_wake(gpio, on); pxa_gpio_set_wake() 468 int gpio = pxa_irq_to_gpio(d->irq); pxa_unmask_muxed_gpio() local 469 struct pxa_gpio_chip *c = gpio_to_pxachip(gpio); pxa_unmask_muxed_gpio() 471 c->irq_mask |= GPIO_bit(gpio); pxa_unmask_muxed_gpio() 511 { .compatible = "intel,pxa25x-gpio", .data = &pxa25x_id, }, 512 { .compatible = "intel,pxa26x-gpio", .data = &pxa26x_id, }, 513 { .compatible = "intel,pxa27x-gpio", .data = &pxa27x_id, }, 514 { .compatible = "intel,pxa3xx-gpio", .data = &pxa3xx_id, }, 515 { .compatible = "marvell,pxa93x-gpio", .data = &pxa93x_id, }, 516 { .compatible = "marvell,mmp-gpio", .data = &mmp_id, }, 517 { .compatible = "marvell,mmp2-gpio", .data = &mmp2_id, }, 518 { .compatible = "marvell,pxa1928-gpio", .data = &pxa1928_id, }, 545 dev_err(&pdev->dev, "Failed to find gpio controller\n"); pxa_gpio_probe_dt() 578 int gpio, irq, ret, use_of = 0; pxa_gpio_probe() local 616 dev_err(&pdev->dev, "Error %ld to get gpio clock\n", pxa_gpio_probe() 632 for_each_gpio_chip(gpio, c) { for_each_gpio_chip() 673 { "pxa25x-gpio", (unsigned long)&pxa25x_id }, 674 { "pxa26x-gpio", (unsigned long)&pxa26x_id }, 675 { "pxa27x-gpio", (unsigned long)&pxa27x_id }, 676 { "pxa3xx-gpio", (unsigned long)&pxa3xx_id }, 677 { "pxa93x-gpio", (unsigned long)&pxa93x_id }, 678 { "mmp-gpio", (unsigned long)&mmp_id }, 679 { "mmp2-gpio", (unsigned long)&mmp2_id }, 680 { "pxa1928-gpio", (unsigned long)&pxa1928_id }, 687 .name = "pxa-gpio", 703 int gpio; pxa_gpio_suspend() local 705 for_each_gpio_chip(gpio, c) { for_each_gpio_chip() 720 int gpio; pxa_gpio_resume() local 722 for_each_gpio_chip(gpio, c) { for_each_gpio_chip()
|
H A D | gpio-zynq.c | 14 #include <linux/gpio/driver.h> 22 #define DRIVER_NAME "zynq-gpio" 87 * struct zynq_gpio - gpio device private data structure 105 * @pin_num: gpio pin number within the device 106 * @bank_num: an output parameter used to return the bank number of the gpio 109 * for the given gpio pin 152 * @pin: gpio pin number within the device 162 struct zynq_gpio *gpio = container_of(chip, struct zynq_gpio, chip); zynq_gpio_get_value() local 166 data = readl_relaxed(gpio->base_addr + zynq_gpio_get_value() 175 * @pin: gpio pin number within the device 180 * gpio pin to the specified value. The state is either 0 or non-zero. 186 struct zynq_gpio *gpio = container_of(chip, struct zynq_gpio, chip); zynq_gpio_set_value() local 206 writel_relaxed(state, gpio->base_addr + reg_offset); zynq_gpio_set_value() 212 * @pin: gpio pin number within the device 215 * the gpio pin as input. 223 struct zynq_gpio *gpio = container_of(chip, struct zynq_gpio, chip); zynq_gpio_dir_in() local 232 reg = readl_relaxed(gpio->base_addr + ZYNQ_GPIO_DIRM_OFFSET(bank_num)); zynq_gpio_dir_in() 234 writel_relaxed(reg, gpio->base_addr + ZYNQ_GPIO_DIRM_OFFSET(bank_num)); zynq_gpio_dir_in() 242 * @pin: gpio pin number within the device 256 struct zynq_gpio *gpio = container_of(chip, struct zynq_gpio, chip); zynq_gpio_dir_out() local 261 reg = readl_relaxed(gpio->base_addr + ZYNQ_GPIO_DIRM_OFFSET(bank_num)); zynq_gpio_dir_out() 263 writel_relaxed(reg, gpio->base_addr + ZYNQ_GPIO_DIRM_OFFSET(bank_num)); zynq_gpio_dir_out() 266 reg = readl_relaxed(gpio->base_addr + ZYNQ_GPIO_OUTEN_OFFSET(bank_num)); zynq_gpio_dir_out() 268 writel_relaxed(reg, gpio->base_addr + ZYNQ_GPIO_OUTEN_OFFSET(bank_num)); zynq_gpio_dir_out() 276 * zynq_gpio_irq_mask - Disable the interrupts for a gpio pin 279 * This function calculates gpio pin number from irq number and sets the 286 struct zynq_gpio *gpio = irq_data_get_irq_chip_data(irq_data); zynq_gpio_irq_mask() local 291 gpio->base_addr + ZYNQ_GPIO_INTDIS_OFFSET(bank_num)); zynq_gpio_irq_mask() 295 * zynq_gpio_irq_unmask - Enable the interrupts for a gpio pin 296 * @irq_data: irq data containing irq number of gpio pin for the interrupt 299 * This function calculates the gpio pin number from irq number and sets the 306 struct zynq_gpio *gpio = irq_data_get_irq_chip_data(irq_data); zynq_gpio_irq_unmask() local 311 gpio->base_addr + ZYNQ_GPIO_INTEN_OFFSET(bank_num)); zynq_gpio_irq_unmask() 315 * zynq_gpio_irq_ack - Acknowledge the interrupt of a gpio pin 316 * @irq_data: irq data containing irq number of gpio pin for the interrupt 319 * This function calculates gpio pin number from irq number and sets the bit 325 struct zynq_gpio *gpio = irq_data_get_irq_chip_data(irq_data); zynq_gpio_irq_ack() local 330 gpio->base_addr + ZYNQ_GPIO_INTSTS_OFFSET(bank_num)); zynq_gpio_irq_ack() 334 * zynq_gpio_irq_enable - Enable the interrupts for a gpio pin 335 * @irq_data: irq data containing irq number of gpio pin for the interrupt 357 * zynq_gpio_set_irq_type - Set the irq type for a gpio pin 358 * @irq_data: irq data containing irq number of gpio pin 359 * @type: interrupt type that is to be set for the gpio pin 361 * This function gets the gpio pin number and its bank from the gpio pin number 375 struct zynq_gpio *gpio = irq_data_get_irq_chip_data(irq_data); zynq_gpio_set_irq_type() local 380 int_type = readl_relaxed(gpio->base_addr + zynq_gpio_set_irq_type() 382 int_pol = readl_relaxed(gpio->base_addr + zynq_gpio_set_irq_type() 384 int_any = readl_relaxed(gpio->base_addr + zynq_gpio_set_irq_type() 419 gpio->base_addr + ZYNQ_GPIO_INTTYPE_OFFSET(bank_num)); zynq_gpio_set_irq_type() 421 gpio->base_addr + ZYNQ_GPIO_INTPOL_OFFSET(bank_num)); zynq_gpio_set_irq_type() 423 gpio->base_addr + ZYNQ_GPIO_INTANY_OFFSET(bank_num)); zynq_gpio_set_irq_type() 438 struct zynq_gpio *gpio = irq_data_get_irq_chip_data(data); zynq_gpio_set_wake() local 440 irq_set_irq_wake(gpio->irq, on); zynq_gpio_set_wake() 469 static void zynq_gpio_handle_bank_irq(struct zynq_gpio *gpio, zynq_gpio_handle_bank_irq() argument 474 struct irq_domain *irqdomain = gpio->chip.irqdomain; zynq_gpio_handle_bank_irq() 489 * zynq_gpio_irqhandler - IRQ handler for the gpio banks of a gpio device 490 * @irq: irq number of the gpio bank where interrupt has occurred 494 * gpio pin number which has triggered an interrupt. It then acks the triggered 497 * Note: A bug is reported if no handler is set for the gpio pin. 503 struct zynq_gpio *gpio = irq_get_handler_data(irq); zynq_gpio_irqhandler() local 509 int_sts = readl_relaxed(gpio->base_addr + zynq_gpio_irqhandler() 511 int_enb = readl_relaxed(gpio->base_addr + zynq_gpio_irqhandler() 513 zynq_gpio_handle_bank_irq(gpio, bank_num, int_sts & ~int_enb); zynq_gpio_irqhandler() 546 struct zynq_gpio *gpio = platform_get_drvdata(pdev); zynq_gpio_runtime_suspend() local 548 clk_disable_unprepare(gpio->clk); zynq_gpio_runtime_suspend() 556 struct zynq_gpio *gpio = platform_get_drvdata(pdev); zynq_gpio_runtime_resume() local 558 return clk_prepare_enable(gpio->clk); zynq_gpio_runtime_resume() 589 * This function allocates memory resources for the gpio device and registers 590 * all the banks of the device. It will also set up interrupts for the gpio 599 struct zynq_gpio *gpio; zynq_gpio_probe() local 603 gpio = devm_kzalloc(&pdev->dev, sizeof(*gpio), GFP_KERNEL); zynq_gpio_probe() 604 if (!gpio) zynq_gpio_probe() 607 platform_set_drvdata(pdev, gpio); zynq_gpio_probe() 610 gpio->base_addr = devm_ioremap_resource(&pdev->dev, res); zynq_gpio_probe() 611 if (IS_ERR(gpio->base_addr)) zynq_gpio_probe() 612 return PTR_ERR(gpio->base_addr); zynq_gpio_probe() 614 gpio->irq = platform_get_irq(pdev, 0); zynq_gpio_probe() 615 if (gpio->irq < 0) { zynq_gpio_probe() 617 return gpio->irq; zynq_gpio_probe() 620 /* configure the gpio chip */ zynq_gpio_probe() 621 chip = &gpio->chip; zynq_gpio_probe() 635 gpio->clk = devm_clk_get(&pdev->dev, NULL); zynq_gpio_probe() 636 if (IS_ERR(gpio->clk)) { zynq_gpio_probe() 638 return PTR_ERR(gpio->clk); zynq_gpio_probe() 640 ret = clk_prepare_enable(gpio->clk); zynq_gpio_probe() 646 /* report a bug if gpio chip registration fails */ zynq_gpio_probe() 649 dev_err(&pdev->dev, "Failed to add gpio chip\n"); zynq_gpio_probe() 655 writel_relaxed(ZYNQ_GPIO_IXR_DISABLE_ALL, gpio->base_addr + zynq_gpio_probe() 665 gpiochip_set_chained_irqchip(chip, &zynq_gpio_edge_irqchip, gpio->irq, zynq_gpio_probe() 676 clk_disable_unprepare(gpio->clk); zynq_gpio_probe() 689 struct zynq_gpio *gpio = platform_get_drvdata(pdev); zynq_gpio_remove() local 692 gpiochip_remove(&gpio->chip); zynq_gpio_remove() 693 clk_disable_unprepare(gpio->clk); zynq_gpio_remove() 699 { .compatible = "xlnx,zynq-gpio-1.0", },
|
H A D | gpio-iop.c | 2 * arch/arm/plat-iop/gpio.c 17 #include <linux/gpio.h> 75 static int iop3xx_gpio_direction_input(struct gpio_chip *chip, unsigned gpio) iop3xx_gpio_direction_input() argument 77 gpio_line_config(gpio, GPIO_IN); iop3xx_gpio_direction_input() 81 static int iop3xx_gpio_direction_output(struct gpio_chip *chip, unsigned gpio, int level) iop3xx_gpio_direction_output() argument 83 gpio_line_set(gpio, level); iop3xx_gpio_direction_output() 84 gpio_line_config(gpio, GPIO_OUT); iop3xx_gpio_direction_output() 88 static int iop3xx_gpio_get_value(struct gpio_chip *chip, unsigned gpio) iop3xx_gpio_get_value() argument 90 return gpio_line_get(gpio); iop3xx_gpio_get_value() 93 static void iop3xx_gpio_set_value(struct gpio_chip *chip, unsigned gpio, int value) iop3xx_gpio_set_value() argument 95 gpio_line_set(gpio, value); iop3xx_gpio_set_value() 122 .name = "gpio-iop",
|
H A D | gpio-viperboard.c | 24 #include <linux/gpio.h> 69 struct gpio_chip gpioa; /* gpio a related things */ 72 struct gpio_chip gpiob; /* gpio b related things */ 83 "gpio-a sampling freq in Hz (default is 1000Hz) valid values: 10, 100, 1000, 10000, 100000, 1000000"); 91 struct vprbrd_gpio *gpio = vprbrd_gpioa_get() local 93 struct vprbrd *vb = gpio->vb; vprbrd_gpioa_get() 97 if (gpio->gpioa_out & (1 << offset)) vprbrd_gpioa_get() 98 return gpio->gpioa_val & (1 << offset); vprbrd_gpioa_get() 142 struct vprbrd_gpio *gpio = vprbrd_gpioa_set() local 144 struct vprbrd *vb = gpio->vb; vprbrd_gpioa_set() 147 if (gpio->gpioa_out & (1 << offset)) { vprbrd_gpioa_set() 149 gpio->gpioa_val |= (1 << offset); vprbrd_gpioa_set() 151 gpio->gpioa_val &= ~(1 << offset); vprbrd_gpioa_set() 184 struct vprbrd_gpio *gpio = vprbrd_gpioa_direction_input() local 186 struct vprbrd *vb = gpio->vb; vprbrd_gpioa_direction_input() 189 gpio->gpioa_out &= ~(1 << offset); vprbrd_gpioa_direction_input() 222 struct vprbrd_gpio *gpio = vprbrd_gpioa_direction_output() local 224 struct vprbrd *vb = gpio->vb; vprbrd_gpioa_direction_output() 227 gpio->gpioa_out |= (1 << offset); vprbrd_gpioa_direction_output() 229 gpio->gpioa_val |= (1 << offset); vprbrd_gpioa_direction_output() 231 gpio->gpioa_val &= ~(1 << offset); vprbrd_gpioa_direction_output() 260 /* ----- end of gpio a chip ---------------------------------------------- */ 290 struct vprbrd_gpio *gpio = vprbrd_gpiob_get() local 292 struct vprbrd *vb = gpio->vb; vprbrd_gpiob_get() 296 if (gpio->gpiob_out & (1 << offset)) vprbrd_gpiob_get() 297 return gpio->gpiob_val & (1 << offset); vprbrd_gpiob_get() 313 gpio->gpiob_val = be16_to_cpu(val); vprbrd_gpiob_get() 315 return (gpio->gpiob_val >> offset) & 0x1; vprbrd_gpiob_get() 322 struct vprbrd_gpio *gpio = vprbrd_gpiob_set() local 324 struct vprbrd *vb = gpio->vb; vprbrd_gpiob_set() 327 if (gpio->gpiob_out & (1 << offset)) { vprbrd_gpiob_set() 329 gpio->gpiob_val |= (1 << offset); vprbrd_gpiob_set() 331 gpio->gpiob_val &= ~(1 << offset); vprbrd_gpiob_set() 356 struct vprbrd_gpio *gpio = vprbrd_gpiob_direction_input() local 358 struct vprbrd *vb = gpio->vb; vprbrd_gpiob_direction_input() 360 gpio->gpiob_out &= ~(1 << offset); vprbrd_gpiob_direction_input() 378 struct vprbrd_gpio *gpio = vprbrd_gpiob_direction_output() local 380 struct vprbrd *vb = gpio->vb; vprbrd_gpiob_direction_output() 382 gpio->gpiob_out |= (1 << offset); vprbrd_gpiob_direction_output() 397 /* ----- end of gpio b chip ---------------------------------------------- */ 410 /* registering gpio a */ vprbrd_gpio_probe() 411 vb_gpio->gpioa.label = "viperboard gpio a"; vprbrd_gpio_probe() 423 dev_err(vb_gpio->gpioa.dev, "could not add gpio a"); vprbrd_gpio_probe() 427 /* registering gpio b */ vprbrd_gpio_probe() 428 vb_gpio->gpiob.label = "viperboard gpio b"; vprbrd_gpio_probe() 440 dev_err(vb_gpio->gpiob.dev, "could not add gpio b"); vprbrd_gpio_probe() 465 .driver.name = "viperboard-gpio", 510 MODULE_ALIAS("platform:viperboard-gpio");
|
H A D | gpio-kempld.c | 23 #include <linux/gpio.h> 68 struct kempld_gpio_data *gpio kempld_gpio_get() local 70 struct kempld_device_data *pld = gpio->pld; kempld_gpio_get() 77 struct kempld_gpio_data *gpio kempld_gpio_set() local 79 struct kempld_device_data *pld = gpio->pld; kempld_gpio_set() 88 struct kempld_gpio_data *gpio kempld_gpio_direction_input() local 90 struct kempld_device_data *pld = gpio->pld; kempld_gpio_direction_input() 102 struct kempld_gpio_data *gpio kempld_gpio_direction_output() local 104 struct kempld_device_data *pld = gpio->pld; kempld_gpio_direction_output() 116 struct kempld_gpio_data *gpio kempld_gpio_get_direction() local 118 struct kempld_device_data *pld = gpio->pld; kempld_gpio_get_direction() 148 struct kempld_gpio_data *gpio; kempld_gpio_probe() local 158 gpio = devm_kzalloc(dev, sizeof(*gpio), GFP_KERNEL); kempld_gpio_probe() 159 if (!gpio) kempld_gpio_probe() 162 gpio->pld = pld; kempld_gpio_probe() 164 platform_set_drvdata(pdev, gpio); kempld_gpio_probe() 166 chip = &gpio->chip; kempld_gpio_probe() 167 chip->label = "gpio-kempld"; kempld_gpio_probe() 200 struct kempld_gpio_data *gpio = platform_get_drvdata(pdev); kempld_gpio_remove() local 202 gpiochip_remove(&gpio->chip); kempld_gpio_remove() 208 .name = "kempld-gpio", 219 MODULE_ALIAS("platform:kempld-gpio");
|
H A D | gpio-sta2x11.c | 5 * Based on gpio-ml-ioh.c, Copyright 2010 OKI Semiconductors Ltd. 26 #include <linux/gpio.h> 55 struct gpio_chip gpio; member in struct:gsta_gpio 72 * gpio methods 75 static void gsta_gpio_set(struct gpio_chip *gpio, unsigned nr, int val) gsta_gpio_set() argument 77 struct gsta_gpio *chip = container_of(gpio, struct gsta_gpio, gpio); gsta_gpio_set() 87 static int gsta_gpio_get(struct gpio_chip *gpio, unsigned nr) gsta_gpio_get() argument 89 struct gsta_gpio *chip = container_of(gpio, struct gsta_gpio, gpio); gsta_gpio_get() 96 static int gsta_gpio_direction_output(struct gpio_chip *gpio, unsigned nr, gsta_gpio_direction_output() argument 99 struct gsta_gpio *chip = container_of(gpio, struct gsta_gpio, gpio); gsta_gpio_direction_output() 112 static int gsta_gpio_direction_input(struct gpio_chip *gpio, unsigned nr) gsta_gpio_direction_input() argument 114 struct gsta_gpio *chip = container_of(gpio, struct gsta_gpio, gpio); gsta_gpio_direction_input() 122 static int gsta_gpio_to_irq(struct gpio_chip *gpio, unsigned offset) gsta_gpio_to_irq() argument 124 struct gsta_gpio *chip = container_of(gpio, struct gsta_gpio, gpio); gsta_gpio_to_irq() 130 struct gpio_chip *gpio = &chip->gpio; gsta_gpio_setup() local 135 * ConneXt device to start from gpio 0: it's the main chipset gsta_gpio_setup() 140 gpio->label = dev_name(chip->dev); gsta_gpio_setup() 141 gpio->owner = THIS_MODULE; gsta_gpio_setup() 142 gpio->direction_input = gsta_gpio_direction_input; gsta_gpio_setup() 143 gpio->get = gsta_gpio_get; gsta_gpio_setup() 144 gpio->direction_output = gsta_gpio_direction_output; gsta_gpio_setup() 145 gpio->set = gsta_gpio_set; gsta_gpio_setup() 146 gpio->dbg_show = NULL; gsta_gpio_setup() 147 gpio->base = gpio_base; gsta_gpio_setup() 148 gpio->ngpio = GSTA_NR_GPIO; gsta_gpio_setup() 149 gpio->can_sleep = false; gsta_gpio_setup() 150 gpio->to_irq = gsta_gpio_to_irq; gsta_gpio_setup() 153 * After the first device, turn to dynamic gpio numbers. gsta_gpio_setup() 162 * invoked on startup to configure gpio's according to platform data. 368 dev_err(&dev->dev, "no gpio config\n"); gsta_probe() 369 pr_debug("gpio config: %p\n", gpio_pdata); gsta_probe() 397 dev_warn(&dev->dev, "sta2x11 gpio: Can't get irq base (%i)\n", gsta_probe() 407 dev_err(&dev->dev, "sta2x11 gpio: Can't request irq (%i)\n", gsta_probe() 412 err = gpiochip_add(&chip->gpio); gsta_probe() 414 dev_err(&dev->dev, "sta2x11 gpio: Can't register (%i)\n", gsta_probe() 431 .name = "sta2x11-gpio",
|
H A D | gpio-bcm-kona.c | 17 #include <linux/gpio.h> 28 #define GPIO_BANK(gpio) ((gpio) >> 5) 29 #define GPIO_BIT(gpio) ((gpio) & (GPIO_PER_BANK - 1)) 32 #define GPIO_CONTROL(gpio) (0x00000100 + ((gpio) << 2)) 94 unsigned gpio) bcm_kona_gpio_lock_gpio() 98 int bank_id = GPIO_BANK(gpio); bcm_kona_gpio_lock_gpio() 103 val |= BIT(gpio); bcm_kona_gpio_lock_gpio() 110 unsigned gpio) bcm_kona_gpio_unlock_gpio() 114 int bank_id = GPIO_BANK(gpio); bcm_kona_gpio_unlock_gpio() 119 val &= ~BIT(gpio); bcm_kona_gpio_unlock_gpio() 125 static void bcm_kona_gpio_set(struct gpio_chip *chip, unsigned gpio, int value) bcm_kona_gpio_set() argument 129 int bank_id = GPIO_BANK(gpio); bcm_kona_gpio_set() 130 int bit = GPIO_BIT(gpio); bcm_kona_gpio_set() 139 val = readl(reg_base + GPIO_CONTROL(gpio)); bcm_kona_gpio_set() 156 static int bcm_kona_gpio_get(struct gpio_chip *chip, unsigned gpio) bcm_kona_gpio_get() argument 160 int bank_id = GPIO_BANK(gpio); bcm_kona_gpio_get() 161 int bit = GPIO_BIT(gpio); bcm_kona_gpio_get() 170 val = readl(reg_base + GPIO_CONTROL(gpio)); bcm_kona_gpio_get() 184 static int bcm_kona_gpio_request(struct gpio_chip *chip, unsigned gpio) bcm_kona_gpio_request() argument 188 bcm_kona_gpio_unlock_gpio(kona_gpio, gpio); bcm_kona_gpio_request() 192 static void bcm_kona_gpio_free(struct gpio_chip *chip, unsigned gpio) bcm_kona_gpio_free() argument 196 bcm_kona_gpio_lock_gpio(kona_gpio, gpio); bcm_kona_gpio_free() 199 static int bcm_kona_gpio_direction_input(struct gpio_chip *chip, unsigned gpio) bcm_kona_gpio_direction_input() argument 210 val = readl(reg_base + GPIO_CONTROL(gpio)); bcm_kona_gpio_direction_input() 213 writel(val, reg_base + GPIO_CONTROL(gpio)); bcm_kona_gpio_direction_input() 221 unsigned gpio, int value) bcm_kona_gpio_direction_output() 225 int bank_id = GPIO_BANK(gpio); bcm_kona_gpio_direction_output() 226 int bit = GPIO_BIT(gpio); bcm_kona_gpio_direction_output() 234 val = readl(reg_base + GPIO_CONTROL(gpio)); bcm_kona_gpio_direction_output() 237 writel(val, reg_base + GPIO_CONTROL(gpio)); bcm_kona_gpio_direction_output() 249 static int bcm_kona_gpio_to_irq(struct gpio_chip *chip, unsigned gpio) bcm_kona_gpio_to_irq() argument 254 if (gpio >= kona_gpio->gpio_chip.ngpio) bcm_kona_gpio_to_irq() 256 return irq_create_mapping(kona_gpio->irq_domain, gpio); bcm_kona_gpio_to_irq() 259 static int bcm_kona_gpio_set_debounce(struct gpio_chip *chip, unsigned gpio, bcm_kona_gpio_set_debounce() argument 290 val = readl(reg_base + GPIO_CONTROL(gpio)); bcm_kona_gpio_set_debounce() 301 writel(val, reg_base + GPIO_CONTROL(gpio)); bcm_kona_gpio_set_debounce() 309 .label = "bcm-kona-gpio", 326 unsigned gpio = d->hwirq; bcm_kona_gpio_irq_ack() local 327 int bank_id = GPIO_BANK(gpio); bcm_kona_gpio_irq_ack() 328 int bit = GPIO_BIT(gpio); bcm_kona_gpio_irq_ack() 347 unsigned gpio = d->hwirq; bcm_kona_gpio_irq_mask() local 348 int bank_id = GPIO_BANK(gpio); bcm_kona_gpio_irq_mask() 349 int bit = GPIO_BIT(gpio); bcm_kona_gpio_irq_mask() 368 unsigned gpio = d->hwirq; bcm_kona_gpio_irq_unmask() local 369 int bank_id = GPIO_BANK(gpio); bcm_kona_gpio_irq_unmask() 370 int bit = GPIO_BIT(gpio); bcm_kona_gpio_irq_unmask() 389 unsigned gpio = d->hwirq; bcm_kona_gpio_irq_set_type() local 420 val = readl(reg_base + GPIO_CONTROL(gpio)); bcm_kona_gpio_irq_set_type() 423 writel(val, reg_base + GPIO_CONTROL(gpio)); bcm_kona_gpio_irq_set_type() 490 .name = "bcm-kona-gpio", 500 { .compatible = "brcm,kona-gpio" }, 573 dev_err(dev, "Failed to find gpio controller\n"); bcm_kona_gpio_probe() 670 .name = "bcm-kona-gpio", 93 bcm_kona_gpio_lock_gpio(struct bcm_kona_gpio *kona_gpio, unsigned gpio) bcm_kona_gpio_lock_gpio() argument 109 bcm_kona_gpio_unlock_gpio(struct bcm_kona_gpio *kona_gpio, unsigned gpio) bcm_kona_gpio_unlock_gpio() argument 220 bcm_kona_gpio_direction_output(struct gpio_chip *chip, unsigned gpio, int value) bcm_kona_gpio_direction_output() argument
|
H A D | gpio-janz-ttl.c | 19 #include <linux/gpio.h> 48 struct gpio_chip gpio; member in struct:ttl_module 60 static int ttl_get_value(struct gpio_chip *gpio, unsigned offset) ttl_get_value() argument 62 struct ttl_module *mod = dev_get_drvdata(gpio->dev); ttl_get_value() 82 static void ttl_set_value(struct gpio_chip *gpio, unsigned offset, int value) ttl_set_value() argument 84 struct ttl_module *mod = dev_get_drvdata(gpio->dev); ttl_set_value() 148 struct gpio_chip *gpio; ttl_probe() local 174 gpio = &mod->gpio; ttl_probe() 175 gpio->dev = &pdev->dev; ttl_probe() 176 gpio->label = pdev->name; ttl_probe() 177 gpio->get = ttl_get_value; ttl_probe() 178 gpio->set = ttl_set_value; ttl_probe() 179 gpio->owner = THIS_MODULE; ttl_probe() 182 gpio->base = -1; ttl_probe() 183 gpio->ngpio = 20; ttl_probe() 185 ret = gpiochip_add(gpio); ttl_probe() 198 gpiochip_remove(&mod->gpio); ttl_remove()
|
H A D | gpio-xgene.c | 26 #include <linux/gpio/driver.h> 138 struct xgene_gpio *gpio = dev_get_drvdata(dev); xgene_gpio_suspend() local 144 gpio->set_dr_val[bank] = ioread32(gpio->base + bank_offset); xgene_gpio_suspend() 151 struct xgene_gpio *gpio = dev_get_drvdata(dev); xgene_gpio_resume() local 157 iowrite32(gpio->set_dr_val[bank], gpio->base + bank_offset); xgene_gpio_resume() 171 struct xgene_gpio *gpio; xgene_gpio_probe() local 174 gpio = devm_kzalloc(&pdev->dev, sizeof(*gpio), GFP_KERNEL); xgene_gpio_probe() 175 if (!gpio) { xgene_gpio_probe() 181 gpio->base = devm_ioremap_nocache(&pdev->dev, res->start, xgene_gpio_probe() 183 if (!gpio->base) { xgene_gpio_probe() 188 gpio->chip.ngpio = XGENE_MAX_GPIOS; xgene_gpio_probe() 190 spin_lock_init(&gpio->lock); xgene_gpio_probe() 191 gpio->chip.dev = &pdev->dev; xgene_gpio_probe() 192 gpio->chip.direction_input = xgene_gpio_dir_in; xgene_gpio_probe() 193 gpio->chip.direction_output = xgene_gpio_dir_out; xgene_gpio_probe() 194 gpio->chip.get = xgene_gpio_get; xgene_gpio_probe() 195 gpio->chip.set = xgene_gpio_set; xgene_gpio_probe() 196 gpio->chip.label = dev_name(&pdev->dev); xgene_gpio_probe() 197 gpio->chip.base = -1; xgene_gpio_probe() 199 platform_set_drvdata(pdev, gpio); xgene_gpio_probe() 201 err = gpiochip_add(&gpio->chip); xgene_gpio_probe() 217 struct xgene_gpio *gpio = platform_get_drvdata(pdev); xgene_gpio_remove() local 219 gpiochip_remove(&gpio->chip); xgene_gpio_remove() 224 { .compatible = "apm,xgene-gpio", }, 231 .name = "xgene-gpio",
|
H A D | gpio-xilinx.c | 2 * Xilinx gpio driver for xps/axi_gpio IP. 23 #include <linux/gpio.h> 57 static inline int xgpio_index(struct xgpio_instance *chip, int gpio) xgpio_index() argument 59 if (gpio >= chip->gpio_width[0]) xgpio_index() 65 static inline int xgpio_regoffset(struct xgpio_instance *chip, int gpio) xgpio_regoffset() argument 67 if (xgpio_index(chip, gpio)) xgpio_regoffset() 73 static inline int xgpio_offset(struct xgpio_instance *chip, int gpio) xgpio_offset() argument 75 if (xgpio_index(chip, gpio)) xgpio_offset() 76 return gpio - chip->gpio_width[0]; xgpio_offset() 78 return gpio; xgpio_offset() 84 * @gpio: GPIO signal number. 92 static int xgpio_get(struct gpio_chip *gc, unsigned int gpio) xgpio_get() argument 100 xgpio_regoffset(chip, gpio)); xgpio_get() 102 return !!(val & BIT(xgpio_offset(chip, gpio))); xgpio_get() 108 * @gpio: GPIO signal number. 114 static void xgpio_set(struct gpio_chip *gc, unsigned int gpio, int val) xgpio_set() argument 120 int index = xgpio_index(chip, gpio); xgpio_set() 121 int offset = xgpio_offset(chip, gpio); xgpio_set() 132 xgpio_regoffset(chip, gpio), chip->gpio_state[index]); xgpio_set() 140 * @gpio: GPIO signal number. 146 static int xgpio_dir_in(struct gpio_chip *gc, unsigned int gpio) xgpio_dir_in() argument 152 int index = xgpio_index(chip, gpio); xgpio_dir_in() 153 int offset = xgpio_offset(chip, gpio); xgpio_dir_in() 160 xgpio_regoffset(chip, gpio), chip->gpio_dir[index]); xgpio_dir_in() 170 * @gpio: GPIO signal number. 179 static int xgpio_dir_out(struct gpio_chip *gc, unsigned int gpio, int val) xgpio_dir_out() argument 185 int index = xgpio_index(chip, gpio); xgpio_dir_out() 186 int offset = xgpio_offset(chip, gpio); xgpio_dir_out() 196 xgpio_regoffset(chip, gpio), chip->gpio_state[index]); xgpio_dir_out() 201 xgpio_regoffset(chip, gpio), chip->gpio_dir[index]); xgpio_dir_out() 276 if (of_property_read_u32(np, "xlnx,gpio-width", &chip->gpio_width[0])) xgpio_probe() 314 /* Call the OF gpio helper to setup and register the GPIO device */ xgpio_probe() 326 { .compatible = "xlnx,xps-gpio-1.00.a", }, 336 .name = "gpio-xilinx",
|
H A D | gpio-dln2.c | 18 #include <linux/gpio.h> 19 #include <linux/gpio/driver.h> 52 struct gpio_chip gpio; member in struct:dln2_gpio 156 struct dln2_gpio *dln2 = container_of(chip, struct dln2_gpio, gpio); dln2_gpio_request() 197 struct dln2_gpio *dln2 = container_of(chip, struct dln2_gpio, gpio); dln2_gpio_free() 204 struct dln2_gpio *dln2 = container_of(chip, struct dln2_gpio, gpio); dln2_gpio_get_direction() 214 struct dln2_gpio *dln2 = container_of(chip, struct dln2_gpio, gpio); dln2_gpio_get() 229 struct dln2_gpio *dln2 = container_of(chip, struct dln2_gpio, gpio); dln2_gpio_set() 237 struct dln2_gpio *dln2 = container_of(chip, struct dln2_gpio, gpio); dln2_gpio_set_direction() 265 struct dln2_gpio *dln2 = container_of(chip, struct dln2_gpio, gpio); dln2_gpio_direction_output() 278 struct dln2_gpio *dln2 = container_of(chip, struct dln2_gpio, gpio); dln2_gpio_set_debounce() 305 struct dln2_gpio *dln2 = container_of(gc, struct dln2_gpio, gpio); dln2_irq_unmask() 314 struct dln2_gpio *dln2 = container_of(gc, struct dln2_gpio, gpio); dln2_irq_mask() 323 struct dln2_gpio *dln2 = container_of(gc, struct dln2_gpio, gpio); dln2_irq_set_type() 352 struct dln2_gpio *dln2 = container_of(gc, struct dln2_gpio, gpio); dln2_irq_bus_lock() 360 struct dln2_gpio *dln2 = container_of(gc, struct dln2_gpio, gpio); dln2_irq_bus_unlock() 380 dev_err(dln2->gpio.dev, "failed to set event\n"); dln2_irq_bus_unlock() 409 dev_err(dln2->gpio.dev, "short event message\n"); dln2_gpio_event() 414 if (pin >= dln2->gpio.ngpio) { dln2_gpio_event() 415 dev_err(dln2->gpio.dev, "out of bounds pin %d\n", pin); dln2_gpio_event() 419 irq = irq_find_mapping(dln2->gpio.irqdomain, pin); dln2_gpio_event() 421 dev_err(dln2->gpio.dev, "pin %d not mapped to IRQ\n", pin); dln2_gpio_event() 464 dln2->gpio.label = "dln2"; dln2_gpio_probe() 465 dln2->gpio.dev = dev; dln2_gpio_probe() 466 dln2->gpio.owner = THIS_MODULE; dln2_gpio_probe() 467 dln2->gpio.base = -1; dln2_gpio_probe() 468 dln2->gpio.ngpio = pins; dln2_gpio_probe() 469 dln2->gpio.exported = true; dln2_gpio_probe() 470 dln2->gpio.can_sleep = true; dln2_gpio_probe() 471 dln2->gpio.irq_not_threaded = true; dln2_gpio_probe() 472 dln2->gpio.set = dln2_gpio_set; dln2_gpio_probe() 473 dln2->gpio.get = dln2_gpio_get; dln2_gpio_probe() 474 dln2->gpio.request = dln2_gpio_request; dln2_gpio_probe() 475 dln2->gpio.free = dln2_gpio_free; dln2_gpio_probe() 476 dln2->gpio.get_direction = dln2_gpio_get_direction; dln2_gpio_probe() 477 dln2->gpio.direction_input = dln2_gpio_direction_input; dln2_gpio_probe() 478 dln2->gpio.direction_output = dln2_gpio_direction_output; dln2_gpio_probe() 479 dln2->gpio.set_debounce = dln2_gpio_set_debounce; dln2_gpio_probe() 483 ret = gpiochip_add(&dln2->gpio); dln2_gpio_probe() 485 dev_err(dev, "failed to add gpio chip: %d\n", ret); dln2_gpio_probe() 489 ret = gpiochip_irqchip_add(&dln2->gpio, &dln2_gpio_irqchip, 0, dln2_gpio_probe() 506 gpiochip_remove(&dln2->gpio); dln2_gpio_probe() 516 gpiochip_remove(&dln2->gpio); dln2_gpio_remove() 522 .driver.name = "dln2-gpio", 532 MODULE_ALIAS("platform:dln2-gpio");
|
H A D | gpio-mpc8xxx.c | 19 #include <linux/gpio.h> 47 static inline u32 mpc8xxx_gpio2mask(unsigned int gpio) mpc8xxx_gpio2mask() argument 49 return 1u << (MPC8XXX_GPIO_PINS - 1 - gpio); mpc8xxx_gpio2mask() 70 static int mpc8572_gpio_get(struct gpio_chip *gc, unsigned int gpio) mpc8572_gpio_get() argument 82 return (val | out_shadow) & mpc8xxx_gpio2mask(gpio); mpc8572_gpio_get() 85 static int mpc8xxx_gpio_get(struct gpio_chip *gc, unsigned int gpio) mpc8xxx_gpio_get() argument 89 return in_be32(mm->regs + GPIO_DAT) & mpc8xxx_gpio2mask(gpio); mpc8xxx_gpio_get() 92 static void mpc8xxx_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) mpc8xxx_gpio_set() argument 101 mpc8xxx_gc->data |= mpc8xxx_gpio2mask(gpio); mpc8xxx_gpio_set() 103 mpc8xxx_gc->data &= ~mpc8xxx_gpio2mask(gpio); mpc8xxx_gpio_set() 136 static int mpc8xxx_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio) mpc8xxx_gpio_dir_in() argument 144 clrbits32(mm->regs + GPIO_DIR, mpc8xxx_gpio2mask(gpio)); mpc8xxx_gpio_dir_in() 151 static int mpc8xxx_gpio_dir_out(struct gpio_chip *gc, unsigned int gpio, int val) mpc8xxx_gpio_dir_out() argument 157 mpc8xxx_gpio_set(gc, gpio, val); mpc8xxx_gpio_dir_out() 161 setbits32(mm->regs + GPIO_DIR, mpc8xxx_gpio2mask(gpio)); mpc8xxx_gpio_dir_out() 168 static int mpc5121_gpio_dir_out(struct gpio_chip *gc, unsigned int gpio, int val) mpc5121_gpio_dir_out() argument 171 if (gpio >= 28) mpc5121_gpio_dir_out() 174 return mpc8xxx_gpio_dir_out(gc, gpio, val); mpc5121_gpio_dir_out() 269 unsigned long gpio = irqd_to_hwirq(d); mpc512x_irq_set_type() local 274 if (gpio < 16) { mpc512x_irq_set_type() 276 shift = (15 - gpio) * 2; mpc512x_irq_set_type() 279 shift = (15 - (gpio % 16)) * 2; mpc512x_irq_set_type() 311 .name = "mpc8xxx-gpio", 338 { .compatible = "fsl,mpc8349-gpio", }, 339 { .compatible = "fsl,mpc8572-gpio", }, 340 { .compatible = "fsl,mpc8610-gpio", }, 341 { .compatible = "fsl,mpc5121-gpio", .data = mpc512x_irq_set_type, }, 342 { .compatible = "fsl,pq3-gpio", }, 343 { .compatible = "fsl,qoriq-gpio", }, 370 gc->direction_output = of_device_is_compatible(np, "fsl,mpc5121-gpio") ? mpc8xxx_probe() 372 gc->get = of_device_is_compatible(np, "fsl,mpc8572-gpio") ? mpc8xxx_probe() 424 .name = "gpio-mpc8xxx",
|
H A D | gpio-msm-v2.c | 23 #include <linux/gpio.h> 63 * gpio. If this bit is 0, this register will not be updated. 111 #define GPIO_INTR_CFG_SU(gpio) (msm_gpio.msm_tlmm_base + 0x0400 + \ 112 (0x04 * (gpio))) 113 #define GPIO_CONFIG(gpio) (msm_gpio.msm_tlmm_base + 0x1000 + \ 114 (0x10 * (gpio))) 115 #define GPIO_IN_OUT(gpio) (msm_gpio.msm_tlmm_base + 0x1004 + \ 116 (0x10 * (gpio))) 117 #define GPIO_INTR_CFG(gpio) (msm_gpio.msm_tlmm_base + 0x1008 + \ 118 (0x10 * (gpio))) 119 #define GPIO_INTR_STATUS(gpio) (msm_gpio.msm_tlmm_base + 0x100c + \ 120 (0x10 * (gpio))) 206 * - the input value of the gpio doesn't change during the attempt. 216 * Algorithm comes from Google's msmgpio driver, see mach-msm/gpio.c. 218 static void msm_gpio_update_dual_edge_pos(unsigned gpio) msm_gpio_update_dual_edge_pos() argument 224 val = readl(GPIO_IN_OUT(gpio)) & BIT(GPIO_IN); msm_gpio_update_dual_edge_pos() 226 clear_gpio_bits(BIT(INTR_POL_CTL), GPIO_INTR_CFG(gpio)); msm_gpio_update_dual_edge_pos() 228 set_gpio_bits(BIT(INTR_POL_CTL), GPIO_INTR_CFG(gpio)); msm_gpio_update_dual_edge_pos() 229 val2 = readl(GPIO_IN_OUT(gpio)) & BIT(GPIO_IN); msm_gpio_update_dual_edge_pos() 230 intstat = readl(GPIO_INTR_STATUS(gpio)) & BIT(INTR_STATUS); msm_gpio_update_dual_edge_pos() 241 int gpio = msm_irq_to_gpio(&msm_gpio.gpio_chip, d->irq); msm_gpio_irq_ack() local 243 writel(BIT(INTR_STATUS), GPIO_INTR_STATUS(gpio)); msm_gpio_irq_ack() 244 if (test_bit(gpio, msm_gpio.dual_edge_irqs)) msm_gpio_irq_ack() 245 msm_gpio_update_dual_edge_pos(gpio); msm_gpio_irq_ack() 250 int gpio = msm_irq_to_gpio(&msm_gpio.gpio_chip, d->irq); msm_gpio_irq_mask() local 254 writel(TARGET_PROC_NONE, GPIO_INTR_CFG_SU(gpio)); msm_gpio_irq_mask() 255 clear_gpio_bits(BIT(INTR_RAW_STATUS_EN) | BIT(INTR_ENABLE), GPIO_INTR_CFG(gpio)); msm_gpio_irq_mask() 256 __clear_bit(gpio, msm_gpio.enabled_irqs); msm_gpio_irq_mask() 262 int gpio = msm_irq_to_gpio(&msm_gpio.gpio_chip, d->irq); msm_gpio_irq_unmask() local 266 __set_bit(gpio, msm_gpio.enabled_irqs); msm_gpio_irq_unmask() 267 set_gpio_bits(BIT(INTR_RAW_STATUS_EN) | BIT(INTR_ENABLE), GPIO_INTR_CFG(gpio)); msm_gpio_irq_unmask() 268 writel(TARGET_PROC_SCORPION, GPIO_INTR_CFG_SU(gpio)); msm_gpio_irq_unmask() 274 int gpio = msm_irq_to_gpio(&msm_gpio.gpio_chip, d->irq); msm_gpio_irq_set_type() local 280 bits = readl(GPIO_INTR_CFG(gpio)); msm_gpio_irq_set_type() 286 __set_bit(gpio, msm_gpio.dual_edge_irqs); msm_gpio_irq_set_type() 288 __clear_bit(gpio, msm_gpio.dual_edge_irqs); msm_gpio_irq_set_type() 292 __clear_bit(gpio, msm_gpio.dual_edge_irqs); msm_gpio_irq_set_type() 300 writel(bits, GPIO_INTR_CFG(gpio)); msm_gpio_irq_set_type() 303 msm_gpio_update_dual_edge_pos(gpio); msm_gpio_irq_set_type() 334 int gpio = msm_irq_to_gpio(&msm_gpio.gpio_chip, d->irq); msm_gpio_irq_set_wake() local 339 set_bit(gpio, msm_gpio.wake_irqs); msm_gpio_irq_set_wake() 341 clear_bit(gpio, msm_gpio.wake_irqs); msm_gpio_irq_set_wake() 434 { .compatible = "qcom,msm-gpio", },
|
H A D | gpio-timberdale.c | 24 #include <linux/gpio.h> 32 #define DRIVER_NAME "timb-gpio" 48 struct gpio_chip gpio; member in struct:timbgpio 53 static int timbgpio_update_bit(struct gpio_chip *gpio, unsigned index, timbgpio_update_bit() argument 56 struct timbgpio *tgpio = container_of(gpio, struct timbgpio, gpio); timbgpio_update_bit() 73 static int timbgpio_gpio_direction_input(struct gpio_chip *gpio, unsigned nr) timbgpio_gpio_direction_input() argument 75 return timbgpio_update_bit(gpio, nr, TGPIODIR, true); timbgpio_gpio_direction_input() 78 static int timbgpio_gpio_get(struct gpio_chip *gpio, unsigned nr) timbgpio_gpio_get() argument 80 struct timbgpio *tgpio = container_of(gpio, struct timbgpio, gpio); timbgpio_gpio_get() 87 static int timbgpio_gpio_direction_output(struct gpio_chip *gpio, timbgpio_gpio_direction_output() argument 90 return timbgpio_update_bit(gpio, nr, TGPIODIR, false); timbgpio_gpio_direction_output() 93 static void timbgpio_gpio_set(struct gpio_chip *gpio, timbgpio_gpio_set() argument 96 timbgpio_update_bit(gpio, nr, TGPIOVAL, val != 0); timbgpio_gpio_set() 99 static int timbgpio_to_irq(struct gpio_chip *gpio, unsigned offset) timbgpio_to_irq() argument 101 struct timbgpio *tgpio = container_of(gpio, struct timbgpio, gpio); timbgpio_to_irq() 145 if (offset < 0 || offset > tgpio->gpio.ngpio) timbgpio_irq_type() 211 for_each_set_bit(offset, &ipr, tgpio->gpio.ngpio) timbgpio_irq() 212 generic_handle_irq(timbgpio_to_irq(&tgpio->gpio, offset)); timbgpio_irq() 266 gc = &tgpio->gpio; timbgpio_probe() 325 gpiochip_remove(&tgpio->gpio); timbgpio_remove()
|
H A D | gpio-pch.c | 20 #include <linux/gpio.h> 90 * @gpio: Data for GPIO infrastructure. 102 struct gpio_chip gpio; member in struct:pch_gpio 109 static void pch_gpio_set(struct gpio_chip *gpio, unsigned nr, int val) pch_gpio_set() argument 112 struct pch_gpio *chip = container_of(gpio, struct pch_gpio, gpio); pch_gpio_set() 126 static int pch_gpio_get(struct gpio_chip *gpio, unsigned nr) pch_gpio_get() argument 128 struct pch_gpio *chip = container_of(gpio, struct pch_gpio, gpio); pch_gpio_get() 133 static int pch_gpio_direction_output(struct gpio_chip *gpio, unsigned nr, pch_gpio_direction_output() argument 136 struct pch_gpio *chip = container_of(gpio, struct pch_gpio, gpio); pch_gpio_direction_output() 159 static int pch_gpio_direction_input(struct gpio_chip *gpio, unsigned nr) pch_gpio_direction_input() argument 161 struct pch_gpio *chip = container_of(gpio, struct pch_gpio, gpio); pch_gpio_direction_input() 212 static int pch_gpio_to_irq(struct gpio_chip *gpio, unsigned offset) pch_gpio_to_irq() argument 214 struct pch_gpio *chip = container_of(gpio, struct pch_gpio, gpio); pch_gpio_to_irq() 220 struct gpio_chip *gpio = &chip->gpio; pch_gpio_setup() local 222 gpio->label = dev_name(chip->dev); pch_gpio_setup() 223 gpio->dev = chip->dev; pch_gpio_setup() 224 gpio->owner = THIS_MODULE; pch_gpio_setup() 225 gpio->direction_input = pch_gpio_direction_input; pch_gpio_setup() 226 gpio->get = pch_gpio_get; pch_gpio_setup() 227 gpio->direction_output = pch_gpio_direction_output; pch_gpio_setup() 228 gpio->set = pch_gpio_set; pch_gpio_setup() 229 gpio->dbg_show = NULL; pch_gpio_setup() 230 gpio->base = -1; pch_gpio_setup() 231 gpio->ngpio = gpio_pins[chip->ioh]; pch_gpio_setup() 232 gpio->can_sleep = false; pch_gpio_setup() 233 gpio->to_irq = pch_gpio_to_irq; pch_gpio_setup() 397 ret = gpiochip_add(&chip->gpio); pch_gpio_probe() 399 dev_err(&pdev->dev, "PCH gpio: Failed to register GPIO\n"); pch_gpio_probe() 405 dev_warn(&pdev->dev, "PCH gpio: Failed to get IRQ base num\n"); pch_gpio_probe() 431 gpiochip_remove(&chip->gpio); pch_gpio_probe() 458 gpiochip_remove(&chip->gpio); pch_gpio_remove()
|
/linux-4.1.27/arch/m68k/coldfire/ |
H A D | gpio.c | 26 int __mcfgpio_get_value(unsigned gpio) __mcfgpio_get_value() argument 28 return mcfgpio_read(__mcfgpio_ppdr(gpio)) & mcfgpio_bit(gpio); __mcfgpio_get_value() 32 void __mcfgpio_set_value(unsigned gpio, int value) __mcfgpio_set_value() argument 34 if (gpio < MCFGPIO_SCR_START) { __mcfgpio_set_value() 39 data = mcfgpio_read(__mcfgpio_podr(gpio)); __mcfgpio_set_value() 41 data |= mcfgpio_bit(gpio); __mcfgpio_set_value() 43 data &= ~mcfgpio_bit(gpio); __mcfgpio_set_value() 44 mcfgpio_write(data, __mcfgpio_podr(gpio)); __mcfgpio_set_value() 48 mcfgpio_write(mcfgpio_bit(gpio), __mcfgpio_set_value() 49 MCFGPIO_SETR_PORT(gpio)); __mcfgpio_set_value() 51 mcfgpio_write(~mcfgpio_bit(gpio), __mcfgpio_set_value() 52 MCFGPIO_CLRR_PORT(gpio)); __mcfgpio_set_value() 57 int __mcfgpio_direction_input(unsigned gpio) __mcfgpio_direction_input() argument 63 dir = mcfgpio_read(__mcfgpio_pddr(gpio)); __mcfgpio_direction_input() 64 dir &= ~mcfgpio_bit(gpio); __mcfgpio_direction_input() 65 mcfgpio_write(dir, __mcfgpio_pddr(gpio)); __mcfgpio_direction_input() 72 int __mcfgpio_direction_output(unsigned gpio, int value) __mcfgpio_direction_output() argument 78 data = mcfgpio_read(__mcfgpio_pddr(gpio)); __mcfgpio_direction_output() 79 data |= mcfgpio_bit(gpio); __mcfgpio_direction_output() 80 mcfgpio_write(data, __mcfgpio_pddr(gpio)); __mcfgpio_direction_output() 83 if (gpio < MCFGPIO_SCR_START) { __mcfgpio_direction_output() 84 data = mcfgpio_read(__mcfgpio_podr(gpio)); __mcfgpio_direction_output() 86 data |= mcfgpio_bit(gpio); __mcfgpio_direction_output() 88 data &= ~mcfgpio_bit(gpio); __mcfgpio_direction_output() 89 mcfgpio_write(data, __mcfgpio_podr(gpio)); __mcfgpio_direction_output() 92 mcfgpio_write(mcfgpio_bit(gpio), __mcfgpio_direction_output() 93 MCFGPIO_SETR_PORT(gpio)); __mcfgpio_direction_output() 95 mcfgpio_write(~mcfgpio_bit(gpio), __mcfgpio_direction_output() 96 MCFGPIO_CLRR_PORT(gpio)); __mcfgpio_direction_output() 103 int __mcfgpio_request(unsigned gpio) __mcfgpio_request() argument 109 void __mcfgpio_free(unsigned gpio) __mcfgpio_free() argument 111 __mcfgpio_direction_input(gpio); __mcfgpio_free() 162 .name = "gpio", 163 .dev_name = "gpio",
|
H A D | m5249.c | 92 u32 gpio; m5249_smc91x_init() local 95 gpio = readl(MCFSIM2_GPIOINTENABLE); m5249_smc91x_init() 96 writel(gpio | 0x40, MCFSIM2_GPIOINTENABLE); m5249_smc91x_init() 98 gpio = readl(MCFINTC2_INTPRI5); m5249_smc91x_init() 99 writel(gpio | 0x04000000, MCFINTC2_INTPRI5); m5249_smc91x_init()
|
/linux-4.1.27/drivers/ssb/ |
H A D | driver_gpio.c | 11 #include <linux/gpio.h> 27 return container_of(chip, struct ssb_bus, gpio); ssb_gpio_get_bus() 31 static int ssb_gpio_to_irq(struct gpio_chip *chip, unsigned gpio) ssb_gpio_to_irq() argument 36 return irq_find_mapping(bus->irq_domain, gpio); ssb_gpio_to_irq() 46 static int ssb_gpio_chipco_get_value(struct gpio_chip *chip, unsigned gpio) ssb_gpio_chipco_get_value() argument 50 return !!ssb_chipco_gpio_in(&bus->chipco, 1 << gpio); ssb_gpio_chipco_get_value() 53 static void ssb_gpio_chipco_set_value(struct gpio_chip *chip, unsigned gpio, ssb_gpio_chipco_set_value() argument 58 ssb_chipco_gpio_out(&bus->chipco, 1 << gpio, value ? 1 << gpio : 0); ssb_gpio_chipco_set_value() 62 unsigned gpio) ssb_gpio_chipco_direction_input() 66 ssb_chipco_gpio_outen(&bus->chipco, 1 << gpio, 0); ssb_gpio_chipco_direction_input() 71 unsigned gpio, int value) ssb_gpio_chipco_direction_output() 75 ssb_chipco_gpio_outen(&bus->chipco, 1 << gpio, 1 << gpio); ssb_gpio_chipco_direction_output() 76 ssb_chipco_gpio_out(&bus->chipco, 1 << gpio, value ? 1 << gpio : 0); ssb_gpio_chipco_direction_output() 80 static int ssb_gpio_chipco_request(struct gpio_chip *chip, unsigned gpio) ssb_gpio_chipco_request() argument 84 ssb_chipco_gpio_control(&bus->chipco, 1 << gpio, 0); ssb_gpio_chipco_request() 86 ssb_chipco_gpio_pulldown(&bus->chipco, 1 << gpio, 0); ssb_gpio_chipco_request() 88 ssb_chipco_gpio_pullup(&bus->chipco, 1 << gpio, 1 << gpio); ssb_gpio_chipco_request() 93 static void ssb_gpio_chipco_free(struct gpio_chip *chip, unsigned gpio) ssb_gpio_chipco_free() argument 98 ssb_chipco_gpio_pullup(&bus->chipco, 1 << gpio, 0); ssb_gpio_chipco_free() 105 int gpio = irqd_to_hwirq(d); ssb_gpio_irq_chipco_mask() local 107 ssb_chipco_gpio_intmask(&bus->chipco, BIT(gpio), 0); ssb_gpio_irq_chipco_mask() 113 int gpio = irqd_to_hwirq(d); ssb_gpio_irq_chipco_unmask() local 114 u32 val = ssb_chipco_gpio_in(&bus->chipco, BIT(gpio)); ssb_gpio_irq_chipco_unmask() 116 ssb_chipco_gpio_polarity(&bus->chipco, BIT(gpio), val); ssb_gpio_irq_chipco_unmask() 117 ssb_chipco_gpio_intmask(&bus->chipco, BIT(gpio), BIT(gpio)); ssb_gpio_irq_chipco_unmask() 134 int gpio; ssb_gpio_irq_chipco_handler() local 139 for_each_set_bit(gpio, &irqs, bus->gpio.ngpio) ssb_gpio_irq_chipco_handler() 140 generic_handle_irq(ssb_gpio_to_irq(&bus->gpio, gpio)); ssb_gpio_irq_chipco_handler() 149 struct gpio_chip *chip = &bus->gpio; ssb_gpio_irq_chipco_domain_init() 150 int gpio, hwirq, err; ssb_gpio_irq_chipco_domain_init() local 161 for (gpio = 0; gpio < chip->ngpio; gpio++) { ssb_gpio_irq_chipco_domain_init() 162 int irq = irq_create_mapping(bus->irq_domain, gpio); ssb_gpio_irq_chipco_domain_init() 171 "gpio", bus); ssb_gpio_irq_chipco_domain_init() 181 for (gpio = 0; gpio < chip->ngpio; gpio++) { ssb_gpio_irq_chipco_domain_init() 182 int irq = irq_find_mapping(bus->irq_domain, gpio); ssb_gpio_irq_chipco_domain_init() 194 struct gpio_chip *chip = &bus->gpio; ssb_gpio_irq_chipco_domain_exit() 195 int gpio; ssb_gpio_irq_chipco_domain_exit() local 202 for (gpio = 0; gpio < chip->ngpio; gpio++) { ssb_gpio_irq_chipco_domain_exit() 203 int irq = irq_find_mapping(bus->irq_domain, gpio); ssb_gpio_irq_chipco_domain_exit() 222 struct gpio_chip *chip = &bus->gpio; ssb_gpio_chipco_init() 264 static int ssb_gpio_extif_get_value(struct gpio_chip *chip, unsigned gpio) ssb_gpio_extif_get_value() argument 268 return !!ssb_extif_gpio_in(&bus->extif, 1 << gpio); ssb_gpio_extif_get_value() 271 static void ssb_gpio_extif_set_value(struct gpio_chip *chip, unsigned gpio, ssb_gpio_extif_set_value() argument 276 ssb_extif_gpio_out(&bus->extif, 1 << gpio, value ? 1 << gpio : 0); ssb_gpio_extif_set_value() 280 unsigned gpio) ssb_gpio_extif_direction_input() 284 ssb_extif_gpio_outen(&bus->extif, 1 << gpio, 0); ssb_gpio_extif_direction_input() 289 unsigned gpio, int value) ssb_gpio_extif_direction_output() 293 ssb_extif_gpio_outen(&bus->extif, 1 << gpio, 1 << gpio); ssb_gpio_extif_direction_output() 294 ssb_extif_gpio_out(&bus->extif, 1 << gpio, value ? 1 << gpio : 0); ssb_gpio_extif_direction_output() 302 int gpio = irqd_to_hwirq(d); ssb_gpio_irq_extif_mask() local 304 ssb_extif_gpio_intmask(&bus->extif, BIT(gpio), 0); ssb_gpio_irq_extif_mask() 310 int gpio = irqd_to_hwirq(d); ssb_gpio_irq_extif_unmask() local 311 u32 val = ssb_extif_gpio_in(&bus->extif, BIT(gpio)); ssb_gpio_irq_extif_unmask() 313 ssb_extif_gpio_polarity(&bus->extif, BIT(gpio), val); ssb_gpio_irq_extif_unmask() 314 ssb_extif_gpio_intmask(&bus->extif, BIT(gpio), BIT(gpio)); ssb_gpio_irq_extif_unmask() 331 int gpio; ssb_gpio_irq_extif_handler() local 336 for_each_set_bit(gpio, &irqs, bus->gpio.ngpio) ssb_gpio_irq_extif_handler() 337 generic_handle_irq(ssb_gpio_to_irq(&bus->gpio, gpio)); ssb_gpio_irq_extif_handler() 346 struct gpio_chip *chip = &bus->gpio; ssb_gpio_irq_extif_domain_init() 347 int gpio, hwirq, err; ssb_gpio_irq_extif_domain_init() local 358 for (gpio = 0; gpio < chip->ngpio; gpio++) { ssb_gpio_irq_extif_domain_init() 359 int irq = irq_create_mapping(bus->irq_domain, gpio); ssb_gpio_irq_extif_domain_init() 368 "gpio", bus); ssb_gpio_irq_extif_domain_init() 377 for (gpio = 0; gpio < chip->ngpio; gpio++) { ssb_gpio_irq_extif_domain_init() 378 int irq = irq_find_mapping(bus->irq_domain, gpio); ssb_gpio_irq_extif_domain_init() 390 struct gpio_chip *chip = &bus->gpio; ssb_gpio_irq_extif_domain_exit() 391 int gpio; ssb_gpio_irq_extif_domain_exit() local 397 for (gpio = 0; gpio < chip->ngpio; gpio++) { ssb_gpio_irq_extif_domain_exit() 398 int irq = irq_find_mapping(bus->irq_domain, gpio); ssb_gpio_irq_extif_domain_exit() 417 struct gpio_chip *chip = &bus->gpio; ssb_gpio_extif_init() 478 gpiochip_remove(&bus->gpio); ssb_gpio_unregister() 61 ssb_gpio_chipco_direction_input(struct gpio_chip *chip, unsigned gpio) ssb_gpio_chipco_direction_input() argument 70 ssb_gpio_chipco_direction_output(struct gpio_chip *chip, unsigned gpio, int value) ssb_gpio_chipco_direction_output() argument 279 ssb_gpio_extif_direction_input(struct gpio_chip *chip, unsigned gpio) ssb_gpio_extif_direction_input() argument 288 ssb_gpio_extif_direction_output(struct gpio_chip *chip, unsigned gpio, int value) ssb_gpio_extif_direction_output() argument
|
/linux-4.1.27/arch/unicore32/include/asm/ |
H A D | gpio.h | 2 * linux/arch/unicore32/include/asm/gpio.h 19 #include <asm-generic/gpio.h> 67 static inline int gpio_get_value(unsigned gpio) gpio_get_value() argument 69 if (__builtin_constant_p(gpio) && (gpio <= GPIO_MAX)) gpio_get_value() 70 return readl(GPIO_GPLR) & GPIO_GPIO(gpio); gpio_get_value() 72 return __gpio_get_value(gpio); gpio_get_value() 75 static inline void gpio_set_value(unsigned gpio, int value) gpio_set_value() argument 77 if (__builtin_constant_p(gpio) && (gpio <= GPIO_MAX)) gpio_set_value() 79 writel(GPIO_GPIO(gpio), GPIO_GPSR); gpio_set_value() 81 writel(GPIO_GPIO(gpio), GPIO_GPCR); gpio_set_value() 83 __gpio_set_value(gpio, value); gpio_set_value() 88 static inline unsigned gpio_to_irq(unsigned gpio) gpio_to_irq() argument 90 if ((gpio < IRQ_GPIOHIGH) && (FIELD(1, 1, gpio) & readl(GPIO_GPIR))) gpio_to_irq() 91 return IRQ_GPIOLOW0 + gpio; gpio_to_irq() 93 return IRQ_GPIO0 + gpio; gpio_to_irq()
|
/linux-4.1.27/arch/mips/include/asm/mach-bcm63xx/ |
H A D | gpio.h | 6 #define gpio_to_irq(gpio) -1 13 #include <asm-generic/gpio.h>
|
/linux-4.1.27/drivers/net/wireless/brcm80211/brcmsmac/ |
H A D | led.c | 3 #include <linux/gpio.h> 21 if (wl->radio_led.gpio == -1) brcms_radio_led_ctrl() 28 gpio_set_value(wl->radio_led.gpio, 1); brcms_radio_led_ctrl() 30 gpio_set_value(wl->radio_led.gpio, 0); brcms_radio_led_ctrl() 47 if (wl->radio_led.gpio != -1) brcms_led_unregister() 48 gpio_free(wl->radio_led.gpio); brcms_led_unregister() 57 struct gpio_chip *bcma_gpio = &cc_drv->gpio; brcms_led_register() 63 unsigned gpio = -1; brcms_led_register() local 67 radio_led->gpio = -1; brcms_led_register() 77 gpio = bcma_gpio->base + i; brcms_led_register() 84 if (gpio == -1 || !gpio_is_valid(gpio)) brcms_led_register() 87 /* request and configure LED gpio */ brcms_led_register() 88 err = gpio_request_one(gpio, brcms_led_register() 93 wiphy_err(wl->wiphy, "requesting led gpio %d failed (err: %d)\n", brcms_led_register() 94 gpio, err); brcms_led_register() 97 err = gpio_direction_output(gpio, 1); brcms_led_register() 99 wiphy_err(wl->wiphy, "cannot set led gpio %d to output (err: %d)\n", brcms_led_register() 100 gpio, err); brcms_led_register() 119 wiphy_info(wl->wiphy, "registered radio enabled led device: %s gpio: %d\n", brcms_led_register() 121 gpio); brcms_led_register() 122 radio_led->gpio = gpio; brcms_led_register()
|
/linux-4.1.27/arch/sh/include/asm/ |
H A D | gpio.h | 2 * include/asm-sh/gpio.h 19 #include <cpu/gpio.h> 23 #include <asm-generic/gpio.h> 27 static inline int gpio_get_value(unsigned gpio) gpio_get_value() argument 29 return __gpio_get_value(gpio); gpio_get_value() 32 static inline void gpio_set_value(unsigned gpio, int value) gpio_set_value() argument 34 __gpio_set_value(gpio, value); gpio_set_value() 37 static inline int gpio_cansleep(unsigned gpio) gpio_cansleep() argument 39 return __gpio_cansleep(gpio); gpio_cansleep() 42 static inline int gpio_to_irq(unsigned gpio) gpio_to_irq() argument 44 return __gpio_to_irq(gpio); gpio_to_irq()
|
/linux-4.1.27/arch/mips/bcm63xx/ |
H A D | gpio.c | 14 #include <linux/gpio.h> 39 unsigned gpio, int val) bcm63xx_gpio_set() 46 if (gpio >= chip->ngpio) bcm63xx_gpio_set() 49 if (gpio < 32) { bcm63xx_gpio_set() 51 mask = 1 << gpio; bcm63xx_gpio_set() 55 mask = 1 << (gpio - 32); bcm63xx_gpio_set() 68 static int bcm63xx_gpio_get(struct gpio_chip *chip, unsigned gpio) bcm63xx_gpio_get() argument 73 if (gpio >= chip->ngpio) bcm63xx_gpio_get() 76 if (gpio < 32) { bcm63xx_gpio_get() 78 mask = 1 << gpio; bcm63xx_gpio_get() 81 mask = 1 << (gpio - 32); bcm63xx_gpio_get() 88 unsigned gpio, int dir) bcm63xx_gpio_set_direction() 95 if (gpio >= chip->ngpio) bcm63xx_gpio_set_direction() 98 if (gpio < 32) { bcm63xx_gpio_set_direction() 100 mask = 1 << gpio; bcm63xx_gpio_set_direction() 103 mask = 1 << (gpio - 32); bcm63xx_gpio_set_direction() 118 static int bcm63xx_gpio_direction_input(struct gpio_chip *chip, unsigned gpio) bcm63xx_gpio_direction_input() argument 120 return bcm63xx_gpio_set_direction(chip, gpio, BCM63XX_GPIO_DIR_IN); bcm63xx_gpio_direction_input() 124 unsigned gpio, int value) bcm63xx_gpio_direction_output() 126 bcm63xx_gpio_set(chip, gpio, value); bcm63xx_gpio_direction_output() 127 return bcm63xx_gpio_set_direction(chip, gpio, BCM63XX_GPIO_DIR_OUT); bcm63xx_gpio_direction_output() 132 .label = "bcm63xx-gpio", 38 bcm63xx_gpio_set(struct gpio_chip *chip, unsigned gpio, int val) bcm63xx_gpio_set() argument 87 bcm63xx_gpio_set_direction(struct gpio_chip *chip, unsigned gpio, int dir) bcm63xx_gpio_set_direction() argument 123 bcm63xx_gpio_direction_output(struct gpio_chip *chip, unsigned gpio, int value) bcm63xx_gpio_direction_output() argument
|
/linux-4.1.27/include/asm-generic/ |
H A D | gpio.h | 12 #include <linux/gpio/driver.h> 13 #include <linux/gpio/consumer.h> 47 struct gpio; 53 /* caller holds gpio_lock *OR* gpio is marked as requested */ gpio_to_chip() 54 static inline struct gpio_chip *gpio_to_chip(unsigned gpio) gpio_to_chip() argument 56 return gpiod_to_chip(gpio_to_desc(gpio)); gpio_to_chip() 62 extern int gpio_request(unsigned gpio, const char *label); 63 extern void gpio_free(unsigned gpio); 65 static inline int gpio_direction_input(unsigned gpio) gpio_direction_input() argument 67 return gpiod_direction_input(gpio_to_desc(gpio)); gpio_direction_input() 69 static inline int gpio_direction_output(unsigned gpio, int value) gpio_direction_output() argument 71 return gpiod_direction_output_raw(gpio_to_desc(gpio), value); gpio_direction_output() 74 static inline int gpio_set_debounce(unsigned gpio, unsigned debounce) gpio_set_debounce() argument 76 return gpiod_set_debounce(gpio_to_desc(gpio), debounce); gpio_set_debounce() 79 static inline int gpio_get_value_cansleep(unsigned gpio) gpio_get_value_cansleep() argument 81 return gpiod_get_raw_value_cansleep(gpio_to_desc(gpio)); gpio_get_value_cansleep() 83 static inline void gpio_set_value_cansleep(unsigned gpio, int value) gpio_set_value_cansleep() argument 85 return gpiod_set_raw_value_cansleep(gpio_to_desc(gpio), value); gpio_set_value_cansleep() 89 /* A platform's <asm/gpio.h> code may want to inline the I/O calls when 93 static inline int __gpio_get_value(unsigned gpio) __gpio_get_value() argument 95 return gpiod_get_raw_value(gpio_to_desc(gpio)); __gpio_get_value() 97 static inline void __gpio_set_value(unsigned gpio, int value) __gpio_set_value() argument 99 return gpiod_set_raw_value(gpio_to_desc(gpio), value); __gpio_set_value() 102 static inline int __gpio_cansleep(unsigned gpio) __gpio_cansleep() argument 104 return gpiod_cansleep(gpio_to_desc(gpio)); __gpio_cansleep() 107 static inline int __gpio_to_irq(unsigned gpio) __gpio_to_irq() argument 109 return gpiod_to_irq(gpio_to_desc(gpio)); __gpio_to_irq() 112 extern int gpio_request_one(unsigned gpio, unsigned long flags, const char *label); 113 extern int gpio_request_array(const struct gpio *array, size_t num); 114 extern void gpio_free_array(const struct gpio *array, size_t num); 120 static inline int gpio_export(unsigned gpio, bool direction_may_change) gpio_export() argument 122 return gpiod_export(gpio_to_desc(gpio), direction_may_change); gpio_export() 126 unsigned gpio) gpio_export_link() 128 return gpiod_export_link(dev, name, gpio_to_desc(gpio)); gpio_export_link() 131 static inline int gpio_sysfs_set_active_low(unsigned gpio, int value) gpio_sysfs_set_active_low() argument 133 return gpiod_sysfs_set_active_low(gpio_to_desc(gpio), value); gpio_sysfs_set_active_low() 136 static inline void gpio_unexport(unsigned gpio) gpio_unexport() argument 138 gpiod_unexport(gpio_to_desc(gpio)); gpio_unexport() 153 static inline int gpio_cansleep(unsigned gpio) gpio_cansleep() argument 158 static inline int gpio_get_value_cansleep(unsigned gpio) gpio_get_value_cansleep() argument 161 return __gpio_get_value(gpio); gpio_get_value_cansleep() 164 static inline void gpio_set_value_cansleep(unsigned gpio, int value) gpio_set_value_cansleep() argument 167 __gpio_set_value(gpio, value); gpio_set_value_cansleep() 125 gpio_export_link(struct device *dev, const char *name, unsigned gpio) gpio_export_link() argument
|
/linux-4.1.27/arch/sh/boards/mach-sdk7786/ |
H A D | Makefile | 3 obj-$(CONFIG_GPIOLIB) += gpio.o
|
H A D | gpio.c | 12 #include <linux/gpio.h> 25 static int usrgpir_gpio_direction_input(struct gpio_chip *chip, unsigned gpio) usrgpir_gpio_direction_input() argument 31 static int usrgpir_gpio_get(struct gpio_chip *chip, unsigned gpio) usrgpir_gpio_get() argument 33 return !!(fpga_read_reg(USRGPIR) & (1 << gpio)); usrgpir_gpio_get()
|
/linux-4.1.27/arch/blackfin/mach-bf538/ |
H A D | Makefile | 6 obj-$(CONFIG_GPIOLIB) += ext-gpio.o
|
H A D | ext-gpio.c | 12 #include <asm/gpio.h> 37 static int bf538_gpio_get_value(struct gpio_chip *chip, unsigned gpio) bf538_gpio_get_value() argument 40 return !!(read_PORTIO(port) & (1u << gpio)); bf538_gpio_get_value() 43 static void bf538_gpio_set_value(struct gpio_chip *chip, unsigned gpio, int value) bf538_gpio_set_value() argument 47 write_PORTIO_SET(port, (1u << gpio)); bf538_gpio_set_value() 49 write_PORTIO_CLEAR(port, (1u << gpio)); bf538_gpio_set_value() 52 static int bf538_gpio_direction_input(struct gpio_chip *chip, unsigned gpio) bf538_gpio_direction_input() argument 55 write_PORTIO_DIR(port, read_PORTIO_DIR(port) & ~(1u << gpio)); bf538_gpio_direction_input() 56 write_PORTIO_INEN(port, read_PORTIO_INEN(port) | (1u << gpio)); bf538_gpio_direction_input() 60 static int bf538_gpio_direction_output(struct gpio_chip *chip, unsigned gpio, int value) bf538_gpio_direction_output() argument 63 write_PORTIO_INEN(port, read_PORTIO_INEN(port) & ~(1u << gpio)); bf538_gpio_direction_output() 64 bf538_gpio_set_value(port, gpio, value); bf538_gpio_direction_output() 65 write_PORTIO_DIR(port, read_PORTIO_DIR(port) | (1u << gpio)); bf538_gpio_direction_output() 69 static int bf538_gpio_request(struct gpio_chip *chip, unsigned gpio) bf538_gpio_request() argument 71 return bfin_special_gpio_request(chip->base + gpio, chip->label); bf538_gpio_request() 74 static void bf538_gpio_free(struct gpio_chip *chip, unsigned gpio) bf538_gpio_free() argument 76 return bfin_special_gpio_free(chip->base + gpio); bf538_gpio_free()
|
/linux-4.1.27/arch/mips/include/asm/mach-pmcs-msp71xx/ |
H A D | msp_gpio_macros.h | 129 /* This gives you the 'register relative offset gpio' number */ 130 #define OFFSET_GPIO_NUMBER(gpio) (gpio - MSP_GPIO_OFFSET[gpio]) 132 /* These take the 'register relative offset gpio' number */ 143 #define BASIC_DATA_MASK(gpio) \ 144 BASIC_DATA_REG_MASK(OFFSET_GPIO_NUMBER(gpio)) 145 #define BASIC_MODE_MASK(gpio) \ 146 BASIC_MODE_REG_MASK(OFFSET_GPIO_NUMBER(gpio)) 147 #define BASIC_MODE(mode, gpio) \ 148 BASIC_MODE_REG_VALUE(mode, OFFSET_GPIO_NUMBER(gpio)) 149 #define BASIC_MODE_SHIFT(gpio) \ 150 BASIC_MODE_REG_SHIFT(OFFSET_GPIO_NUMBER(gpio)) 151 #define BASIC_MODE_FROM_REG(data, gpio) \ 152 BASIC_MODE_REG_FROM_REG(data, OFFSET_GPIO_NUMBER(gpio)) 174 /* This gives the 'register relative offset gpio' number */ 175 #define EXTENDED_OFFSET_GPIO(gpio) (gpio < 24 ? gpio - 16 : gpio - 24) 177 /* These take the 'register relative offset gpio' number */ 184 #define EXTENDED_DISABLE(gpio) \ 185 EXTENDED_REG_DISABLE(EXTENDED_OFFSET_GPIO(gpio)) 186 #define EXTENDED_ENABLE(gpio) \ 187 EXTENDED_REG_ENABLE(EXTENDED_OFFSET_GPIO(gpio)) 188 #define EXTENDED_SET(gpio) \ 189 EXTENDED_REG_SET(EXTENDED_OFFSET_GPIO(gpio)) 190 #define EXTENDED_CLR(gpio) \ 191 EXTENDED_REG_CLR(EXTENDED_OFFSET_GPIO(gpio)) 200 static inline enum msp_gpio_data msp_gpio_pin_get(unsigned int gpio) msp_gpio_pin_get() argument 204 if (gpio >= MSP_NUM_GPIOS) msp_gpio_pin_get() 207 if (gpio < 16) { msp_gpio_pin_get() 208 pinhi_mask = BASIC_DATA_MASK(gpio); msp_gpio_pin_get() 215 pinhi_mask = EXTENDED_ENABLE(gpio) | EXTENDED_CLR(gpio); msp_gpio_pin_get() 216 pinhi_mask2 = EXTENDED_SET(gpio); msp_gpio_pin_get() 218 if (((*MSP_GPIO_DATA_REGISTER[gpio] & pinhi_mask) == pinhi_mask) || msp_gpio_pin_get() 219 (*MSP_GPIO_DATA_REGISTER[gpio] & pinhi_mask2)) msp_gpio_pin_get() 226 static inline void msp_gpio_pin_set(enum msp_gpio_data data, unsigned int gpio) msp_gpio_pin_set() argument 228 if (gpio >= MSP_NUM_GPIOS) msp_gpio_pin_set() 231 if (gpio < 16) { msp_gpio_pin_set() 233 toggle_reg32(MSP_GPIO_DATA_REGISTER[gpio], msp_gpio_pin_set() 234 BASIC_DATA_MASK(gpio)); msp_gpio_pin_set() 236 set_reg32(MSP_GPIO_DATA_REGISTER[gpio], msp_gpio_pin_set() 237 BASIC_DATA_MASK(gpio)); msp_gpio_pin_set() 239 clear_reg32(MSP_GPIO_DATA_REGISTER[gpio], msp_gpio_pin_set() 240 BASIC_DATA_MASK(gpio)); msp_gpio_pin_set() 250 custom_read_reg32(MSP_GPIO_DATA_REGISTER[gpio], msp_gpio_pin_set() 252 if (tmpdata & EXTENDED_CLR(gpio)) msp_gpio_pin_set() 253 tmpdata = EXTENDED_CLR(gpio); msp_gpio_pin_set() 255 tmpdata = EXTENDED_SET(gpio); msp_gpio_pin_set() 256 custom_write_reg32(MSP_GPIO_DATA_REGISTER[gpio], msp_gpio_pin_set() 262 newdata = EXTENDED_SET(gpio); msp_gpio_pin_set() 264 newdata = EXTENDED_CLR(gpio); msp_gpio_pin_set() 265 set_value_reg32(MSP_GPIO_DATA_REGISTER[gpio], msp_gpio_pin_set() 272 static inline void msp_gpio_pin_hi(unsigned int gpio) msp_gpio_pin_hi() argument 274 msp_gpio_pin_set(MSP_GPIO_HI, gpio); msp_gpio_pin_hi() 278 static inline void msp_gpio_pin_lo(unsigned int gpio) msp_gpio_pin_lo() argument 280 msp_gpio_pin_set(MSP_GPIO_LO, gpio); msp_gpio_pin_lo() 284 static inline void msp_gpio_pin_toggle(unsigned int gpio) msp_gpio_pin_toggle() argument 286 msp_gpio_pin_set(MSP_GPIO_TOGGLE, gpio); msp_gpio_pin_toggle() 290 static inline enum msp_gpio_mode msp_gpio_pin_get_mode(unsigned int gpio) msp_gpio_pin_get_mode() argument 295 if (gpio >= MSP_NUM_GPIOS) msp_gpio_pin_get_mode() 298 data = *MSP_GPIO_MODE_REGISTER[gpio]; msp_gpio_pin_get_mode() 300 if (gpio < 16) { msp_gpio_pin_get_mode() 301 retval = BASIC_MODE_FROM_REG(data, gpio); msp_gpio_pin_get_mode() 304 if (data & EXTENDED_ENABLE(gpio)) msp_gpio_pin_get_mode() 317 static inline int msp_gpio_pin_mode(enum msp_gpio_mode mode, unsigned int gpio) msp_gpio_pin_mode() argument 321 if ((1 << gpio) & ~MSP_GPIO_MODE_ALLOWED[mode]) msp_gpio_pin_mode() 324 if (gpio >= MSP_NUM_GPIOS) msp_gpio_pin_mode() 327 if (gpio < 16) { msp_gpio_pin_mode() 328 modemask = BASIC_MODE_MASK(gpio); msp_gpio_pin_mode() 329 newmode = BASIC_MODE(mode, gpio); msp_gpio_pin_mode() 333 newmode = EXTENDED_DISABLE(gpio); msp_gpio_pin_mode() 335 newmode = EXTENDED_ENABLE(gpio); msp_gpio_pin_mode() 338 set_value_reg32(MSP_GPIO_MODE_REGISTER[gpio], modemask, newmode); msp_gpio_pin_mode()
|
/linux-4.1.27/arch/powerpc/sysdev/ |
H A D | ppc4xx_gpio.c | 2 * PPC4xx gpio driver 30 #include <linux/gpio.h> 34 #define GPIO_MASK(gpio) (0x80000000 >> (gpio)) 35 #define GPIO_MASK2(gpio) (0xc0000000 >> ((gpio) * 2)) 67 * There are a maximum of 32 gpios in each gpio controller. 76 static int ppc4xx_gpio_get(struct gpio_chip *gc, unsigned int gpio) ppc4xx_gpio_get() argument 81 return in_be32(®s->ir) & GPIO_MASK(gpio); ppc4xx_gpio_get() 85 __ppc4xx_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) __ppc4xx_gpio_set() argument 91 setbits32(®s->or, GPIO_MASK(gpio)); __ppc4xx_gpio_set() 93 clrbits32(®s->or, GPIO_MASK(gpio)); __ppc4xx_gpio_set() 97 ppc4xx_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) ppc4xx_gpio_set() argument 105 __ppc4xx_gpio_set(gc, gpio, val); ppc4xx_gpio_set() 109 pr_debug("%s: gpio: %d val: %d\n", __func__, gpio, val); ppc4xx_gpio_set() 112 static int ppc4xx_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio) ppc4xx_gpio_dir_in() argument 122 clrbits32(®s->odr, GPIO_MASK(gpio)); ppc4xx_gpio_dir_in() 125 clrbits32(®s->tcr, GPIO_MASK(gpio)); ppc4xx_gpio_dir_in() 128 if (gpio < 16) { ppc4xx_gpio_dir_in() 129 clrbits32(®s->osrl, GPIO_MASK2(gpio)); ppc4xx_gpio_dir_in() 130 clrbits32(®s->tsrl, GPIO_MASK2(gpio)); ppc4xx_gpio_dir_in() 132 clrbits32(®s->osrh, GPIO_MASK2(gpio)); ppc4xx_gpio_dir_in() 133 clrbits32(®s->tsrh, GPIO_MASK2(gpio)); ppc4xx_gpio_dir_in() 142 ppc4xx_gpio_dir_out(struct gpio_chip *gc, unsigned int gpio, int val) ppc4xx_gpio_dir_out() argument 152 __ppc4xx_gpio_set(gc, gpio, val); ppc4xx_gpio_dir_out() 155 clrbits32(®s->odr, GPIO_MASK(gpio)); ppc4xx_gpio_dir_out() 158 setbits32(®s->tcr, GPIO_MASK(gpio)); ppc4xx_gpio_dir_out() 161 if (gpio < 16) { ppc4xx_gpio_dir_out() 162 clrbits32(®s->osrl, GPIO_MASK2(gpio)); ppc4xx_gpio_dir_out() 163 clrbits32(®s->tsrl, GPIO_MASK2(gpio)); ppc4xx_gpio_dir_out() 165 clrbits32(®s->osrh, GPIO_MASK2(gpio)); ppc4xx_gpio_dir_out() 166 clrbits32(®s->tsrh, GPIO_MASK2(gpio)); ppc4xx_gpio_dir_out() 171 pr_debug("%s: gpio: %d val: %d\n", __func__, gpio, val); ppc4xx_gpio_dir_out() 180 for_each_compatible_node(np, NULL, "ibm,ppc4xx-gpio") { ppc4xx_add_gpiochips()
|
H A D | simple_gpio.c | 22 #include <linux/gpio.h> 45 static int u8_gpio_get(struct gpio_chip *gc, unsigned int gpio) u8_gpio_get() argument 49 return in_8(mm_gc->regs) & u8_pin2mask(gpio); u8_gpio_get() 52 static void u8_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) u8_gpio_set() argument 61 u8_gc->data |= u8_pin2mask(gpio); u8_gpio_set() 63 u8_gc->data &= ~u8_pin2mask(gpio); u8_gpio_set() 70 static int u8_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio) u8_gpio_dir_in() argument 75 static int u8_gpio_dir_out(struct gpio_chip *gc, unsigned int gpio, int val) u8_gpio_dir_out() argument 77 u8_gpio_set(gc, gpio, val); u8_gpio_dir_out()
|
/linux-4.1.27/arch/avr32/boards/atstk1000/ |
H A D | setup.c | 75 { .name = "led0:amber", .gpio = GPIO_PIN_PB( 8), }, 76 { .name = "led1:amber", .gpio = GPIO_PIN_PB( 9), }, 77 { .name = "led2:amber", .gpio = GPIO_PIN_PB(10), }, 78 { .name = "led3:amber", .gpio = GPIO_PIN_PB(13), }, 79 { .name = "led4:amber", .gpio = GPIO_PIN_PB(14), }, 80 { .name = "led5:amber", .gpio = GPIO_PIN_PB(15), }, 81 { .name = "led6:amber", .gpio = GPIO_PIN_PB(16), }, 82 { .name = "led7:amber", .gpio = GPIO_PIN_PB(30), 86 { .name = "r1:red", .gpio = GPIO_PIN_PB( 8), }, 87 { .name = "g1:green", .gpio = GPIO_PIN_PB(10), }, 88 { .name = "b1:blue", .gpio = GPIO_PIN_PB(14), }, 90 { .name = "r2:red", .gpio = GPIO_PIN_PB( 9), 92 { .name = "g2:green", .gpio = GPIO_PIN_PB(13), }, 93 { .name = "b2:blue", .gpio = GPIO_PIN_PB(15), 105 .name = "leds-gpio", 106 .id = 2, /* gpio block J2 */ 117 at32_select_gpio(stk1000_j2_led[i].gpio, AT32_GPIOF_OUTPUT); atstk1000_setup_j2_leds()
|
/linux-4.1.27/drivers/mfd/ |
H A D | wm8350-gpio.c | 20 #include <linux/mfd/wm8350/gpio.h> 23 static int gpio_set_dir(struct wm8350 *wm8350, int gpio, int dir) gpio_set_dir() argument 31 1 << gpio); gpio_set_dir() 35 1 << gpio); gpio_set_dir() 40 static int wm8350_gpio_set_debounce(struct wm8350 *wm8350, int gpio, int db) wm8350_gpio_set_debounce() argument 44 1 << gpio); wm8350_gpio_set_debounce() 47 WM8350_GPIO_DEBOUNCE, 1 << gpio); wm8350_gpio_set_debounce() 50 static int gpio_set_func(struct wm8350 *wm8350, int gpio, int func) gpio_set_func() argument 55 switch (gpio) { gpio_set_func() 143 static int gpio_set_pull_up(struct wm8350 *wm8350, int gpio, int up) gpio_set_pull_up() argument 148 1 << gpio); gpio_set_pull_up() 152 1 << gpio); gpio_set_pull_up() 155 static int gpio_set_pull_down(struct wm8350 *wm8350, int gpio, int down) gpio_set_pull_down() argument 160 1 << gpio); gpio_set_pull_down() 164 1 << gpio); gpio_set_pull_down() 167 static int gpio_set_polarity(struct wm8350 *wm8350, int gpio, int pol) gpio_set_polarity() argument 172 1 << gpio); gpio_set_polarity() 176 1 << gpio); gpio_set_polarity() 179 static int gpio_set_invert(struct wm8350 *wm8350, int gpio, int invert) gpio_set_invert() argument 182 return wm8350_set_bits(wm8350, WM8350_GPIO_INT_MODE, 1 << gpio); gpio_set_invert() 185 WM8350_GPIO_INT_MODE, 1 << gpio); gpio_set_invert() 188 int wm8350_gpio_config(struct wm8350 *wm8350, int gpio, int dir, int func, wm8350_gpio_config() argument 193 if (gpio_set_pull_up(wm8350, gpio, 0)) wm8350_gpio_config() 195 if (gpio_set_pull_down(wm8350, gpio, 0)) wm8350_gpio_config() 198 if (gpio_set_pull_down(wm8350, gpio, 0)) wm8350_gpio_config() 200 if (gpio_set_pull_up(wm8350, gpio, 1)) wm8350_gpio_config() 203 if (gpio_set_pull_up(wm8350, gpio, 0)) wm8350_gpio_config() 205 if (gpio_set_pull_down(wm8350, gpio, 1)) wm8350_gpio_config() 209 if (gpio_set_invert(wm8350, gpio, invert)) wm8350_gpio_config() 211 if (gpio_set_polarity(wm8350, gpio, pol)) wm8350_gpio_config() 213 if (wm8350_gpio_set_debounce(wm8350, gpio, debounce)) wm8350_gpio_config() 215 if (gpio_set_dir(wm8350, gpio, dir)) wm8350_gpio_config() 217 return gpio_set_func(wm8350, gpio, func); wm8350_gpio_config()
|
H A D | pcf50633-gpio.c | 21 #include <linux/mfd/pcf50633/gpio.h> 38 int pcf50633_gpio_set(struct pcf50633 *pcf, int gpio, u8 val) pcf50633_gpio_set() argument 42 reg = gpio - PCF50633_GPIO1 + PCF50633_REG_GPIO1CFG; pcf50633_gpio_set() 48 u8 pcf50633_gpio_get(struct pcf50633 *pcf, int gpio) pcf50633_gpio_get() argument 52 reg = gpio - PCF50633_GPIO1 + PCF50633_REG_GPIO1CFG; pcf50633_gpio_get() 59 int pcf50633_gpio_invert_set(struct pcf50633 *pcf, int gpio, int invert) pcf50633_gpio_invert_set() argument 63 reg = gpio - PCF50633_GPIO1 + PCF50633_REG_GPIO1CFG; pcf50633_gpio_invert_set() 70 int pcf50633_gpio_invert_get(struct pcf50633 *pcf, int gpio) pcf50633_gpio_invert_get() argument 74 reg = gpio - PCF50633_GPIO1 + PCF50633_REG_GPIO1CFG; pcf50633_gpio_invert_get() 82 int gpio, int regulator, int on) pcf50633_gpio_power_supply_set() 89 val = !!on << (gpio - PCF50633_GPIO1); pcf50633_gpio_power_supply_set() 90 mask = 1 << (gpio - PCF50633_GPIO1); pcf50633_gpio_power_supply_set() 81 pcf50633_gpio_power_supply_set(struct pcf50633 *pcf, int gpio, int regulator, int on) pcf50633_gpio_power_supply_set() argument
|
/linux-4.1.27/drivers/gpu/drm/nouveau/nvkm/subdev/gpio/ |
H A D | base.c | 30 nvkm_gpio_drive(struct nvkm_gpio *gpio, int idx, int line, int dir, int out) nvkm_gpio_drive() argument 32 const struct nvkm_gpio_impl *impl = (void *)nv_object(gpio)->oclass; nvkm_gpio_drive() 33 return impl->drive ? impl->drive(gpio, line, dir, out) : -ENODEV; nvkm_gpio_drive() 37 nvkm_gpio_sense(struct nvkm_gpio *gpio, int idx, int line) nvkm_gpio_sense() argument 39 const struct nvkm_gpio_impl *impl = (void *)nv_object(gpio)->oclass; nvkm_gpio_sense() 40 return impl->sense ? impl->sense(gpio, line) : -ENODEV; nvkm_gpio_sense() 44 nvkm_gpio_find(struct nvkm_gpio *gpio, int idx, u8 tag, u8 line, nvkm_gpio_find() argument 47 struct nvkm_bios *bios = nvkm_bios(gpio); nvkm_gpio_find() 59 if (nv_device_match(nv_object(gpio), 0x0189, 0x10de, 0x0010)) { nvkm_gpio_find() 75 nvkm_gpio_set(struct nvkm_gpio *gpio, int idx, u8 tag, u8 line, int state) nvkm_gpio_set() argument 80 ret = nvkm_gpio_find(gpio, idx, tag, line, &func); nvkm_gpio_set() 84 ret = nvkm_gpio_drive(gpio, idx, func.line, dir, out); nvkm_gpio_set() 91 nvkm_gpio_get(struct nvkm_gpio *gpio, int idx, u8 tag, u8 line) nvkm_gpio_get() argument 96 ret = nvkm_gpio_find(gpio, idx, tag, line, &func); nvkm_gpio_get() 98 ret = nvkm_gpio_sense(gpio, idx, func.line); nvkm_gpio_get() 109 struct nvkm_gpio *gpio = container_of(event, typeof(*gpio), event); nvkm_gpio_intr_fini() local 110 const struct nvkm_gpio_impl *impl = (void *)nv_object(gpio)->oclass; nvkm_gpio_intr_fini() 111 impl->intr_mask(gpio, type, 1 << index, 0); nvkm_gpio_intr_fini() 117 struct nvkm_gpio *gpio = container_of(event, typeof(*gpio), event); nvkm_gpio_intr_init() local 118 const struct nvkm_gpio_impl *impl = (void *)nv_object(gpio)->oclass; nvkm_gpio_intr_init() 119 impl->intr_mask(gpio, type, 1 << index, 1 << index); nvkm_gpio_intr_init() 139 struct nvkm_gpio *gpio = nvkm_gpio(subdev); nvkm_gpio_intr() local 140 const struct nvkm_gpio_impl *impl = (void *)nv_object(gpio)->oclass; nvkm_gpio_intr() 143 impl->intr_stat(gpio, &hi, &lo); nvkm_gpio_intr() 150 nvkm_event_send(&gpio->event, rep.mask, i, &rep, sizeof(rep)); nvkm_gpio_intr() 165 struct nvkm_gpio *gpio = nvkm_gpio(object); _nvkm_gpio_fini() local 168 impl->intr_mask(gpio, NVKM_GPIO_TOGGLED, mask, 0); _nvkm_gpio_fini() 169 impl->intr_stat(gpio, &mask, &mask); _nvkm_gpio_fini() 171 return nvkm_subdev_fini(&gpio->base, suspend); _nvkm_gpio_fini() 188 struct nvkm_gpio *gpio = nvkm_gpio(object); _nvkm_gpio_init() local 191 ret = nvkm_subdev_init(&gpio->base); _nvkm_gpio_init() 195 if (gpio->reset && dmi_check_system(gpio_reset_ids)) _nvkm_gpio_init() 196 gpio->reset(gpio, DCB_GPIO_UNUSED); _nvkm_gpio_init() 204 struct nvkm_gpio *gpio = (void *)object; _nvkm_gpio_dtor() local 205 nvkm_event_fini(&gpio->event); _nvkm_gpio_dtor() 206 nvkm_subdev_destroy(&gpio->base); _nvkm_gpio_dtor() 214 struct nvkm_gpio *gpio; nvkm_gpio_create_() local 218 "gpio", length, pobject); nvkm_gpio_create_() 219 gpio = *pobject; nvkm_gpio_create_() 223 gpio->find = nvkm_gpio_find; nvkm_gpio_create_() 224 gpio->set = nvkm_gpio_set; nvkm_gpio_create_() 225 gpio->get = nvkm_gpio_get; nvkm_gpio_create_() 226 gpio->reset = impl->reset; nvkm_gpio_create_() 229 &gpio->event); nvkm_gpio_create_() 233 nv_subdev(gpio)->intr = nvkm_gpio_intr; nvkm_gpio_create_() 242 struct nvkm_gpio *gpio; _nvkm_gpio_ctor() local 245 ret = nvkm_gpio_create(parent, engine, oclass, &gpio); _nvkm_gpio_ctor() 246 *pobject = nv_object(gpio); _nvkm_gpio_ctor()
|
H A D | priv.h | 3 #include <subdev/gpio.h> 8 struct nvkm_gpio *gpio = (p); \ 9 _nvkm_gpio_dtor(nv_object(gpio)); \ 12 struct nvkm_gpio *gpio = (p); \ 13 _nvkm_gpio_init(nv_object(gpio)); \ 16 struct nvkm_gpio *gpio = (p); \ 17 _nvkm_gpio_fini(nv_object(gpio), (s)); \ 40 * given set of gpio lines 44 /* configure gpio direction and output value */ 47 /* sense current state of given gpio line */
|
H A D | g94.c | 27 g94_gpio_intr_stat(struct nvkm_gpio *gpio, u32 *hi, u32 *lo) g94_gpio_intr_stat() argument 29 u32 intr0 = nv_rd32(gpio, 0x00e054); g94_gpio_intr_stat() 30 u32 intr1 = nv_rd32(gpio, 0x00e074); g94_gpio_intr_stat() 31 u32 stat0 = nv_rd32(gpio, 0x00e050) & intr0; g94_gpio_intr_stat() 32 u32 stat1 = nv_rd32(gpio, 0x00e070) & intr1; g94_gpio_intr_stat() 35 nv_wr32(gpio, 0x00e054, intr0); g94_gpio_intr_stat() 36 nv_wr32(gpio, 0x00e074, intr1); g94_gpio_intr_stat() 40 g94_gpio_intr_mask(struct nvkm_gpio *gpio, u32 type, u32 mask, u32 data) g94_gpio_intr_mask() argument 42 u32 inte0 = nv_rd32(gpio, 0x00e050); g94_gpio_intr_mask() 43 u32 inte1 = nv_rd32(gpio, 0x00e070); g94_gpio_intr_mask() 54 nv_wr32(gpio, 0x00e050, inte0); g94_gpio_intr_mask() 55 nv_wr32(gpio, 0x00e070, inte1); g94_gpio_intr_mask()
|
H A D | gk104.c | 27 gk104_gpio_intr_stat(struct nvkm_gpio *gpio, u32 *hi, u32 *lo) gk104_gpio_intr_stat() argument 29 u32 intr0 = nv_rd32(gpio, 0x00dc00); gk104_gpio_intr_stat() 30 u32 intr1 = nv_rd32(gpio, 0x00dc80); gk104_gpio_intr_stat() 31 u32 stat0 = nv_rd32(gpio, 0x00dc08) & intr0; gk104_gpio_intr_stat() 32 u32 stat1 = nv_rd32(gpio, 0x00dc88) & intr1; gk104_gpio_intr_stat() 35 nv_wr32(gpio, 0x00dc00, intr0); gk104_gpio_intr_stat() 36 nv_wr32(gpio, 0x00dc80, intr1); gk104_gpio_intr_stat() 40 gk104_gpio_intr_mask(struct nvkm_gpio *gpio, u32 type, u32 mask, u32 data) gk104_gpio_intr_mask() argument 42 u32 inte0 = nv_rd32(gpio, 0x00dc08); gk104_gpio_intr_mask() 43 u32 inte1 = nv_rd32(gpio, 0x00dc88); gk104_gpio_intr_mask() 54 nv_wr32(gpio, 0x00dc08, inte0); gk104_gpio_intr_mask() 55 nv_wr32(gpio, 0x00dc88, inte1); gk104_gpio_intr_mask()
|
H A D | nv50.c | 27 nv50_gpio_reset(struct nvkm_gpio *gpio, u8 match) nv50_gpio_reset() argument 29 struct nvkm_bios *bios = nvkm_bios(gpio); nv50_gpio_reset() 50 gpio->set(gpio, 0, func, line, defs); nv50_gpio_reset() 52 nv_mask(gpio, reg, 0x00010001 << lsh, val << lsh); nv50_gpio_reset() 70 nv50_gpio_drive(struct nvkm_gpio *gpio, int line, int dir, int out) nv50_gpio_drive() argument 77 nv_mask(gpio, reg, 3 << shift, (((dir ^ 1) << 1) | out) << shift); nv50_gpio_drive() 82 nv50_gpio_sense(struct nvkm_gpio *gpio, int line) nv50_gpio_sense() argument 89 return !!(nv_rd32(gpio, reg) & (4 << shift)); nv50_gpio_sense() 93 nv50_gpio_intr_stat(struct nvkm_gpio *gpio, u32 *hi, u32 *lo) nv50_gpio_intr_stat() argument 95 u32 intr = nv_rd32(gpio, 0x00e054); nv50_gpio_intr_stat() 96 u32 stat = nv_rd32(gpio, 0x00e050) & intr; nv50_gpio_intr_stat() 99 nv_wr32(gpio, 0x00e054, intr); nv50_gpio_intr_stat() 103 nv50_gpio_intr_mask(struct nvkm_gpio *gpio, u32 type, u32 mask, u32 data) nv50_gpio_intr_mask() argument 105 u32 inte = nv_rd32(gpio, 0x00e050); nv50_gpio_intr_mask() 110 nv_wr32(gpio, 0x00e050, inte); nv50_gpio_intr_mask()
|
H A D | gf110.c | 27 gf110_gpio_reset(struct nvkm_gpio *gpio, u8 match) gf110_gpio_reset() argument 29 struct nvkm_bios *bios = nvkm_bios(gpio); gf110_gpio_reset() 46 gpio->set(gpio, 0, func, line, defs); gf110_gpio_reset() 48 nv_mask(gpio, 0x00d610 + (line * 4), 0xff, unk0); gf110_gpio_reset() 50 nv_mask(gpio, 0x00d740 + (unk1 * 4), 0xff, line); gf110_gpio_reset() 55 gf110_gpio_drive(struct nvkm_gpio *gpio, int line, int dir, int out) gf110_gpio_drive() argument 58 nv_mask(gpio, 0x00d610 + (line * 4), 0x00003000, data); gf110_gpio_drive() 59 nv_mask(gpio, 0x00d604, 0x00000001, 0x00000001); /* update? */ gf110_gpio_drive() 64 gf110_gpio_sense(struct nvkm_gpio *gpio, int line) gf110_gpio_sense() argument 66 return !!(nv_rd32(gpio, 0x00d610 + (line * 4)) & 0x00004000); gf110_gpio_sense()
|
H A D | nv10.c | 29 nv10_gpio_sense(struct nvkm_gpio *gpio, int line) nv10_gpio_sense() argument 33 line = nv_rd32(gpio, 0x600818) >> line; nv10_gpio_sense() 38 line = nv_rd32(gpio, 0x60081c) >> line; nv10_gpio_sense() 43 line = nv_rd32(gpio, 0x600850) >> line; nv10_gpio_sense() 51 nv10_gpio_drive(struct nvkm_gpio *gpio, int line, int dir, int out) nv10_gpio_drive() argument 76 nv_mask(gpio, reg, mask << line, data << line); nv10_gpio_drive() 81 nv10_gpio_intr_stat(struct nvkm_gpio *gpio, u32 *hi, u32 *lo) nv10_gpio_intr_stat() argument 83 u32 intr = nv_rd32(gpio, 0x001104); nv10_gpio_intr_stat() 84 u32 stat = nv_rd32(gpio, 0x001144) & intr; nv10_gpio_intr_stat() 87 nv_wr32(gpio, 0x001104, intr); nv10_gpio_intr_stat() 91 nv10_gpio_intr_mask(struct nvkm_gpio *gpio, u32 type, u32 mask, u32 data) nv10_gpio_intr_mask() argument 93 u32 inte = nv_rd32(gpio, 0x001144); nv10_gpio_intr_mask() 98 nv_wr32(gpio, 0x001144, inte); nv10_gpio_intr_mask()
|
/linux-4.1.27/drivers/rtc/ |
H A D | rtc-ds2404.c | 18 #include <linux/gpio.h> 46 unsigned int gpio; member in struct:ds2404_gpio 50 struct ds2404_gpio *gpio; member in struct:ds2404 66 ds2404_gpio[DS2404_RST].gpio = pdata->gpio_rst; ds2404_gpio_map() 67 ds2404_gpio[DS2404_CLK].gpio = pdata->gpio_clk; ds2404_gpio_map() 68 ds2404_gpio[DS2404_DQ].gpio = pdata->gpio_dq; ds2404_gpio_map() 71 err = gpio_request(ds2404_gpio[i].gpio, ds2404_gpio[i].name); ds2404_gpio_map() 73 dev_err(&pdev->dev, "error mapping gpio %s: %d\n", ds2404_gpio_map() 78 gpio_direction_output(ds2404_gpio[i].gpio, 1); ds2404_gpio_map() 81 chip->gpio = ds2404_gpio; ds2404_gpio_map() 86 gpio_free(ds2404_gpio[i].gpio); ds2404_gpio_map() 95 gpio_free(ds2404_gpio[i].gpio); ds2404_gpio_unmap() 105 gpio_set_value(ds2404_gpio[DS2404_RST].gpio, 0); ds2404_reset() 107 gpio_set_value(ds2404_gpio[DS2404_RST].gpio, 1); ds2404_reset() 108 gpio_set_value(ds2404_gpio[DS2404_CLK].gpio, 0); ds2404_reset() 109 gpio_direction_output(ds2404_gpio[DS2404_DQ].gpio, 0); ds2404_reset() 117 gpio_direction_output(ds2404_gpio[DS2404_DQ].gpio, 1); ds2404_write_byte() 119 gpio_set_value(ds2404_gpio[DS2404_DQ].gpio, byte & (1 << i)); ds2404_write_byte() 121 gpio_set_value(ds2404_gpio[DS2404_CLK].gpio, 1); ds2404_write_byte() 123 gpio_set_value(ds2404_gpio[DS2404_CLK].gpio, 0); ds2404_write_byte() 133 gpio_direction_input(ds2404_gpio[DS2404_DQ].gpio); ds2404_read_byte() 136 gpio_set_value(ds2404_gpio[DS2404_CLK].gpio, 0); ds2404_read_byte() 138 if (gpio_get_value(ds2404_gpio[DS2404_DQ].gpio)) ds2404_read_byte() 140 gpio_set_value(ds2404_gpio[DS2404_CLK].gpio, 1); ds2404_read_byte() 191 gpio_direction_input(ds2404_gpio[DS2404_DQ].gpio); ds2404_write_memory() 192 while (gpio_get_value(ds2404_gpio[DS2404_DQ].gpio)) ds2404_write_memory() 242 chip->gpio[DS2404_RST].gpio, chip->gpio[DS2404_CLK].gpio, rtc_probe() 243 chip->gpio[DS2404_DQ].gpio); rtc_probe()
|
H A D | rtc-v3020.c | 30 #include <linux/gpio.h> 54 unsigned int gpio; member in struct:v3020_gpio 63 struct v3020_gpio *gpio; member in struct:v3020 122 v3020_gpio[V3020_CS].gpio = pdata->gpio_cs; v3020_gpio_map() 123 v3020_gpio[V3020_WR].gpio = pdata->gpio_wr; v3020_gpio_map() 124 v3020_gpio[V3020_RD].gpio = pdata->gpio_rd; v3020_gpio_map() 125 v3020_gpio[V3020_IO].gpio = pdata->gpio_io; v3020_gpio_map() 128 err = gpio_request(v3020_gpio[i].gpio, v3020_gpio[i].name); v3020_gpio_map() 132 gpio_direction_output(v3020_gpio[i].gpio, 1); v3020_gpio_map() 135 chip->gpio = v3020_gpio; v3020_gpio_map() 141 gpio_free(v3020_gpio[i].gpio); v3020_gpio_map() 151 gpio_free(v3020_gpio[i].gpio); v3020_gpio_unmap() 156 gpio_direction_output(chip->gpio[V3020_IO].gpio, bit); v3020_gpio_write_bit() 157 gpio_set_value(chip->gpio[V3020_CS].gpio, 0); v3020_gpio_write_bit() 158 gpio_set_value(chip->gpio[V3020_WR].gpio, 0); v3020_gpio_write_bit() 160 gpio_set_value(chip->gpio[V3020_WR].gpio, 1); v3020_gpio_write_bit() 161 gpio_set_value(chip->gpio[V3020_CS].gpio, 1); v3020_gpio_write_bit() 168 gpio_direction_input(chip->gpio[V3020_IO].gpio); v3020_gpio_read_bit() 169 gpio_set_value(chip->gpio[V3020_CS].gpio, 0); v3020_gpio_read_bit() 170 gpio_set_value(chip->gpio[V3020_RD].gpio, 0); v3020_gpio_read_bit() 172 bit = !!gpio_get_value(chip->gpio[V3020_IO].gpio); v3020_gpio_read_bit() 174 gpio_set_value(chip->gpio[V3020_RD].gpio, 1); v3020_gpio_read_bit() 175 gpio_set_value(chip->gpio[V3020_CS].gpio, 1); v3020_gpio_read_bit() 345 chip->gpio[V3020_CS].gpio, chip->gpio[V3020_WR].gpio, rtc_probe() 346 chip->gpio[V3020_RD].gpio, chip->gpio[V3020_IO].gpio); rtc_probe()
|
/linux-4.1.27/drivers/pcmcia/ |
H A D | pxa2xx_colibri.c | 17 #include <linux/gpio.h> 47 static struct gpio colibri_pcmcia_gpios[] = { 65 skt->socket.pci_irq = gpio_to_irq(colibri_pcmcia_gpios[READY].gpio); colibri_pcmcia_hw_init() 66 skt->stat[SOC_STAT_CD].irq = gpio_to_irq(colibri_pcmcia_gpios[DETECT].gpio); colibri_pcmcia_hw_init() 83 state->detect = !!gpio_get_value(colibri_pcmcia_gpios[DETECT].gpio); colibri_pcmcia_socket_state() 84 state->ready = !!gpio_get_value(colibri_pcmcia_gpios[READY].gpio); colibri_pcmcia_socket_state() 85 state->bvd1 = !!gpio_get_value(colibri_pcmcia_gpios[BVD1].gpio); colibri_pcmcia_socket_state() 86 state->bvd2 = !!gpio_get_value(colibri_pcmcia_gpios[BVD2].gpio); colibri_pcmcia_socket_state() 95 gpio_set_value(colibri_pcmcia_gpios[PPEN].gpio, colibri_pcmcia_configure_socket() 97 gpio_set_value(colibri_pcmcia_gpios[RESET].gpio, colibri_pcmcia_configure_socket() 130 colibri_pcmcia_gpios[RESET].gpio = COLIBRI270_RESET_GPIO; colibri_pcmcia_init() 131 colibri_pcmcia_gpios[PPEN].gpio = COLIBRI270_PPEN_GPIO; colibri_pcmcia_init() 132 colibri_pcmcia_gpios[BVD1].gpio = COLIBRI270_BVD1_GPIO; colibri_pcmcia_init() 133 colibri_pcmcia_gpios[BVD2].gpio = COLIBRI270_BVD2_GPIO; colibri_pcmcia_init() 134 colibri_pcmcia_gpios[DETECT].gpio = COLIBRI270_DETECT_GPIO; colibri_pcmcia_init() 135 colibri_pcmcia_gpios[READY].gpio = COLIBRI270_READY_GPIO; colibri_pcmcia_init() 138 colibri_pcmcia_gpios[RESET].gpio = COLIBRI320_RESET_GPIO; colibri_pcmcia_init() 139 colibri_pcmcia_gpios[PPEN].gpio = COLIBRI320_PPEN_GPIO; colibri_pcmcia_init() 140 colibri_pcmcia_gpios[BVD1].gpio = COLIBRI320_BVD1_GPIO; colibri_pcmcia_init() 141 colibri_pcmcia_gpios[BVD2].gpio = COLIBRI320_BVD2_GPIO; colibri_pcmcia_init() 142 colibri_pcmcia_gpios[DETECT].gpio = COLIBRI320_DETECT_GPIO; colibri_pcmcia_init() 143 colibri_pcmcia_gpios[READY].gpio = COLIBRI320_READY_GPIO; colibri_pcmcia_init()
|
H A D | pxa2xx_vpac270.c | 14 #include <linux/gpio.h> 20 #include <asm/gpio.h> 25 static struct gpio vpac270_pcmcia_gpios[] = { 30 static struct gpio vpac270_cf_gpios[] = { 42 skt->stat[SOC_STAT_CD].gpio = GPIO84_VPAC270_PCMCIA_CD; vpac270_pcmcia_hw_init() 44 skt->stat[SOC_STAT_RDY].gpio = GPIO35_VPAC270_PCMCIA_RDY; vpac270_pcmcia_hw_init() 50 skt->stat[SOC_STAT_CD].gpio = GPIO17_VPAC270_CF_CD; vpac270_pcmcia_hw_init() 52 skt->stat[SOC_STAT_RDY].gpio = GPIO12_VPAC270_CF_RDY; vpac270_pcmcia_hw_init()
|
H A D | sa1100_assabet.c | 13 #include <linux/gpio.h> 22 skt->stat[SOC_STAT_CD].gpio = ASSABET_GPIO_CF_CD; assabet_pcmcia_hw_init() 24 skt->stat[SOC_STAT_BVD1].gpio = ASSABET_GPIO_CF_BVD1; assabet_pcmcia_hw_init() 26 skt->stat[SOC_STAT_BVD2].gpio = ASSABET_GPIO_CF_BVD2; assabet_pcmcia_hw_init() 28 skt->stat[SOC_STAT_RDY].gpio = ASSABET_GPIO_CF_IRQ; assabet_pcmcia_hw_init()
|
H A D | sa1100_cerf.c | 13 #include <linux/gpio.h> 31 skt->stat[SOC_STAT_CD].gpio = CERF_GPIO_CF_CD; cerf_pcmcia_hw_init() 33 skt->stat[SOC_STAT_BVD1].gpio = CERF_GPIO_CF_BVD1; cerf_pcmcia_hw_init() 35 skt->stat[SOC_STAT_BVD2].gpio = CERF_GPIO_CF_BVD2; cerf_pcmcia_hw_init() 37 skt->stat[SOC_STAT_RDY].gpio = CERF_GPIO_CF_IRQ; cerf_pcmcia_hw_init()
|
/linux-4.1.27/arch/mips/include/asm/mach-ath79/ |
H A D | gpio.h | 17 #include <asm-generic/gpio.h> 19 int gpio_to_irq(unsigned gpio); 21 int gpio_get_value(unsigned gpio); 22 void gpio_set_value(unsigned gpio, int value);
|
/linux-4.1.27/arch/arm/mach-pxa/include/mach/ |
H A D | reset.h | 15 * @gpio: gpio nr 16 * @output: set gpio as output instead of input during normal work 19 extern int init_gpio_reset(int gpio, int output, int level);
|
H A D | audio.h | 9 * @reset_gpio: AC97 reset gpio (normally gpio113 or gpio95) 10 * a -1 value means no gpio will be used for reset 15 * the default behaviour on these CPUs is to consider gpio 113 as the
|
/linux-4.1.27/arch/arm/mach-iop32x/ |
H A D | gpio-iop32x.h | 7 platform_device_register_simple("gpio-iop", 0, register_iop32x_gpio()
|
/linux-4.1.27/arch/arm/mach-pxa/ |
H A D | mfp-pxa2xx.c | 15 #include <linux/gpio.h> 16 #include <linux/gpio-pxa.h> 47 unsigned int mux_mask; /* bit mask of muxed gpio bits, 0 if no mux */ 55 static int __mfp_config_gpio(unsigned gpio, unsigned long c) __mfp_config_gpio() argument 57 unsigned long gafr, mask = GPIO_bit(gpio); __mfp_config_gpio() 58 int bank = gpio_to_bank(gpio); __mfp_config_gpio() 59 int uorl = !!(gpio & 0x10); /* GAFRx_U or GAFRx_L ? */ __mfp_config_gpio() 60 int shft = (gpio & 0xf) << 1; __mfp_config_gpio() 76 if (is_out ^ gpio_desc[gpio].dir_inverted) __mfp_config_gpio() 77 GPDR(gpio) |= mask; __mfp_config_gpio() 79 GPDR(gpio) &= ~mask; __mfp_config_gpio() 97 __func__, gpio); __mfp_config_gpio() 101 if (is_out ^ gpio_desc[gpio].dir_inverted) __mfp_config_gpio() 109 if ((c & MFP_LPM_CAN_WAKEUP) && !gpio_desc[gpio].can_wakeup) { __mfp_config_gpio() 110 pr_warn("%s: GPIO%d unable to wakeup\n", __func__, gpio); __mfp_config_gpio() 115 pr_warn("%s: output GPIO%d unable to wakeup\n", __func__, gpio); __mfp_config_gpio() 124 int gpio = mfp_to_gpio(mfp); __mfp_validate() local 126 if ((mfp > MFP_PIN_GPIO127) || !gpio_desc[gpio].valid) { __mfp_validate() 127 pr_warn("%s: GPIO%d is invalid pin\n", __func__, gpio); __mfp_validate() 131 return gpio; __mfp_validate() 138 int i, gpio; pxa2xx_mfp_config() local 142 gpio = __mfp_validate(MFP_PIN(*c)); pxa2xx_mfp_config() 143 if (gpio < 0) pxa2xx_mfp_config() 148 gpio_desc[gpio].config = *c; pxa2xx_mfp_config() 149 __mfp_config_gpio(gpio, *c); pxa2xx_mfp_config() 158 int gpio; pxa2xx_mfp_set_lpm() local 160 gpio = __mfp_validate(mfp); pxa2xx_mfp_set_lpm() 161 if (gpio < 0) pxa2xx_mfp_set_lpm() 166 c = gpio_desc[gpio].config; pxa2xx_mfp_set_lpm() 168 __mfp_config_gpio(gpio, c); pxa2xx_mfp_set_lpm() 173 int gpio_set_wake(unsigned int gpio, unsigned int on) gpio_set_wake() argument 178 if (gpio > mfp_to_gpio(MFP_PIN_GPIO127)) gpio_set_wake() 181 d = &gpio_desc[gpio]; gpio_set_wake() 262 unsigned int i, gpio, mask = 0; keypad_set_wake() local 267 gpio = pxa27x_pkwr_gpio[i]; keypad_set_wake() 268 d = &gpio_desc[gpio]; keypad_set_wake() 275 mask |= gpio_desc[gpio].mask; keypad_set_wake() 294 #define INIT_GPIO_DESC_MUXED(mux, gpio) \ 296 gpio_desc[(gpio)].can_wakeup = 1; \ 297 gpio_desc[(gpio)].mask = PWER_ ## mux ## _GPIO ##gpio; \ 298 gpio_desc[(gpio)].mux_mask = PWER_ ## mux ## _MASK; \ 303 int i, gpio; pxa27x_mfp_init() local 318 gpio = pxa27x_pkwr_gpio[i]; pxa27x_mfp_init() 319 gpio_desc[gpio].can_wakeup = 1; pxa27x_mfp_init() 320 gpio_desc[gpio].keypad_gpio = 1; pxa27x_mfp_init() 321 gpio_desc[gpio].mask = 1 << i; pxa27x_mfp_init()
|
H A D | csb701.c | 13 .gpio = 1, 30 .gpio = 11, 36 .name = "gpio-keys", 47 .name = "leds-gpio",
|
H A D | reset.c | 9 #include <linux/gpio.h> 25 int init_gpio_reset(int gpio, int output, int level) init_gpio_reset() argument 29 rc = gpio_request(gpio, "reset generator"); init_gpio_reset() 36 rc = gpio_direction_output(gpio, level); init_gpio_reset() 38 rc = gpio_direction_input(gpio); init_gpio_reset() 41 gpio_free(gpio); init_gpio_reset() 47 reset_gpio = gpio; init_gpio_reset() 54 * This covers various types of logic connecting gpio pin
|
/linux-4.1.27/include/linux/platform_data/ |
H A D | mmc-pxamci.h | 17 int gpio_card_detect; /* gpio detecting card insertion */ 18 int gpio_card_ro; /* gpio detecting read only toggle */ 19 bool gpio_card_ro_invert; /* gpio ro is inverted */ 20 int gpio_power; /* gpio powering up MMC bus */ 21 bool gpio_power_invert; /* gpio power is inverted */
|
H A D | gpio-davinci.h | 22 #include <asm-generic/gpio.h> 44 * basic gpio routines 49 #define GPIO_TO_PIN(bank, gpio) (16 * (bank) + (gpio)) 51 static inline u32 __gpio_mask(unsigned gpio) __gpio_mask() argument 53 return 1 << (gpio % 32); __gpio_mask()
|
H A D | pca953x.h | 22 unsigned gpio, unsigned ngpio, 25 unsigned gpio, unsigned ngpio,
|
H A D | mmc-esdhc-imx.h | 16 ESDHC_WP_NONE, /* no WP, neither controller nor gpio */ 18 ESDHC_WP_GPIO, /* external gpio pin for WP */ 22 ESDHC_CD_NONE, /* no CD, neither controller nor gpio */ 24 ESDHC_CD_GPIO, /* external gpio pin for CD */ 33 * @wp_gpio: gpio for write_protect 34 * @cd_gpio: gpio for card_detect interrupt
|
/linux-4.1.27/arch/blackfin/kernel/ |
H A D | bfin_gpio.c | 14 #include <linux/gpio.h> 59 # error no gpio arrays defined 112 static void gpio_error(unsigned gpio) gpio_error() argument 114 printk(KERN_ERR "bfin-gpio: GPIO %d wasn't requested!\n", gpio); gpio_error() 150 DECLARE_RESERVED_MAP(gpio, GPIO_BANK_NUM); 154 inline int check_gpio(unsigned gpio) check_gpio() argument 156 if (gpio >= MAX_BLACKFIN_GPIOS) check_gpio() 161 static void port_setup(unsigned gpio, unsigned short usage) port_setup() argument 171 if (gpio < MAX_BLACKFIN_GPIOS || gpio >= MAX_RESOURCES) port_setup() 174 gpio -= MAX_BLACKFIN_GPIOS; port_setup() 177 *port_fer[gpio_bank(gpio)] |= gpio_bit(gpio); port_setup() 179 *port_fer[gpio_bank(gpio)] &= ~gpio_bit(gpio); port_setup() 184 if (check_gpio(gpio)) port_setup() 189 *port_fer[gpio_bank(gpio)] &= ~gpio_bit(gpio); port_setup() 191 *port_fer[gpio_bank(gpio)] |= gpio_bit(gpio); port_setup() 339 * gpio - GPIO Number between 0 and MAX_BLACKFIN_GPIOS 354 void set_gpio_ ## name(unsigned gpio, unsigned short arg) \ 359 gpio_array[gpio_bank(gpio)]->name |= gpio_bit(gpio); \ 361 gpio_array[gpio_bank(gpio)]->name &= ~gpio_bit(gpio); \ 375 void set_gpio_ ## name(unsigned gpio, unsigned short arg) \ SET_GPIO() 381 gpio_array[gpio_bank(gpio)]->name ## _set = gpio_bit(gpio); \ SET_GPIO() 383 gpio_array[gpio_bank(gpio)]->name ## _clear = gpio_bit(gpio); \ SET_GPIO() 395 void set_gpio_toggle(unsigned gpio) 400 gpio_array[gpio_bank(gpio)]->toggle = gpio_bit(gpio); 412 void set_gpiop_ ## name(unsigned gpio, unsigned short arg) \ 417 gpio_array[gpio_bank(gpio)]->name = arg; \ 436 unsigned short get_gpio_ ## name(unsigned gpio) \ 442 ret = 0x01 & (gpio_array[gpio_bank(gpio)]->name >> gpio_sub_n(gpio)); \ 463 unsigned short get_gpiop_ ## name(unsigned gpio) \ 469 ret = (gpio_array[gpio_bank(gpio)]->name); \ 512 * gpio - GPIO Number between 0 and MAX_BLACKFIN_GPIOS 526 int bfin_gpio_pm_wakeup_ctrl(unsigned gpio, unsigned ctrl) bfin_gpio_pm_wakeup_ctrl() argument 530 if (check_gpio(gpio) < 0) bfin_gpio_pm_wakeup_ctrl() 535 reserve(wakeup, gpio); bfin_gpio_pm_wakeup_ctrl() 537 unreserve(wakeup, gpio); bfin_gpio_pm_wakeup_ctrl() 539 set_gpio_maskb(gpio, ctrl); bfin_gpio_pm_wakeup_ctrl() 675 if (unlikely(!check_gpio(ident) && is_reserved(gpio, ident, 1))) { peripheral_request() 791 * gpio PIO Number between 0 and MAX_BLACKFIN_GPIOS 801 int bfin_gpio_request(unsigned gpio, const char *label) bfin_gpio_request() argument 805 if (check_gpio(gpio) < 0) bfin_gpio_request() 816 if (cmp_label(gpio, label) == 0) { bfin_gpio_request() 821 if (unlikely(is_reserved(gpio, gpio, 1))) { bfin_gpio_request() 824 printk(KERN_ERR "bfin-gpio: GPIO %d is already reserved by %s !\n", bfin_gpio_request() 825 gpio, get_label(gpio)); bfin_gpio_request() 829 if (unlikely(is_reserved(peri, gpio, 1))) { bfin_gpio_request() 833 "bfin-gpio: GPIO %d is already reserved as Peripheral by %s !\n", bfin_gpio_request() 834 gpio, get_label(gpio)); bfin_gpio_request() 838 if (unlikely(is_reserved(gpio_irq, gpio, 1))) { bfin_gpio_request() 839 printk(KERN_NOTICE "bfin-gpio: GPIO %d is already reserved as gpio-irq!" bfin_gpio_request() 840 " (Documentation/blackfin/bfin-gpio-notes.txt)\n", gpio); bfin_gpio_request() 841 } else { /* Reset POLAR setting when acquiring a gpio for the first time */ bfin_gpio_request() 842 set_gpio_polar(gpio, 0); bfin_gpio_request() 845 reserve(gpio, gpio); bfin_gpio_request() 846 set_label(gpio, label); bfin_gpio_request() 850 port_setup(gpio, GPIO_USAGE); bfin_gpio_request() 856 void bfin_gpio_free(unsigned gpio) bfin_gpio_free() argument 860 if (check_gpio(gpio) < 0) bfin_gpio_free() 867 if (unlikely(!is_reserved(gpio, gpio, 0))) { bfin_gpio_free() 870 gpio_error(gpio); bfin_gpio_free() 875 unreserve(gpio, gpio); bfin_gpio_free() 877 set_label(gpio, "free"); bfin_gpio_free() 886 int bfin_special_gpio_request(unsigned gpio, const char *label) bfin_special_gpio_request() argument 898 if (cmp_label(gpio, label) == 0) { bfin_special_gpio_request() 903 if (unlikely(is_reserved(special_gpio, gpio, 1))) { bfin_special_gpio_request() 905 printk(KERN_ERR "bfin-gpio: GPIO %d is already reserved by %s !\n", bfin_special_gpio_request() 906 gpio, get_label(gpio)); bfin_special_gpio_request() 910 if (unlikely(is_reserved(peri, gpio, 1))) { bfin_special_gpio_request() 913 "bfin-gpio: GPIO %d is already reserved as Peripheral by %s !\n", bfin_special_gpio_request() 914 gpio, get_label(gpio)); bfin_special_gpio_request() 919 reserve(special_gpio, gpio); bfin_special_gpio_request() 920 reserve(peri, gpio); bfin_special_gpio_request() 922 set_label(gpio, label); bfin_special_gpio_request() 924 port_setup(gpio, GPIO_USAGE); bfin_special_gpio_request() 930 void bfin_special_gpio_free(unsigned gpio) bfin_special_gpio_free() argument 938 if (unlikely(!is_reserved(special_gpio, gpio, 0))) { bfin_special_gpio_free() 939 gpio_error(gpio); bfin_special_gpio_free() 944 unreserve(special_gpio, gpio); bfin_special_gpio_free() 945 unreserve(peri, gpio); bfin_special_gpio_free() 946 set_label(gpio, "free"); bfin_special_gpio_free() 953 int bfin_gpio_irq_request(unsigned gpio, const char *label) bfin_gpio_irq_request() argument 957 if (check_gpio(gpio) < 0) bfin_gpio_irq_request() 962 if (unlikely(is_reserved(peri, gpio, 1))) { bfin_gpio_irq_request() 966 "bfin-gpio: GPIO %d is already reserved as Peripheral by %s !\n", bfin_gpio_irq_request() 967 gpio, get_label(gpio)); bfin_gpio_irq_request() 971 if (unlikely(is_reserved(gpio, gpio, 1))) bfin_gpio_irq_request() 972 printk(KERN_NOTICE "bfin-gpio: GPIO %d is already reserved by %s! " bfin_gpio_irq_request() 973 "(Documentation/blackfin/bfin-gpio-notes.txt)\n", bfin_gpio_irq_request() 974 gpio, get_label(gpio)); bfin_gpio_irq_request() 976 reserve(gpio_irq, gpio); bfin_gpio_irq_request() 977 set_label(gpio, label); bfin_gpio_irq_request() 981 port_setup(gpio, GPIO_USAGE); bfin_gpio_irq_request() 986 void bfin_gpio_irq_free(unsigned gpio) bfin_gpio_irq_free() argument 990 if (check_gpio(gpio) < 0) bfin_gpio_irq_free() 995 if (unlikely(!is_reserved(gpio_irq, gpio, 0))) { bfin_gpio_irq_free() 998 gpio_error(gpio); bfin_gpio_irq_free() 1003 unreserve(gpio_irq, gpio); bfin_gpio_irq_free() 1005 set_label(gpio, "free"); bfin_gpio_irq_free() 1010 static inline void __bfin_gpio_direction_input(unsigned gpio) __bfin_gpio_direction_input() argument 1012 gpio_array[gpio_bank(gpio)]->dir &= ~gpio_bit(gpio); __bfin_gpio_direction_input() 1013 gpio_array[gpio_bank(gpio)]->inen |= gpio_bit(gpio); __bfin_gpio_direction_input() 1016 int bfin_gpio_direction_input(unsigned gpio) bfin_gpio_direction_input() argument 1020 if (unlikely(!is_reserved(gpio, gpio, 0))) { bfin_gpio_direction_input() 1021 gpio_error(gpio); bfin_gpio_direction_input() 1026 __bfin_gpio_direction_input(gpio); bfin_gpio_direction_input() 1034 void bfin_gpio_irq_prepare(unsigned gpio) bfin_gpio_irq_prepare() argument 1036 port_setup(gpio, GPIO_USAGE); bfin_gpio_irq_prepare() 1039 void bfin_gpio_set_value(unsigned gpio, int arg) bfin_gpio_set_value() argument 1042 gpio_array[gpio_bank(gpio)]->data_set = gpio_bit(gpio); bfin_gpio_set_value() 1044 gpio_array[gpio_bank(gpio)]->data_clear = gpio_bit(gpio); bfin_gpio_set_value() 1048 int bfin_gpio_direction_output(unsigned gpio, int value) bfin_gpio_direction_output() argument 1052 if (unlikely(!is_reserved(gpio, gpio, 0))) { bfin_gpio_direction_output() 1053 gpio_error(gpio); bfin_gpio_direction_output() 1059 gpio_array[gpio_bank(gpio)]->inen &= ~gpio_bit(gpio); bfin_gpio_direction_output() 1060 gpio_set_value(gpio, value); bfin_gpio_direction_output() 1061 gpio_array[gpio_bank(gpio)]->dir |= gpio_bit(gpio); bfin_gpio_direction_output() 1070 int bfin_gpio_get_value(unsigned gpio) bfin_gpio_get_value() argument 1074 if (unlikely(get_gpio_edge(gpio))) { bfin_gpio_get_value() 1077 set_gpio_edge(gpio, 0); bfin_gpio_get_value() 1078 ret = get_gpio_data(gpio); bfin_gpio_get_value() 1079 set_gpio_edge(gpio, 1); bfin_gpio_get_value() 1083 return get_gpio_data(gpio); bfin_gpio_get_value() 1099 unsigned short gpio = P_IDENT(pin); bfin_reset_boot_spi_cs() local 1100 port_setup(gpio, GPIO_USAGE); bfin_reset_boot_spi_cs() 1101 gpio_array[gpio_bank(gpio)]->data_set = gpio_bit(gpio); bfin_reset_boot_spi_cs() 1109 int c, irq, gpio; gpio_proc_show() local 1113 gpio = is_reserved(gpio, c, 1); gpio_proc_show() 1114 if (!check_gpio(c) && (gpio || irq)) gpio_proc_show() 1116 get_label(c), (gpio && irq) ? " *" : "", gpio_proc_show() 1143 proc_gpio = proc_create("gpio", 0, NULL, &gpio_proc_ops); gpio_register_proc() 1150 static int bfin_gpiolib_direction_input(struct gpio_chip *chip, unsigned gpio) bfin_gpiolib_direction_input() argument 1152 return bfin_gpio_direction_input(gpio); bfin_gpiolib_direction_input() 1155 static int bfin_gpiolib_direction_output(struct gpio_chip *chip, unsigned gpio, int level) bfin_gpiolib_direction_output() argument 1157 return bfin_gpio_direction_output(gpio, level); bfin_gpiolib_direction_output() 1160 static int bfin_gpiolib_get_value(struct gpio_chip *chip, unsigned gpio) bfin_gpiolib_get_value() argument 1162 return bfin_gpio_get_value(gpio); bfin_gpiolib_get_value() 1165 static void bfin_gpiolib_set_value(struct gpio_chip *chip, unsigned gpio, int value) bfin_gpiolib_set_value() argument 1167 return bfin_gpio_set_value(gpio, value); bfin_gpiolib_set_value() 1170 static int bfin_gpiolib_gpio_request(struct gpio_chip *chip, unsigned gpio) bfin_gpiolib_gpio_request() argument 1172 return bfin_gpio_request(gpio, chip->label); bfin_gpiolib_gpio_request() 1175 static void bfin_gpiolib_gpio_free(struct gpio_chip *chip, unsigned gpio) bfin_gpiolib_gpio_free() argument 1177 return bfin_gpio_free(gpio); bfin_gpiolib_gpio_free() 1180 static int bfin_gpiolib_gpio_to_irq(struct gpio_chip *chip, unsigned gpio) bfin_gpiolib_gpio_to_irq() argument 1182 return gpio + GPIO_IRQ_BASE; bfin_gpiolib_gpio_to_irq()
|
/linux-4.1.27/arch/arm/mach-s3c64xx/ |
H A D | mach-smartq7.c | 13 #include <linux/gpio.h> 25 #include <mach/regs-gpio.h> 26 #include <mach/gpio-samsung.h> 31 #include <plat/gpio-cfg.h> 41 .gpio = S3C64XX_GPN(8), 46 .gpio = S3C64XX_GPN(9), 56 .name = "leds-gpio", 64 .gpio = S3C64XX_GPL(14), 72 .gpio = S3C64XX_GPN(2), 80 .gpio = S3C64XX_GPN(3), 88 .gpio = S3C64XX_GPN(4), 96 .gpio = S3C64XX_GPN(12), 104 .gpio = S3C64XX_GPN(15), 119 .name = "gpio-keys",
|
H A D | mach-smartq5.c | 13 #include <linux/gpio.h> 25 #include <mach/regs-gpio.h> 26 #include <mach/gpio-samsung.h> 31 #include <plat/gpio-cfg.h> 41 .gpio = S3C64XX_GPN(8), 46 .gpio = S3C64XX_GPN(9), 56 .name = "leds-gpio", 64 .gpio = S3C64XX_GPL(14), 72 .gpio = S3C64XX_GPN(2), 80 .gpio = S3C64XX_GPN(12), 88 .gpio = S3C64XX_GPN(15), 103 .name = "gpio-keys",
|
H A D | setup-spi.c | 11 #include <linux/gpio.h> 12 #include <plat/gpio-cfg.h> 13 #include <mach/gpio-samsung.h>
|
H A D | setup-i2c0.c | 8 * Base S3C64XX I2C bus 0 gpio configuration 17 #include <linux/gpio.h> 22 #include <plat/gpio-cfg.h> 23 #include <mach/gpio-samsung.h>
|
H A D | setup-i2c1.c | 8 * Base S3C64XX I2C bus 1 gpio configuration 17 #include <linux/gpio.h> 22 #include <plat/gpio-cfg.h> 23 #include <mach/gpio-samsung.h>
|
H A D | setup-fb-24bpp.c | 18 #include <linux/gpio.h> 21 #include <plat/gpio-cfg.h> 22 #include <mach/gpio-samsung.h>
|
H A D | setup-keypad.c | 13 #include <linux/gpio.h> 14 #include <plat/gpio-cfg.h> 16 #include <mach/gpio-samsung.h>
|
/linux-4.1.27/drivers/input/mouse/ |
H A D | gpio_mouse.c | 14 #include <linux/gpio.h> 24 struct gpio_mouse_platform_data *gpio = dev->private; gpio_mouse_scan() local 28 if (gpio->bleft >= 0) gpio_mouse_scan() 30 gpio_get_value(gpio->bleft) ^ gpio->polarity); gpio_mouse_scan() 31 if (gpio->bmiddle >= 0) gpio_mouse_scan() 33 gpio_get_value(gpio->bmiddle) ^ gpio->polarity); gpio_mouse_scan() 34 if (gpio->bright >= 0) gpio_mouse_scan() 36 gpio_get_value(gpio->bright) ^ gpio->polarity); gpio_mouse_scan() 38 x = (gpio_get_value(gpio->right) ^ gpio->polarity) gpio_mouse_scan() 39 - (gpio_get_value(gpio->left) ^ gpio->polarity); gpio_mouse_scan() 40 y = (gpio_get_value(gpio->down) ^ gpio->polarity) gpio_mouse_scan() 41 - (gpio_get_value(gpio->up) ^ gpio->polarity); gpio_mouse_scan()
|
/linux-4.1.27/arch/powerpc/platforms/85xx/ |
H A D | sgy_cts1000.c | 29 .compatible = "sgy,gpio-halt", 44 int trigger, gpio; gpio_halt_cb() local 49 gpio = of_get_gpio_flags(halt_node, 0, &flags); gpio_halt_cb() 51 if (!gpio_is_valid(gpio)) gpio_halt_cb() 56 printk(KERN_INFO "gpio-halt: triggering GPIO.\n"); gpio_halt_cb() 59 gpio_set_value(gpio, trigger); gpio_halt_cb() 66 printk(KERN_INFO "gpio-halt: shutdown due to power button IRQ.\n"); gpio_halt_irq() 76 int gpio, err, irq; gpio_halt_probe() local 92 /* Get the gpio number relative to the dynamic base. */ gpio_halt_probe() 93 gpio = of_get_gpio_flags(halt_node, 0, &flags); gpio_halt_probe() 94 if (!gpio_is_valid(gpio)) gpio_halt_probe() 97 err = gpio_request(gpio, "gpio-halt"); gpio_halt_probe() 99 printk(KERN_ERR "gpio-halt: error requesting GPIO %d.\n", gpio_halt_probe() 100 gpio); gpio_halt_probe() 107 gpio_direction_output(gpio, !trigger); gpio_halt_probe() 112 IRQF_TRIGGER_FALLING, "gpio-halt", halt_node); gpio_halt_probe() 114 printk(KERN_ERR "gpio-halt: error requesting IRQ %d for " gpio_halt_probe() 115 "GPIO %d.\n", irq, gpio); gpio_halt_probe() 116 gpio_free(gpio); gpio_halt_probe() 125 printk(KERN_INFO "gpio-halt: registered GPIO %d (%d trigger, %d" gpio_halt_probe() 126 " irq).\n", gpio, trigger, irq); gpio_halt_probe() 134 int gpio = of_get_gpio(halt_node, 0); gpio_halt_remove() local 142 gpio_free(gpio); gpio_halt_remove() 151 /* We match on the gpio bus itself and scan the children since they 155 .compatible = "fsl,qoriq-gpio", 163 .name = "gpio-halt",
|
/linux-4.1.27/drivers/pinctrl/ |
H A D | pinctrl-coh901.c | 18 #include <linux/gpio.h> 62 struct u300_gpio *gpio; member in struct:u300_gpio_port 87 * Macro to expand to read a specific register found in the "gpio" 88 * struct. It requires the struct u300_gpio *gpio variable to exist in 94 (gpio->base + (pin >> 3) * gpio->stride + gpio->reg) 97 * Provides a bitmask for a specific gpio pin inside an 8-bit GPIO 213 * @chip: the gpio chip member of the structure u300_gpio 226 int gpio = chip->base + offset; u300_gpio_request() local 228 return pinctrl_request_gpio(gpio); u300_gpio_request() 233 int gpio = chip->base + offset; u300_gpio_free() local 235 pinctrl_free_gpio(gpio); u300_gpio_free() 240 struct u300_gpio *gpio = to_u300_gpio(chip); u300_gpio_get() local 247 struct u300_gpio *gpio = to_u300_gpio(chip); u300_gpio_set() local 264 struct u300_gpio *gpio = to_u300_gpio(chip); u300_gpio_direction_input() local 280 struct u300_gpio *gpio = to_u300_gpio(chip); u300_gpio_direction_output() local 311 struct u300_gpio *gpio = to_u300_gpio(chip); u300_gpio_config_get() local 369 struct u300_gpio *gpio = to_u300_gpio(chip); u300_gpio_config_set() local 410 dev_err(gpio->dev, "illegal configuration requested\n"); u300_gpio_config_set() 418 .label = "u300-gpio-chip", 428 static void u300_toggle_trigger(struct u300_gpio *gpio, unsigned offset) u300_toggle_trigger() argument 434 if (u300_gpio_get(&gpio->chip, offset)) { u300_toggle_trigger() 437 dev_dbg(gpio->dev, "next IRQ on falling edge on pin %d\n", u300_toggle_trigger() 442 dev_dbg(gpio->dev, "next IRQ on rising edge on pin %d\n", u300_toggle_trigger() 450 struct u300_gpio *gpio = to_u300_gpio(chip); u300_gpio_irq_type() local 451 struct u300_gpio_port *port = &gpio->ports[d->hwirq >> 3]; u300_gpio_irq_type() 462 dev_dbg(gpio->dev, u300_gpio_irq_type() 466 u300_toggle_trigger(gpio, offset); u300_gpio_irq_type() 468 dev_dbg(gpio->dev, "trigger on rising edge on pin %d\n", u300_gpio_irq_type() 474 dev_dbg(gpio->dev, "trigger on falling edge on pin %d\n", u300_gpio_irq_type() 487 struct u300_gpio *gpio = to_u300_gpio(chip); u300_gpio_irq_enable() local 488 struct u300_gpio_port *port = &gpio->ports[d->hwirq >> 3]; u300_gpio_irq_enable() 493 dev_dbg(gpio->dev, "enable IRQ for hwirq %lu on port %s, offset %d\n", u300_gpio_irq_enable() 504 struct u300_gpio *gpio = to_u300_gpio(chip); u300_gpio_irq_disable() local 516 .name = "u300-gpio-irqchip", 526 struct u300_gpio *gpio = to_u300_gpio(chip); u300_gpio_irq_handler() local 527 struct u300_gpio_port *port = &gpio->ports[irq - chip->base]; u300_gpio_irq_handler() 548 dev_dbg(gpio->dev, "GPIO IRQ %d on pin %d\n", u300_gpio_irq_handler() 556 u300_toggle_trigger(gpio, offset); u300_gpio_irq_handler() 563 static void __init u300_gpio_init_pin(struct u300_gpio *gpio, u300_gpio_init_pin() argument 569 u300_gpio_direction_output(&gpio->chip, offset, conf->outval); u300_gpio_init_pin() 572 u300_gpio_config_set(&gpio->chip, offset, u300_gpio_init_pin() 576 u300_gpio_config_set(&gpio->chip, offset, u300_gpio_init_pin() 579 dev_dbg(gpio->dev, "set up pin %d as output, value: %d\n", u300_gpio_init_pin() 582 u300_gpio_direction_input(&gpio->chip, offset); u300_gpio_init_pin() 585 u300_gpio_set(&gpio->chip, offset, 0); u300_gpio_init_pin() 588 u300_gpio_config_set(&gpio->chip, offset, conf->bias_mode); u300_gpio_init_pin() 590 dev_dbg(gpio->dev, "set up pin %d as input, bias: %04x\n", u300_gpio_init_pin() 595 static void __init u300_gpio_init_coh901571(struct u300_gpio *gpio) u300_gpio_init_coh901571() argument 606 u300_gpio_init_pin(gpio, offset, conf); u300_gpio_init_coh901571() 643 struct u300_gpio *gpio; u300_gpio_probe() local 651 gpio = devm_kzalloc(&pdev->dev, sizeof(struct u300_gpio), GFP_KERNEL); u300_gpio_probe() 652 if (gpio == NULL) u300_gpio_probe() 655 gpio->chip = u300_gpio_chip; u300_gpio_probe() 656 gpio->chip.ngpio = U300_GPIO_NUM_PORTS * U300_GPIO_PINS_PER_PORT; u300_gpio_probe() 657 gpio->chip.dev = &pdev->dev; u300_gpio_probe() 658 gpio->chip.base = 0; u300_gpio_probe() 659 gpio->dev = &pdev->dev; u300_gpio_probe() 662 gpio->base = devm_ioremap_resource(&pdev->dev, memres); u300_gpio_probe() 663 if (IS_ERR(gpio->base)) u300_gpio_probe() 664 return PTR_ERR(gpio->base); u300_gpio_probe() 666 gpio->clk = devm_clk_get(gpio->dev, NULL); u300_gpio_probe() 667 if (IS_ERR(gpio->clk)) { u300_gpio_probe() 668 err = PTR_ERR(gpio->clk); u300_gpio_probe() 669 dev_err(gpio->dev, "could not get GPIO clock\n"); u300_gpio_probe() 673 err = clk_prepare_enable(gpio->clk); u300_gpio_probe() 675 dev_err(gpio->dev, "could not enable GPIO clock\n"); u300_gpio_probe() 679 dev_info(gpio->dev, u300_gpio_probe() 681 gpio->stride = U300_GPIO_PORT_STRIDE; u300_gpio_probe() 682 gpio->pcr = U300_GPIO_PXPCR; u300_gpio_probe() 683 gpio->dor = U300_GPIO_PXPDOR; u300_gpio_probe() 684 gpio->dir = U300_GPIO_PXPDIR; u300_gpio_probe() 685 gpio->per = U300_GPIO_PXPER; u300_gpio_probe() 686 gpio->icr = U300_GPIO_PXICR; u300_gpio_probe() 687 gpio->ien = U300_GPIO_PXIEN; u300_gpio_probe() 688 gpio->iev = U300_GPIO_PXIEV; u300_gpio_probe() 691 val = readl(gpio->base + U300_GPIO_CR); u300_gpio_probe() 692 dev_info(gpio->dev, "COH901571/3 block version: %d, " \ u300_gpio_probe() 698 gpio->base + U300_GPIO_CR); u300_gpio_probe() 699 u300_gpio_init_coh901571(gpio); u300_gpio_probe() 702 gpio->chip.of_node = pdev->dev.of_node; u300_gpio_probe() 704 err = gpiochip_add(&gpio->chip); u300_gpio_probe() 706 dev_err(gpio->dev, "unable to add gpiochip: %d\n", err); u300_gpio_probe() 710 err = gpiochip_irqchip_add(&gpio->chip, u300_gpio_probe() 716 dev_err(gpio->dev, "no GPIO irqchip\n"); u300_gpio_probe() 722 struct u300_gpio_port *port = &gpio->ports[portno]; u300_gpio_probe() 724 snprintf(port->name, 8, "gpio%d", portno); u300_gpio_probe() 726 port->gpio = gpio; u300_gpio_probe() 730 gpiochip_set_chained_irqchip(&gpio->chip, u300_gpio_probe() 736 writel(0x0, gpio->base + portno * gpio->stride + ifr); u300_gpio_probe() 738 dev_dbg(gpio->dev, "initialized %d GPIO ports\n", portno); u300_gpio_probe() 747 err = gpiochip_add_pin_range(&gpio->chip, "pinctrl-u300", u300_gpio_probe() 753 platform_set_drvdata(pdev, gpio); u300_gpio_probe() 759 gpiochip_remove(&gpio->chip); u300_gpio_probe() 761 clk_disable_unprepare(gpio->clk); u300_gpio_probe() 768 struct u300_gpio *gpio = platform_get_drvdata(pdev); u300_gpio_remove() local 771 writel(0x00000000U, gpio->base + U300_GPIO_CR); u300_gpio_remove() 773 gpiochip_remove(&gpio->chip); u300_gpio_remove() 774 clk_disable_unprepare(gpio->clk); u300_gpio_remove() 779 { .compatible = "stericsson,gpio-coh901" }, 785 .name = "u300-gpio",
|
/linux-4.1.27/drivers/leds/trigger/ |
H A D | ledtrig-gpio.c | 15 #include <linux/gpio.h> 27 unsigned inverted; /* true when gpio is inverted */ 28 unsigned gpio; /* gpio that triggers the leds */ member in struct:gpio_trig_data 48 if (!gpio_data->gpio) gpio_trig_work() 51 tmp = gpio_get_value_cansleep(gpio_data->gpio); gpio_trig_work() 136 return sprintf(buf, "%u\n", gpio_data->gpio); gpio_trig_gpio_show() 144 unsigned gpio; gpio_trig_gpio_store() local 147 ret = sscanf(buf, "%u", &gpio); gpio_trig_gpio_store() 149 dev_err(dev, "couldn't read gpio number\n"); gpio_trig_gpio_store() 154 if (gpio_data->gpio == gpio) gpio_trig_gpio_store() 157 if (!gpio) { gpio_trig_gpio_store() 158 if (gpio_data->gpio != 0) gpio_trig_gpio_store() 159 free_irq(gpio_to_irq(gpio_data->gpio), led); gpio_trig_gpio_store() 160 gpio_data->gpio = 0; gpio_trig_gpio_store() 164 ret = request_irq(gpio_to_irq(gpio), gpio_trig_irq, gpio_trig_gpio_store() 166 | IRQF_TRIGGER_FALLING, "ledtrig-gpio", led); gpio_trig_gpio_store() 170 if (gpio_data->gpio != 0) gpio_trig_gpio_store() 171 free_irq(gpio_to_irq(gpio_data->gpio), led); gpio_trig_gpio_store() 172 gpio_data->gpio = gpio; gpio_trig_gpio_store() 177 static DEVICE_ATTR(gpio, 0644, gpio_trig_gpio_show, gpio_trig_gpio_store); 226 if (gpio_data->gpio != 0) gpio_trig_deactivate() 227 free_irq(gpio_to_irq(gpio_data->gpio), led); gpio_trig_deactivate() 234 .name = "gpio",
|
/linux-4.1.27/include/linux/ |
H A D | gpio.h | 6 /* see Documentation/gpio/gpio-legacy.txt */ 34 * struct gpio - a structure describing a GPIO with configuration 35 * @gpio: the GPIO number 39 struct gpio { struct 40 unsigned gpio; member in struct:gpio 48 #include <asm/gpio.h> 51 #include <asm-generic/gpio.h> 53 static inline int gpio_get_value(unsigned int gpio) gpio_get_value() argument 55 return __gpio_get_value(gpio); gpio_get_value() 58 static inline void gpio_set_value(unsigned int gpio, int value) gpio_set_value() argument 60 __gpio_set_value(gpio, value); gpio_set_value() 63 static inline int gpio_cansleep(unsigned int gpio) gpio_cansleep() argument 65 return __gpio_cansleep(gpio); gpio_cansleep() 68 static inline int gpio_to_irq(unsigned int gpio) gpio_to_irq() argument 70 return __gpio_to_irq(gpio); gpio_to_irq() 84 int devm_gpio_request(struct device *dev, unsigned gpio, const char *label); 85 int devm_gpio_request_one(struct device *dev, unsigned gpio, 87 void devm_gpio_free(struct device *dev, unsigned int gpio); 104 static inline int gpio_request(unsigned gpio, const char *label) gpio_request() argument 109 static inline int gpio_request_one(unsigned gpio, gpio_request_one() argument 115 static inline int gpio_request_array(const struct gpio *array, size_t num) gpio_request_array() 120 static inline void gpio_free(unsigned gpio) gpio_free() argument 128 static inline void gpio_free_array(const struct gpio *array, size_t num) gpio_free_array() 136 static inline int gpio_direction_input(unsigned gpio) gpio_direction_input() argument 141 static inline int gpio_direction_output(unsigned gpio, int value) gpio_direction_output() argument 146 static inline int gpio_set_debounce(unsigned gpio, unsigned debounce) gpio_set_debounce() argument 151 static inline int gpio_get_value(unsigned gpio) gpio_get_value() argument 158 static inline void gpio_set_value(unsigned gpio, int value) gpio_set_value() argument 164 static inline int gpio_cansleep(unsigned gpio) gpio_cansleep() argument 171 static inline int gpio_get_value_cansleep(unsigned gpio) gpio_get_value_cansleep() argument 178 static inline void gpio_set_value_cansleep(unsigned gpio, int value) gpio_set_value_cansleep() argument 184 static inline int gpio_export(unsigned gpio, bool direction_may_change) gpio_export() argument 192 unsigned gpio) gpio_export_link() 199 static inline int gpio_sysfs_set_active_low(unsigned gpio, int value) gpio_sysfs_set_active_low() argument 206 static inline void gpio_unexport(unsigned gpio) gpio_unexport() argument 212 static inline int gpio_to_irq(unsigned gpio) gpio_to_irq() argument 263 static inline int devm_gpio_request(struct device *dev, unsigned gpio, devm_gpio_request() argument 270 static inline int devm_gpio_request_one(struct device *dev, unsigned gpio, devm_gpio_request_one() argument 277 static inline void devm_gpio_free(struct device *dev, unsigned int gpio) devm_gpio_free() argument 191 gpio_export_link(struct device *dev, const char *name, unsigned gpio) gpio_export_link() argument
|
H A D | gpio-pxa.h | 6 #define gpio_to_bank(gpio) ((gpio) >> 5) 18 int (*gpio_set_wake)(unsigned int gpio, unsigned int on);
|
H A D | ucb1400.h | 29 #include <linux/gpio.h> 125 static inline u16 ucb1400_gpio_get_value(struct snd_ac97 *ac97, u16 gpio) ucb1400_gpio_get_value() argument 127 return ucb1400_reg_read(ac97, UCB_IO_DATA) & (1 << gpio); ucb1400_gpio_get_value() 130 static inline void ucb1400_gpio_set_value(struct snd_ac97 *ac97, u16 gpio, ucb1400_gpio_set_value() argument 134 ucb1400_reg_read(ac97, UCB_IO_DATA) | (1 << gpio) : ucb1400_gpio_set_value() 135 ucb1400_reg_read(ac97, UCB_IO_DATA) & ~(1 << gpio)); ucb1400_gpio_set_value() 138 static inline u16 ucb1400_gpio_get_direction(struct snd_ac97 *ac97, u16 gpio) ucb1400_gpio_get_direction() argument 140 return ucb1400_reg_read(ac97, UCB_IO_DIR) & (1 << gpio); ucb1400_gpio_get_direction() 143 static inline void ucb1400_gpio_set_direction(struct snd_ac97 *ac97, u16 gpio, ucb1400_gpio_set_direction() argument 147 ucb1400_reg_read(ac97, UCB_IO_DIR) | (1 << gpio) : ucb1400_gpio_set_direction() 148 ucb1400_reg_read(ac97, UCB_IO_DIR) & ~(1 << gpio)); ucb1400_gpio_set_direction()
|
/linux-4.1.27/drivers/gpu/drm/gma500/ |
H A D | intel_gmbus.c | 102 static u32 get_reserved(struct intel_gpio *gpio) get_reserved() argument 104 struct drm_psb_private *dev_priv = gpio->dev_priv; get_reserved() 108 reserved = GMBUS_REG_READ(gpio->reg) & get_reserved() 117 struct intel_gpio *gpio = data; get_clock() local 118 struct drm_psb_private *dev_priv = gpio->dev_priv; get_clock() 119 u32 reserved = get_reserved(gpio); get_clock() 120 GMBUS_REG_WRITE(gpio->reg, reserved | GPIO_CLOCK_DIR_MASK); get_clock() 121 GMBUS_REG_WRITE(gpio->reg, reserved); get_clock() 122 return (GMBUS_REG_READ(gpio->reg) & GPIO_CLOCK_VAL_IN) != 0; get_clock() 127 struct intel_gpio *gpio = data; get_data() local 128 struct drm_psb_private *dev_priv = gpio->dev_priv; get_data() 129 u32 reserved = get_reserved(gpio); get_data() 130 GMBUS_REG_WRITE(gpio->reg, reserved | GPIO_DATA_DIR_MASK); get_data() 131 GMBUS_REG_WRITE(gpio->reg, reserved); get_data() 132 return (GMBUS_REG_READ(gpio->reg) & GPIO_DATA_VAL_IN) != 0; get_data() 137 struct intel_gpio *gpio = data; set_clock() local 138 struct drm_psb_private *dev_priv = gpio->dev_priv; set_clock() 139 u32 reserved = get_reserved(gpio); set_clock() 148 GMBUS_REG_WRITE(gpio->reg, reserved | clock_bits); set_clock() 149 GMBUS_REG_READ(gpio->reg); /* Posting */ set_clock() 154 struct intel_gpio *gpio = data; set_data() local 155 struct drm_psb_private *dev_priv = gpio->dev_priv; set_data() 156 u32 reserved = get_reserved(gpio); set_data() 165 GMBUS_REG_WRITE(gpio->reg, reserved | data_bits); set_data() 166 GMBUS_REG_READ(gpio->reg); set_data() 182 struct intel_gpio *gpio; intel_gpio_create() local 187 gpio = kzalloc(sizeof(struct intel_gpio), GFP_KERNEL); intel_gpio_create() 188 if (gpio == NULL) intel_gpio_create() 191 gpio->reg = map_pin_to_reg[pin]; intel_gpio_create() 192 gpio->dev_priv = dev_priv; intel_gpio_create() 194 snprintf(gpio->adapter.name, sizeof(gpio->adapter.name), intel_gpio_create() 196 gpio->adapter.owner = THIS_MODULE; intel_gpio_create() 197 gpio->adapter.algo_data = &gpio->algo; intel_gpio_create() 198 gpio->adapter.dev.parent = &dev_priv->dev->pdev->dev; intel_gpio_create() 199 gpio->algo.setsda = set_data; intel_gpio_create() 200 gpio->algo.setscl = set_clock; intel_gpio_create() 201 gpio->algo.getsda = get_data; intel_gpio_create() 202 gpio->algo.getscl = get_clock; intel_gpio_create() 203 gpio->algo.udelay = I2C_RISEFALL_TIME; intel_gpio_create() 204 gpio->algo.timeout = usecs_to_jiffies(2200); intel_gpio_create() 205 gpio->algo.data = gpio; intel_gpio_create() 207 if (i2c_bit_add_bus(&gpio->adapter)) intel_gpio_create() 210 return &gpio->adapter; intel_gpio_create() 213 kfree(gpio); intel_gpio_create() 223 struct intel_gpio *gpio = container_of(adapter, intel_i2c_quirk_xfer() local 231 set_data(gpio, 1); intel_i2c_quirk_xfer() 232 set_clock(gpio, 1); intel_i2c_quirk_xfer() 237 set_data(gpio, 1); intel_i2c_quirk_xfer() 238 set_clock(gpio, 1); intel_i2c_quirk_xfer()
|
/linux-4.1.27/drivers/net/wireless/ath/ath5k/ |
H A D | gpio.c | 103 * @gpio: GPIO pin to set as input 106 ath5k_hw_set_gpio_input(struct ath5k_hw *ah, u32 gpio) ath5k_hw_set_gpio_input() argument 108 if (gpio >= AR5K_NUM_GPIO) ath5k_hw_set_gpio_input() 112 (ath5k_hw_reg_read(ah, AR5K_GPIOCR) & ~AR5K_GPIOCR_OUT(gpio)) ath5k_hw_set_gpio_input() 113 | AR5K_GPIOCR_IN(gpio), AR5K_GPIOCR); ath5k_hw_set_gpio_input() 121 * @gpio: The GPIO pin to set as output 124 ath5k_hw_set_gpio_output(struct ath5k_hw *ah, u32 gpio) ath5k_hw_set_gpio_output() argument 126 if (gpio >= AR5K_NUM_GPIO) ath5k_hw_set_gpio_output() 130 (ath5k_hw_reg_read(ah, AR5K_GPIOCR) & ~AR5K_GPIOCR_OUT(gpio)) ath5k_hw_set_gpio_output() 131 | AR5K_GPIOCR_OUT(gpio), AR5K_GPIOCR); ath5k_hw_set_gpio_output() 139 * @gpio: The GPIO pin to read 142 ath5k_hw_get_gpio(struct ath5k_hw *ah, u32 gpio) ath5k_hw_get_gpio() argument 144 if (gpio >= AR5K_NUM_GPIO) ath5k_hw_get_gpio() 148 return ((ath5k_hw_reg_read(ah, AR5K_GPIODI) & AR5K_GPIODI_M) >> gpio) & ath5k_hw_get_gpio() 155 * @gpio: The GPIO pin to set 159 ath5k_hw_set_gpio(struct ath5k_hw *ah, u32 gpio, u32 val) ath5k_hw_set_gpio() argument 163 if (gpio >= AR5K_NUM_GPIO) ath5k_hw_set_gpio() 169 data &= ~(1 << gpio); ath5k_hw_set_gpio() 170 data |= (val & 1) << gpio; ath5k_hw_set_gpio() 180 * @gpio: The GPIO pin to use 189 ath5k_hw_set_gpio_intr(struct ath5k_hw *ah, unsigned int gpio, ath5k_hw_set_gpio_intr() argument 194 if (gpio >= AR5K_NUM_GPIO) ath5k_hw_set_gpio_intr() 201 ~(AR5K_GPIOCR_INT_SEL(gpio) | AR5K_GPIOCR_INT_SELH | ath5k_hw_set_gpio_intr() 202 AR5K_GPIOCR_INT_ENA | AR5K_GPIOCR_OUT(gpio))) | ath5k_hw_set_gpio_intr() 203 (AR5K_GPIOCR_INT_SEL(gpio) | AR5K_GPIOCR_INT_ENA); ath5k_hw_set_gpio_intr()
|
H A D | rfkill.c | 41 ATH5K_DBG(ah, ATH5K_DEBUG_ANY, "rfkill disable (gpio:%d polarity:%d)\n", ath5k_rfkill_disable() 42 ah->rf_kill.gpio, ah->rf_kill.polarity); ath5k_rfkill_disable() 43 ath5k_hw_set_gpio_output(ah, ah->rf_kill.gpio); ath5k_rfkill_disable() 44 ath5k_hw_set_gpio(ah, ah->rf_kill.gpio, !ah->rf_kill.polarity); ath5k_rfkill_disable() 50 ATH5K_DBG(ah, ATH5K_DEBUG_ANY, "rfkill enable (gpio:%d polarity:%d)\n", ath5k_rfkill_enable() 51 ah->rf_kill.gpio, ah->rf_kill.polarity); ath5k_rfkill_enable() 52 ath5k_hw_set_gpio_output(ah, ah->rf_kill.gpio); ath5k_rfkill_enable() 53 ath5k_hw_set_gpio(ah, ah->rf_kill.gpio, ah->rf_kill.polarity); ath5k_rfkill_enable() 60 ath5k_hw_set_gpio_input(ah, ah->rf_kill.gpio); ath5k_rfkill_set_intr() 61 curval = ath5k_hw_get_gpio(ah, ah->rf_kill.gpio); ath5k_rfkill_set_intr() 62 ath5k_hw_set_gpio_intr(ah, ah->rf_kill.gpio, enable ? ath5k_rfkill_set_intr() 70 /*ath5k_hw_set_gpio_input(ah, ah->rf_kill.gpio);*/ ath5k_is_rfkill_set() 71 return ath5k_hw_get_gpio(ah, ah->rf_kill.gpio) == ath5k_is_rfkill_set() 90 ah->rf_kill.gpio = ah->ah_capabilities.cap_eeprom.ee_rfkill_pin; ath5k_rfkill_hw_start()
|
/linux-4.1.27/drivers/pinctrl/mvebu/ |
H A D | pinctrl-armada-375.c | 40 MPP_FUNCTION(0x0, "gpio", NULL), 46 MPP_FUNCTION(0x0, "gpio", NULL), 52 MPP_FUNCTION(0x0, "gpio", NULL), 60 MPP_FUNCTION(0x0, "gpio", NULL), 68 MPP_FUNCTION(0x0, "gpio", NULL), 74 MPP_FUNCTION(0x0, "gpio", NULL), 81 MPP_FUNCTION(0x0, "gpio", NULL), 87 MPP_FUNCTION(0x0, "gpio", NULL), 94 MPP_FUNCTION(0x0, "gpio", NULL), 100 MPP_FUNCTION(0x0, "gpio", NULL), 105 MPP_FUNCTION(0x0, "gpio", NULL), 111 MPP_FUNCTION(0x0, "gpio", NULL), 117 MPP_FUNCTION(0x0, "gpio", NULL), 122 MPP_FUNCTION(0x0, "gpio", NULL), 129 MPP_FUNCTION(0x0, "gpio", NULL), 133 MPP_FUNCTION(0x0, "gpio", NULL), 137 MPP_FUNCTION(0x0, "gpio", NULL), 140 MPP_FUNCTION(0x0, "gpio", NULL), 143 MPP_FUNCTION(0x0, "gpio", NULL), 146 MPP_FUNCTION(0x0, "gpio", NULL), 149 MPP_FUNCTION(0x0, "gpio", NULL), 152 MPP_FUNCTION(0x0, "gpio", NULL), 155 MPP_FUNCTION(0x0, "gpio", NULL), 158 MPP_FUNCTION(0x0, "gpio", NULL), 161 MPP_FUNCTION(0x0, "gpio", NULL), 169 MPP_FUNCTION(0x0, "gpio", NULL), 177 MPP_FUNCTION(0x0, "gpio", NULL), 185 MPP_FUNCTION(0x0, "gpio", NULL), 193 MPP_FUNCTION(0x0, "gpio", NULL), 199 MPP_FUNCTION(0x0, "gpio", NULL), 206 MPP_FUNCTION(0x0, "gpio", NULL), 212 MPP_FUNCTION(0x0, "gpio", NULL), 217 MPP_FUNCTION(0x0, "gpio", NULL), 223 MPP_FUNCTION(0x0, "gpio", NULL), 228 MPP_FUNCTION(0x0, "gpio", NULL), 233 MPP_FUNCTION(0x0, "gpio", NULL), 239 MPP_FUNCTION(0x0, "gpio", NULL), 243 MPP_FUNCTION(0x0, "gpio", NULL), 248 MPP_FUNCTION(0x0, "gpio", NULL), 252 MPP_FUNCTION(0x0, "gpio", NULL), 256 MPP_FUNCTION(0x0, "gpio", NULL), 260 MPP_FUNCTION(0x0, "gpio", NULL), 264 MPP_FUNCTION(0x0, "gpio", NULL), 269 MPP_FUNCTION(0x0, "gpio", NULL), 274 MPP_FUNCTION(0x0, "gpio", NULL), 277 MPP_FUNCTION(0x0, "gpio", NULL), 283 MPP_FUNCTION(0x0, "gpio", NULL), 289 MPP_FUNCTION(0x0, "gpio", NULL), 296 MPP_FUNCTION(0x0, "gpio", NULL), 302 MPP_FUNCTION(0x0, "gpio", NULL), 308 MPP_FUNCTION(0x0, "gpio", NULL), 315 MPP_FUNCTION(0x0, "gpio", NULL), 321 MPP_FUNCTION(0x0, "gpio", NULL), 328 MPP_FUNCTION(0x0, "gpio", NULL), 335 MPP_FUNCTION(0x0, "gpio", NULL), 341 MPP_FUNCTION(0x0, "gpio", NULL), 346 MPP_FUNCTION(0x0, "gpio", NULL), 351 MPP_FUNCTION(0x0, "gpio", NULL), 356 MPP_FUNCTION(0x0, "gpio", NULL), 359 MPP_FUNCTION(0x0, "gpio", NULL), 362 MPP_FUNCTION(0x0, "gpio", NULL), 367 MPP_FUNCTION(0x0, "gpio", NULL), 374 MPP_FUNCTION(0x0, "gpio", NULL), 379 MPP_FUNCTION(0x0, "gpio", NULL), 384 MPP_FUNCTION(0x0, "gpio", NULL), 388 MPP_FUNCTION(0x0, "gpio", NULL), 391 MPP_FUNCTION(0x0, "gpio", NULL),
|
H A D | pinctrl-armada-xp.c | 56 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 60 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 64 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 68 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 72 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 76 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 80 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 84 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 88 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 92 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 96 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 100 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 104 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 109 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 114 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 119 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 124 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 129 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 134 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 140 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 146 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 152 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 158 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 164 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 170 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 175 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 180 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 184 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 189 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 194 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 199 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 203 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 207 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 211 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 216 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 221 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 226 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 229 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 232 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 235 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 238 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 244 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 251 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 257 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 263 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 270 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 276 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 282 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 289 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), 293 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78260_PLUS), 296 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78260_PLUS), 299 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78260_PLUS), 302 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78260_PLUS), 305 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78260_PLUS), 308 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78260_PLUS), 311 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78260_PLUS), 314 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78260_PLUS), 317 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78260_PLUS), 320 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78260_PLUS), 323 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78260_PLUS), 326 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78260_PLUS), 329 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78260_PLUS), 332 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78260_PLUS), 335 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78260_PLUS), 338 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78260_PLUS), 341 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78260_PLUS), 344 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78260_PLUS),
|
H A D | pinctrl-armada-38x.c | 47 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 50 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 53 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 56 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 59 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 64 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 69 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 74 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 78 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 82 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 86 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 90 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 94 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 101 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 109 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 117 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 123 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 131 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 138 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 144 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 152 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 159 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 166 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 170 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 174 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 181 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 188 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 194 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 201 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 206 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 210 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 214 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 218 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 222 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 226 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 229 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 233 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 237 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 243 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 250 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 257 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 264 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 271 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 276 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 283 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 289 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 293 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 297 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 303 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 311 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 319 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 325 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 330 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 336 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 343 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 350 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 357 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 363 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 367 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS), 374 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS),
|
H A D | pinctrl-armada-39x.c | 45 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 48 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 51 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 54 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 57 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 62 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 67 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 71 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 75 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 79 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 83 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 87 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 91 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 96 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 100 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 105 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 110 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 115 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 120 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 125 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 131 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 137 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 144 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 148 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 152 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 159 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 166 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 172 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 179 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 184 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 188 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 192 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 196 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 200 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 204 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 207 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 211 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 214 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 219 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 225 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 232 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 239 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 247 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 252 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 260 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 265 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 270 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 276 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 281 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 290 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 296 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 303 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 309 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 316 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 324 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 331 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 338 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 344 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 349 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), 356 MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS),
|
H A D | pinctrl-armada-370.c | 40 MPP_FUNCTION(0x0, "gpio", NULL), 46 MPP_FUNCTION(0x0, "gpio", NULL), 50 MPP_FUNCTION(0x0, "gpio", NULL), 54 MPP_FUNCTION(0x0, "gpio", NULL), 63 MPP_FUNCTION(0x0, "gpio", NULL), 74 MPP_FUNCTION(0x0, "gpio", NULL), 86 MPP_FUNCTION(0x0, "gpio", NULL), 92 MPP_FUNCTION(0x0, "gpio", NULL), 100 MPP_FUNCTION(0x0, "gpio", NULL), 107 MPP_FUNCTION(0x0, "gpio", NULL), 114 MPP_FUNCTION(0x0, "gpio", NULL), 121 MPP_FUNCTION(0x0, "gpio", NULL), 128 MPP_FUNCTION(0x0, "gpio", NULL), 137 MPP_FUNCTION(0x0, "gpio", NULL), 140 MPP_FUNCTION(0x0, "gpio", NULL), 164 MPP_FUNCTION(0x0, "gpio", NULL), 169 MPP_FUNCTION(0x0, "gpio", NULL), 174 MPP_FUNCTION(0x0, "gpio", NULL), 179 MPP_FUNCTION(0x0, "gpio", NULL), 184 MPP_FUNCTION(0x0, "gpio", NULL), 188 MPP_FUNCTION(0x0, "gpio", NULL), 193 MPP_FUNCTION(0x0, "gpio", NULL), 198 MPP_FUNCTION(0x0, "gpio", NULL), 202 MPP_FUNCTION(0x0, "gpio", NULL), 205 MPP_FUNCTION(0x0, "gpio", NULL), 225 MPP_FUNCTION(0x0, "gpio", NULL), 234 MPP_FUNCTION(0x0, "gpio", NULL), 239 MPP_FUNCTION(0x0, "gpio", NULL), 268 MPP_FUNCTION(0x0, "gpio", NULL), 275 MPP_FUNCTION(0x0, "gpio", NULL), 282 MPP_FUNCTION(0x0, "gpio", NULL), 289 MPP_FUNCTION(0x0, "gpio", NULL), 295 MPP_FUNCTION(0x0, "gpio", NULL), 301 MPP_FUNCTION(0x0, "gpio", NULL), 312 MPP_FUNCTION(0x0, "gpio", NULL), 319 MPP_FUNCTION(0x0, "gpio", NULL), 327 MPP_FUNCTION(0x0, "gpio", NULL), 334 MPP_FUNCTION(0x0, "gpio", NULL), 347 MPP_FUNCTION(0x0, "gpio", NULL), 359 MPP_FUNCTION(0x0, "gpio", NULL), 367 MPP_FUNCTION(0x0, "gpio", NULL), 371 MPP_FUNCTION(0x0, "gpio", NULL), 375 MPP_FUNCTION(0x0, "gpio", NULL),
|
H A D | pinctrl-kirkwood.c | 51 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(1, 1, 1, 1, 1, 1)), 67 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(1, 1, 1, 1, 1, 1)), 91 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(1, 1, 1, 1, 1, 1)), 100 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(1, 1, 1, 1, 1, 1)), 114 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(1, 1, 1, 1, 1, 1)), 123 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(0, 0, 0, 1, 0, 0)), 129 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(1, 1, 1, 1, 1, 1)), 135 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(1, 1, 1, 1, 1, 1)), 143 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(1, 1, 1, 1, 1, 1)), 150 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(1, 1, 1, 1, 1, 1)), 158 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(1, 1, 1, 1, 1, 0)), 171 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(1, 1, 1, 1, 1, 0)), 180 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(1, 1, 1, 1, 1, 0)), 189 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(1, 1, 1, 1, 1, 0)), 198 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(1, 1, 1, 1, 1, 0)), 207 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(1, 1, 1, 1, 1, 0)), 215 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(1, 1, 1, 1, 1, 0)), 223 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(1, 1, 1, 1, 1, 0)), 231 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(1, 1, 1, 1, 1, 0)), 239 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(1, 1, 1, 1, 1, 0)), 247 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(1, 1, 1, 1, 1, 0)), 254 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(0, 1, 1, 1, 1, 0)), 260 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(0, 1, 1, 1, 1, 0)), 266 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(0, 1, 1, 1, 1, 0)), 277 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(0, 1, 1, 1, 1, 1)), 283 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(0, 1, 1, 1, 1, 1)), 290 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(0, 0, 0, 1, 1, 1)), 296 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(0, 0, 0, 1, 1, 1)), 302 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(0, 0, 0, 1, 1, 1)), 308 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(0, 0, 0, 1, 1, 1)), 314 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(0, 0, 0, 1, 1, 1)), 320 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(0, 0, 0, 1, 1, 1)), 326 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(0, 0, 0, 1, 1, 1)), 332 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(0, 0, 0, 1, 1, 1)), 338 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(0, 0, 0, 1, 1, 1)), 344 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(0, 0, 0, 1, 1, 1)), 349 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(0, 0, 0, 1, 1, 0)), 354 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(0, 0, 0, 1, 1, 0)), 359 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(0, 0, 0, 1, 1, 0)), 364 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V(0, 0, 0, 1, 0, 1)),
|
H A D | pinctrl-orion.c | 81 MPP_VAR_FUNCTION(0x3, "gpio", NULL, V_ALL)), 83 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_ALL), 86 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_ALL), 90 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_ALL), 93 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_ALL), 98 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_ALL), 103 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_ALL), 109 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_ALL), 115 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_ALL), 118 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_ALL), 121 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_ALL), 124 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_ALL), 127 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_ALL), 132 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_ALL), 137 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_ALL), 142 MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_ALL), 149 MPP_VAR_FUNCTION(0x5, "gpio", NULL, V_5182)), 153 MPP_VAR_FUNCTION(0x5, "gpio", NULL, V_5182)), 157 MPP_VAR_FUNCTION(0x5, "gpio", NULL, V_5182)), 161 MPP_VAR_FUNCTION(0x5, "gpio", NULL, V_5182)),
|
/linux-4.1.27/arch/x86/platform/intel-mid/device_libs/ |
H A D | platform_msic_ocd.c | 18 #include <linux/gpio.h> 28 int gpio; msic_ocd_platform_data() local 30 gpio = get_gpio_by_name("ocd_gpio"); msic_ocd_platform_data() 32 if (gpio < 0) msic_ocd_platform_data() 35 msic_ocd_pdata.gpio = gpio; msic_ocd_platform_data()
|
H A D | platform_msic_gpio.c | 18 #include <linux/gpio.h> 29 int gpio = get_gpio_by_name("msic_gpio_base"); msic_gpio_platform_data() local 31 if (gpio < 0) msic_gpio_platform_data() 34 msic_gpio_pdata.gpio_base = gpio; msic_gpio_platform_data() 35 msic_pdata.gpio = &msic_gpio_pdata; msic_gpio_platform_data()
|
H A D | platform_gpio_keys.c | 16 #include <linux/gpio.h> 21 #define DEVICE_NAME "gpio-keys" 56 * Shrink the non-existent buttons, register the gpio button 66 gb[i].gpio = get_gpio_by_name(gb[i].desc); pb_keys_init() 67 pr_debug("info[%2d]: name = %s, gpio = %d\n", i, gb[i].desc, pb_keys_init() 68 gb[i].gpio); pb_keys_init() 69 if (gb[i].gpio < 0) pb_keys_init()
|
/linux-4.1.27/arch/arm/mach-s3c24xx/ |
H A D | setup-sdhci-gpio.c | 1 /* linux/arch/arm/plat-s3c2416/setup-sdhci-gpio.c 8 * Based on mach-s3c64xx/setup-sdhci-gpio.c 20 #include <linux/gpio.h> 22 #include <mach/regs-gpio.h> 23 #include <mach/gpio-samsung.h> 24 #include <plat/gpio-cfg.h>
|
H A D | setup-spi.c | 12 #include <linux/gpio.h> 15 #include <plat/gpio-cfg.h> 18 #include <mach/regs-gpio.h>
|
H A D | setup-i2c.c | 14 #include <linux/gpio.h> 18 #include <plat/gpio-cfg.h> 21 #include <mach/regs-gpio.h> 22 #include <mach/gpio-samsung.h>
|
H A D | mach-smdk2416.c | 25 #include <linux/gpio.h> 38 #include <mach/regs-gpio.h> 41 #include <mach/gpio-samsung.h> 46 #include <plat/gpio-cfg.h> 172 unsigned int gpio; s3c2416_fb_gpio_setup_24bpp() local 174 for (gpio = S3C2410_GPC(1); gpio <= S3C2410_GPC(4); gpio++) { s3c2416_fb_gpio_setup_24bpp() 175 s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2)); s3c2416_fb_gpio_setup_24bpp() 176 s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); s3c2416_fb_gpio_setup_24bpp() 179 for (gpio = S3C2410_GPC(8); gpio <= S3C2410_GPC(15); gpio++) { s3c2416_fb_gpio_setup_24bpp() 180 s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2)); s3c2416_fb_gpio_setup_24bpp() 181 s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); s3c2416_fb_gpio_setup_24bpp() 184 for (gpio = S3C2410_GPD(0); gpio <= S3C2410_GPD(15); gpio++) { s3c2416_fb_gpio_setup_24bpp() 185 s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2)); s3c2416_fb_gpio_setup_24bpp() 186 s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); s3c2416_fb_gpio_setup_24bpp()
|
H A D | setup-ts.c | 14 #include <linux/gpio.h> 18 #include <plat/gpio-cfg.h> 20 #include <mach/gpio-samsung.h> 23 * s3c24xx_ts_cfg_gpio - configure gpio for s3c2410 systems
|
H A D | common-smdk.c | 21 #include <linux/gpio.h> 39 #include <mach/regs-gpio.h> 40 #include <mach/gpio-samsung.h> 44 #include <plat/gpio-cfg.h> 53 .gpio = S3C2410_GPF(4), 60 .gpio = S3C2410_GPF(5), 67 .gpio = S3C2410_GPF(6), 73 .gpio = S3C2410_GPF(7), 186 static const struct gpio smdk_led_gpios[] = {
|
H A D | s3c2440.c | 23 #include <linux/gpio.h> 32 #include <mach/gpio-samsung.h> 39 #include <plat/gpio-core.h> 40 #include <plat/gpio-cfg.h> 41 #include <plat/gpio-cfg-helpers.h>
|
/linux-4.1.27/include/linux/mfd/pcf50633/ |
H A D | gpio.h | 2 * gpio.h -- GPIO driver for NXP PCF50633 42 int pcf50633_gpio_set(struct pcf50633 *pcf, int gpio, u8 val); 43 u8 pcf50633_gpio_get(struct pcf50633 *pcf, int gpio); 45 int pcf50633_gpio_invert_set(struct pcf50633 *, int gpio, int invert); 46 int pcf50633_gpio_invert_get(struct pcf50633 *pcf, int gpio); 49 int gpio, int regulator, int on);
|
/linux-4.1.27/drivers/tty/serial/ |
H A D | serial_mctrl_gpio.c | 20 #include <linux/gpio/consumer.h> 26 struct gpio_desc *gpio[UART_GPIO_MAX]; member in struct:mctrl_gpios 52 if (!IS_ERR_OR_NULL(gpios->gpio[i]) && mctrl_gpio_set() 54 desc_array[count] = gpios->gpio[i]; mctrl_gpio_set() 65 return gpios->gpio[gidx]; mctrl_gpio_to_gpiod() 74 if (gpios->gpio[i] && !mctrl_gpios_desc[i].dir_out) { mctrl_gpio_get() 75 if (gpiod_get_value(gpios->gpio[i])) mctrl_gpio_get() 103 gpios->gpio[i] = mctrl_gpio_init() 108 if (IS_ERR(gpios->gpio[i])) mctrl_gpio_init() 109 return ERR_CAST(gpios->gpio[i]); mctrl_gpio_init() 121 if (!IS_ERR_OR_NULL(gpios->gpio[i])) mctrl_gpio_free() 122 devm_gpiod_put(dev, gpios->gpio[i]); mctrl_gpio_free()
|
/linux-4.1.27/drivers/media/pci/cx25821/ |
H A D | Makefile | 2 cx25821-gpio.o cx25821-medusa-video.o \
|
/linux-4.1.27/drivers/media/pci/solo6x10/ |
H A D | Makefile | 2 solo6x10-tw28.o solo6x10-gpio.o solo6x10-disp.o solo6x10-enc.o \
|
/linux-4.1.27/arch/mips/include/asm/mach-lantiq/ |
H A D | gpio.h | 11 #include <asm-generic/gpio.h>
|
/linux-4.1.27/arch/sh/include/mach-x3proto/mach/ |
H A D | hardware.h | 6 /* arch/sh/boards/mach-x3proto/gpio.c */
|
/linux-4.1.27/drivers/clk/ |
H A D | clk-gpio-gate.c | 15 #include <linux/gpio.h> 16 #include <linux/gpio/consumer.h> 22 * DOC: basic gpio gated clock which can be enabled and disabled 23 * with gpio output 26 * enable - clk_enable and clk_disable are functional & control gpio 68 * @gpio: gpio number to gate this clock 69 * @active_low: true if gpio should be set to 0 to enable clock 73 const char *parent_name, unsigned gpio, bool active_low, clk_register_gpio_gate() 88 err = devm_gpio_request_one(dev, gpio, gpio_flags, name); clk_register_gpio_gate() 90 err = gpio_request_one(gpio, gpio_flags, name); clk_register_gpio_gate() 93 pr_err("%s: %s: Error requesting clock control gpio %u\n", clk_register_gpio_gate() 94 __func__, name, gpio); clk_register_gpio_gate() 115 clk_gpio->gpiod = gpio_to_desc(gpio); clk_register_gpio_gate() 128 gpio_free(gpio); clk_register_gpio_gate() 154 int gpio; of_clk_gpio_gate_delayed_register_get() local 164 gpio = of_get_named_gpio_flags(data->node, "enable-gpios", 0, of_clk_gpio_gate_delayed_register_get() 166 if (gpio < 0) { of_clk_gpio_gate_delayed_register_get() 168 if (gpio != -EPROBE_DEFER) of_clk_gpio_gate_delayed_register_get() 171 return ERR_PTR(gpio); of_clk_gpio_gate_delayed_register_get() 176 clk = clk_register_gpio_gate(NULL, clk_name, parent_name, gpio, of_clk_gpio_gate_delayed_register_get() 190 * of_gpio_gate_clk_setup() - Setup function for gpio controlled clock 207 CLK_OF_DECLARE(gpio_gate_clk, "gpio-gate-clock", of_gpio_gate_clk_setup); 72 clk_register_gpio_gate(struct device *dev, const char *name, const char *parent_name, unsigned gpio, bool active_low, unsigned long flags) clk_register_gpio_gate() argument
|
/linux-4.1.27/arch/mips/bcm63xx/boards/ |
H A D | board_bcm963xx.c | 62 .gpio = 37, 92 .gpio = 2, 97 .gpio = 4, 103 .gpio = 8, 108 .gpio = 9, 113 .gpio = 11, 140 .gpio = 3, 145 .gpio = 5, 150 .gpio = 4, 155 .gpio = 0, 161 .gpio = 1, 181 .gpio = 3, 186 .gpio = 5, 191 .gpio = 4, 196 .gpio = 0, 202 .gpio = 1, 241 .gpio = 2, 246 .gpio = 3, 251 .gpio = 4, 256 .gpio = 0, 263 .gpio = 1, 302 .gpio = 2, 307 .gpio = 3, 312 .gpio = 4, 317 .gpio = 0, 323 .gpio = 1, 356 .gpio = 2, 361 .gpio = 3, 366 .gpio = 4, 371 .gpio = 0, 377 .gpio = 1, 414 .gpio = 2, 419 .gpio = 3, 424 .gpio = 4, 429 .gpio = 0, 435 .gpio = 1, 557 .gpio = 15, 562 .gpio = 22, 567 .gpio = 23, 572 .gpio = 4, 577 .gpio = 5, 609 .gpio = 22, 614 .gpio = 23, 618 .gpio = 5, 624 .gpio = 4, 867 .name = "leds-gpio",
|
/linux-4.1.27/arch/mips/jz4740/ |
H A D | gpio.c | 21 #include <linux/gpio.h> 73 #define GPIO_TO_BIT(gpio) BIT(gpio & 0x1f) 74 #define GPIO_TO_REG(gpio, reg) (gpio_to_jz_gpio_chip(gpio)->base + (reg)) 89 static inline struct jz_gpio_chip *gpio_to_jz_gpio_chip(unsigned int gpio) gpio_to_jz_gpio_chip() argument 91 return &jz4740_gpio_chips[gpio >> 5]; gpio_to_jz_gpio_chip() 105 static inline void jz_gpio_write_bit(unsigned int gpio, unsigned int reg) jz_gpio_write_bit() argument 107 writel(GPIO_TO_BIT(gpio), GPIO_TO_REG(gpio, reg)); jz_gpio_write_bit() 110 int jz_gpio_set_function(int gpio, enum jz_gpio_function function) jz_gpio_set_function() argument 113 jz_gpio_write_bit(gpio, JZ_REG_GPIO_FUNC_CLEAR); jz_gpio_set_function() 114 jz_gpio_write_bit(gpio, JZ_REG_GPIO_SELECT_CLEAR); jz_gpio_set_function() 115 jz_gpio_write_bit(gpio, JZ_REG_GPIO_TRIGGER_CLEAR); jz_gpio_set_function() 117 jz_gpio_write_bit(gpio, JZ_REG_GPIO_FUNC_SET); jz_gpio_set_function() 118 jz_gpio_write_bit(gpio, JZ_REG_GPIO_TRIGGER_CLEAR); jz_gpio_set_function() 121 jz_gpio_write_bit(gpio, JZ_REG_GPIO_SELECT_CLEAR); jz_gpio_set_function() 124 jz_gpio_write_bit(gpio, JZ_REG_GPIO_TRIGGER_SET); jz_gpio_set_function() 126 jz_gpio_write_bit(gpio, JZ_REG_GPIO_SELECT_SET); jz_gpio_set_function() 144 ret = gpio_request(request->gpio, request->name); jz_gpio_bulk_request() 147 jz_gpio_set_function(request->gpio, request->function); jz_gpio_bulk_request() 154 gpio_free(request->gpio); jz_gpio_bulk_request() 155 jz_gpio_set_function(request->gpio, JZ_GPIO_FUNC_NONE); jz_gpio_bulk_request() 167 gpio_free(request->gpio); jz_gpio_bulk_free() 168 jz_gpio_set_function(request->gpio, JZ_GPIO_FUNC_NONE); jz_gpio_bulk_free() 179 jz_gpio_set_function(request->gpio, JZ_GPIO_FUNC_NONE); jz_gpio_bulk_suspend() 180 jz_gpio_write_bit(request->gpio, JZ_REG_GPIO_DIRECTION_CLEAR); jz_gpio_bulk_suspend() 181 jz_gpio_write_bit(request->gpio, JZ_REG_GPIO_PULL_SET); jz_gpio_bulk_suspend() 191 jz_gpio_set_function(request->gpio, request->function); jz_gpio_bulk_resume() 195 void jz_gpio_enable_pullup(unsigned gpio) jz_gpio_enable_pullup() argument 197 jz_gpio_write_bit(gpio, JZ_REG_GPIO_PULL_CLEAR); jz_gpio_enable_pullup() 201 void jz_gpio_disable_pullup(unsigned gpio) jz_gpio_disable_pullup() argument 203 jz_gpio_write_bit(gpio, JZ_REG_GPIO_PULL_SET); jz_gpio_disable_pullup() 207 static int jz_gpio_get_value(struct gpio_chip *chip, unsigned gpio) jz_gpio_get_value() argument 209 return !!(readl(CHIP_TO_REG(chip, JZ_REG_GPIO_PIN)) & BIT(gpio)); jz_gpio_get_value() 212 static void jz_gpio_set_value(struct gpio_chip *chip, unsigned gpio, int value) jz_gpio_set_value() argument 216 writel(BIT(gpio), reg); jz_gpio_set_value() 219 static int jz_gpio_direction_output(struct gpio_chip *chip, unsigned gpio, jz_gpio_direction_output() argument 222 writel(BIT(gpio), CHIP_TO_REG(chip, JZ_REG_GPIO_DIRECTION_SET)); jz_gpio_direction_output() 223 jz_gpio_set_value(chip, gpio, value); jz_gpio_direction_output() 228 static int jz_gpio_direction_input(struct gpio_chip *chip, unsigned gpio) jz_gpio_direction_input() argument 230 writel(BIT(gpio), CHIP_TO_REG(chip, JZ_REG_GPIO_DIRECTION_CLEAR)); jz_gpio_direction_input() 266 int gpio_to_irq(unsigned gpio) gpio_to_irq() argument 268 return JZ4740_IRQ_GPIO(0) + gpio; gpio_to_irq() 331 /* TODO: Check if function is gpio */ jz_gpio_irq_startup()
|
/linux-4.1.27/drivers/acpi/acpica/ |
H A D | rsserial.c | 70 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.gpio.revision_id), 71 AML_OFFSET(gpio.revision_id), 74 {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.gpio.producer_consumer), 75 AML_OFFSET(gpio.flags), 78 {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.gpio.sharable), 79 AML_OFFSET(gpio.int_flags), 82 {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.gpio.wake_capable), 83 AML_OFFSET(gpio.int_flags), 86 {ACPI_RSC_2BITFLAG, ACPI_RS_OFFSET(data.gpio.io_restriction), 87 AML_OFFSET(gpio.int_flags), 90 {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.gpio.triggering), 91 AML_OFFSET(gpio.int_flags), 94 {ACPI_RSC_2BITFLAG, ACPI_RS_OFFSET(data.gpio.polarity), 95 AML_OFFSET(gpio.int_flags), 98 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.gpio.pin_config), 99 AML_OFFSET(gpio.pin_config), 107 {ACPI_RSC_MOVE16, ACPI_RS_OFFSET(data.gpio.drive_strength), 108 AML_OFFSET(gpio.drive_strength), 113 {ACPI_RSC_COUNT_GPIO_PIN, ACPI_RS_OFFSET(data.gpio.pin_table_length), 114 AML_OFFSET(gpio.pin_table_offset), 115 AML_OFFSET(gpio.res_source_offset)}, 117 {ACPI_RSC_MOVE_GPIO_PIN, ACPI_RS_OFFSET(data.gpio.pin_table), 118 AML_OFFSET(gpio.pin_table_offset), 123 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.gpio.resource_source.index), 124 AML_OFFSET(gpio.res_source_index), 128 ACPI_RS_OFFSET(data.gpio.resource_source.string_length), 129 AML_OFFSET(gpio.res_source_offset), 130 AML_OFFSET(gpio.vendor_offset)}, 133 ACPI_RS_OFFSET(data.gpio.resource_source.string_ptr), 134 AML_OFFSET(gpio.res_source_offset), 139 {ACPI_RSC_COUNT_GPIO_VEN, ACPI_RS_OFFSET(data.gpio.vendor_length), 140 AML_OFFSET(gpio.vendor_length), 143 {ACPI_RSC_MOVE_GPIO_RES, ACPI_RS_OFFSET(data.gpio.vendor_data), 144 AML_OFFSET(gpio.vendor_offset),
|
/linux-4.1.27/arch/arm/mach-imx/ |
H A D | mach-pcm037_eet.c | 9 #include <linux/gpio.h> 71 .gpio = 0, 77 .gpio = 1, 83 .gpio = 2, 89 .gpio = 3, 95 .gpio = 32, 101 .gpio = 33, 107 .gpio = 34, 113 .gpio = 35, 119 .gpio = 38, 125 .gpio = 39, 131 .gpio = 50, 137 .gpio = 51, 143 .gpio = 52, 149 .gpio = 53,
|
H A D | mm-imx27.c | 87 /* i.mx27 has the i.mx21 type gpio */ imx27_soc_init() 88 mxc_register_gpio("imx21-gpio", 0, MX27_GPIO1_BASE_ADDR, SZ_256, MX27_INT_GPIO, 0); imx27_soc_init() 89 mxc_register_gpio("imx21-gpio", 1, MX27_GPIO2_BASE_ADDR, SZ_256, MX27_INT_GPIO, 0); imx27_soc_init() 90 mxc_register_gpio("imx21-gpio", 2, MX27_GPIO3_BASE_ADDR, SZ_256, MX27_INT_GPIO, 0); imx27_soc_init() 91 mxc_register_gpio("imx21-gpio", 3, MX27_GPIO4_BASE_ADDR, SZ_256, MX27_INT_GPIO, 0); imx27_soc_init() 92 mxc_register_gpio("imx21-gpio", 4, MX27_GPIO5_BASE_ADDR, SZ_256, MX27_INT_GPIO, 0); imx27_soc_init() 93 mxc_register_gpio("imx21-gpio", 5, MX27_GPIO6_BASE_ADDR, SZ_256, MX27_INT_GPIO, 0); imx27_soc_init()
|
/linux-4.1.27/arch/sh/boards/mach-x3proto/ |
H A D | gpio.c | 2 * arch/sh/boards/mach-x3proto/gpio.c 16 #include <linux/gpio.h> 32 static int x3proto_gpio_direction_input(struct gpio_chip *chip, unsigned gpio) x3proto_gpio_direction_input() argument 39 data |= (1 << gpio); x3proto_gpio_direction_input() 46 static int x3proto_gpio_get(struct gpio_chip *chip, unsigned gpio) x3proto_gpio_get() argument 48 return !!(__raw_readw(KEYDETR) & (1 << gpio)); x3proto_gpio_get() 51 static int x3proto_gpio_to_irq(struct gpio_chip *chip, unsigned gpio) x3proto_gpio_to_irq() argument 55 if (gpio < chip->ngpio) x3proto_gpio_to_irq() 56 virq = irq_create_mapping(x3proto_irq_domain, gpio); x3proto_gpio_to_irq() 80 .label = "x3proto-gpio", 92 "gpio"); x3proto_gpio_irq_map()
|
/linux-4.1.27/arch/mips/ath79/ |
H A D | mach-ap81.c | 14 #include "dev-gpio-buttons.h" 15 #include "dev-leds-gpio.h" 35 .gpio = AP81_GPIO_LED_STATUS, 39 .gpio = AP81_GPIO_LED_AOSS, 43 .gpio = AP81_GPIO_LED_WLAN, 47 .gpio = AP81_GPIO_LED_POWER, 58 .gpio = AP81_GPIO_BTN_SW1, 65 .gpio = AP81_GPIO_BTN_SW4,
|
H A D | mach-pb44.c | 14 #include <linux/i2c-gpio.h> 18 #include "dev-gpio-buttons.h" 19 #include "dev-leds-gpio.h" 42 .name = "i2c-gpio", 63 .gpio = PB44_GPIO_LED_JUMP1, 67 .gpio = PB44_GPIO_LED_JUMP2, 78 .gpio = PB44_GPIO_SW_RESET, 85 .gpio = PB44_GPIO_SW_JUMP,
|
H A D | mach-ubnt-xm.c | 20 #include "dev-gpio-buttons.h" 21 #include "dev-leds-gpio.h" 40 .gpio = UBNT_XM_GPIO_LED_L1, 44 .gpio = UBNT_XM_GPIO_LED_L2, 48 .gpio = UBNT_XM_GPIO_LED_L3, 52 .gpio = UBNT_XM_GPIO_LED_L4, 63 .gpio = UBNT_XM_GPIO_BTN_RESET,
|
H A D | mach-ap121.c | 12 #include "dev-gpio-buttons.h" 13 #include "dev-leds-gpio.h" 32 .gpio = AP121_GPIO_LED_USB, 37 .gpio = AP121_GPIO_LED_WLAN, 48 .gpio = AP121_GPIO_BTN_JUMPSTART, 56 .gpio = AP121_GPIO_BTN_RESET,
|
H A D | gpio.c | 22 #include <linux/gpio.h> 32 static void __ath79_gpio_set_value(unsigned gpio, int value) __ath79_gpio_set_value() argument 37 __raw_writel(1 << gpio, base + AR71XX_GPIO_REG_SET); __ath79_gpio_set_value() 39 __raw_writel(1 << gpio, base + AR71XX_GPIO_REG_CLEAR); __ath79_gpio_set_value() 42 static int __ath79_gpio_get_value(unsigned gpio) __ath79_gpio_get_value() argument 44 return (__raw_readl(ath79_gpio_base + AR71XX_GPIO_REG_IN) >> gpio) & 1; __ath79_gpio_get_value() 214 int gpio_get_value(unsigned gpio) gpio_get_value() argument 216 if (gpio < ath79_gpio_count) gpio_get_value() 217 return __ath79_gpio_get_value(gpio); gpio_get_value() 219 return __gpio_get_value(gpio); gpio_get_value() 223 void gpio_set_value(unsigned gpio, int value) gpio_set_value() argument 225 if (gpio < ath79_gpio_count) gpio_set_value() 226 __ath79_gpio_set_value(gpio, value); gpio_set_value() 228 __gpio_set_value(gpio, value); gpio_set_value() 232 int gpio_to_irq(unsigned gpio) gpio_to_irq() argument
|
H A D | mach-ap136.c | 25 #include "dev-gpio-buttons.h" 26 #include "dev-leds-gpio.h" 52 .gpio = AP136_GPIO_LED_STATUS_GREEN, 57 .gpio = AP136_GPIO_LED_STATUS_RED, 62 .gpio = AP136_GPIO_LED_WPS_GREEN, 67 .gpio = AP136_GPIO_LED_WPS_RED, 72 .gpio = AP136_GPIO_LED_WLAN_2G, 77 .gpio = AP136_GPIO_LED_USB, 88 .gpio = AP136_GPIO_BTN_WPS, 96 .gpio = AP136_GPIO_BTN_RFKILL,
|
H A D | mach-db120.c | 25 #include "dev-gpio-buttons.h" 26 #include "dev-leds-gpio.h" 48 .gpio = DB120_GPIO_LED_STATUS, 53 .gpio = DB120_GPIO_LED_WPS, 58 .gpio = DB120_GPIO_LED_WLAN_5G, 63 .gpio = DB120_GPIO_LED_WLAN_2G, 74 .gpio = DB120_GPIO_BTN_WPS,
|
/linux-4.1.27/arch/mips/bcm47xx/ |
H A D | workarounds.c | 3 #include <linux/gpio.h> 14 pr_err("Failed to request USB power gpio: %d\n", err); bcm47xx_workarounds_netgear_wnr3500l()
|
/linux-4.1.27/arch/mips/include/asm/mach-rc32434/ |
H A D | gpio.h | 17 #include <asm-generic/gpio.h> 25 #define gpio_to_irq(gpio) (8 + 4 * 32 + gpio) 30 * gpiofunc[x]==0 bit = gpio 38 * gpiod[x] read/write gpio pinX status 86 extern void rb532_gpio_set_ilevel(int bit, unsigned gpio); 87 extern void rb532_gpio_set_istat(int bit, unsigned gpio); 88 extern void rb532_gpio_set_func(unsigned gpio);
|
/linux-4.1.27/arch/arm/mach-gemini/ |
H A D | board-wbd111.c | 18 #include <linux/mdio-gpio.h> 31 .gpio = 5, 44 .name = "gpio-keys", 54 .gpio = 1, 58 .gpio = 2, 62 .gpio = 3, 66 .gpio = 5, 76 .name = "leds-gpio",
|
H A D | board-wbd222.c | 18 #include <linux/mdio-gpio.h> 31 .gpio = 5, 44 .name = "gpio-keys", 54 .gpio = 1, 58 .gpio = 2, 62 .gpio = 3, 66 .gpio = 5, 76 .name = "leds-gpio",
|
H A D | board-nas4220b.c | 21 #include <linux/mdio-gpio.h> 38 .gpio = 60, 43 .gpio = 62, 53 .name = "leds-gpio", 63 .gpio = 61, 70 .gpio = 63, 83 .name = "gpio-keys",
|
H A D | Makefile | 7 obj-y := irq.o mm.o time.o devices.o gpio.o idle.o reset.o
|
H A D | gpio.c | 6 * Based on plat-mxc/gpio.c: 20 #include <linux/gpio.h> 60 unsigned int gpio = irq_to_gpio(d->irq); gpio_ack_irq() local 61 void __iomem *base = GPIO_BASE(gpio / 32); gpio_ack_irq() 63 __raw_writel(1 << (gpio % 32), base + GPIO_INT_CLR); gpio_ack_irq() 68 unsigned int gpio = irq_to_gpio(d->irq); gpio_mask_irq() local 69 void __iomem *base = GPIO_BASE(gpio / 32); gpio_mask_irq() 71 _set_gpio_irqenable(base, gpio % 32, 0); gpio_mask_irq() 76 unsigned int gpio = irq_to_gpio(d->irq); gpio_unmask_irq() local 77 void __iomem *base = GPIO_BASE(gpio / 32); gpio_unmask_irq() 79 _set_gpio_irqenable(base, gpio % 32, 1); gpio_unmask_irq() 84 unsigned int gpio = irq_to_gpio(d->irq); gpio_set_irq_type() local 85 unsigned int gpio_mask = 1 << (gpio % 32); gpio_set_irq_type() 86 void __iomem *base = GPIO_BASE(gpio / 32); gpio_set_irq_type()
|
/linux-4.1.27/include/linux/i2c/ |
H A D | max732x.h | 16 unsigned gpio, unsigned ngpio, 19 unsigned gpio, unsigned ngpio,
|
/linux-4.1.27/arch/sh/boards/mach-rsk/ |
H A D | devices-rsk7203.c | 16 #include <linux/gpio.h> 56 .gpio = GPIO_PE10, 61 .gpio = GPIO_PE12, 66 .gpio = GPIO_PC14, 71 .gpio = GPIO_PE11, 82 .name = "leds-gpio", 92 .gpio = GPIO_PB0, 97 .gpio = GPIO_PB1, 102 .gpio = GPIO_PB2, 115 .name = "gpio-keys-polled",
|
/linux-4.1.27/sound/soc/ |
H A D | soc-jack.c | 16 #include <linux/gpio.h> 17 #include <linux/gpio/consumer.h> 247 /* gpio detect */ snd_soc_jack_gpio_detect() 248 static void snd_soc_jack_gpio_detect(struct snd_soc_jack_gpio *gpio) snd_soc_jack_gpio_detect() argument 250 struct snd_soc_jack *jack = gpio->jack; snd_soc_jack_gpio_detect() 254 enable = gpiod_get_value_cansleep(gpio->desc); snd_soc_jack_gpio_detect() 255 if (gpio->invert) snd_soc_jack_gpio_detect() 259 report = gpio->report; snd_soc_jack_gpio_detect() 263 if (gpio->jack_status_check) snd_soc_jack_gpio_detect() 264 report = gpio->jack_status_check(gpio->data); snd_soc_jack_gpio_detect() 266 snd_soc_jack_report(jack, report, gpio->report); snd_soc_jack_gpio_detect() 269 /* irq handler for gpio pin */ gpio_handler() 272 struct snd_soc_jack_gpio *gpio = data; gpio_handler() local 273 struct device *dev = gpio->jack->card->dev; gpio_handler() 275 trace_snd_soc_jack_irq(gpio->name); gpio_handler() 278 pm_wakeup_event(dev, gpio->debounce_time + 50); gpio_handler() 280 queue_delayed_work(system_power_efficient_wq, &gpio->work, gpio_handler() 281 msecs_to_jiffies(gpio->debounce_time)); gpio_handler() 286 /* gpio work */ gpio_work() 289 struct snd_soc_jack_gpio *gpio; gpio_work() local 291 gpio = container_of(work, struct snd_soc_jack_gpio, work.work); gpio_work() 292 snd_soc_jack_gpio_detect(gpio); gpio_work() 300 * @gpios: array of gpio pins 302 * This function will request gpio, set data direction and request irq 303 * for each gpio in the array. 313 "ASoC: No name for gpio at index %d\n", i); snd_soc_jack_add_gpios() 326 "ASoC: Cannot get gpio at index %d: %d", snd_soc_jack_add_gpios() 332 if (!gpio_is_valid(gpios[i].gpio)) { snd_soc_jack_add_gpios() 334 "ASoC: Invalid gpio %d\n", snd_soc_jack_add_gpios() 335 gpios[i].gpio); snd_soc_jack_add_gpios() 340 ret = gpio_request_one(gpios[i].gpio, GPIOF_IN, snd_soc_jack_add_gpios() 345 gpios[i].desc = gpio_to_desc(gpios[i].gpio); snd_soc_jack_add_gpios() 379 gpio_free(gpios[i].gpio); snd_soc_jack_add_gpios() 393 * @gpios: array of gpio pins 395 * This function will request gpio, set data direction and request irq 396 * for each gpio in the array. 416 * @gpios: array of gpio pins 418 * Release gpio and irq resources for gpio pins associated with an ASoC jack.
|
H A D | soc-ac97.c | 22 #include <linux/gpio.h> 165 int gpio; snd_soc_ac97_parse_pinctl() local 196 gpio = of_get_named_gpio(dev->of_node, "ac97-gpios", 0); snd_soc_ac97_parse_pinctl() 197 if (gpio < 0) { snd_soc_ac97_parse_pinctl() 198 dev_err(dev, "Can't find ac97-sync gpio\n"); snd_soc_ac97_parse_pinctl() 199 return gpio; snd_soc_ac97_parse_pinctl() 201 ret = devm_gpio_request(dev, gpio, "AC97 link sync"); snd_soc_ac97_parse_pinctl() 203 dev_err(dev, "Failed requesting ac97-sync gpio\n"); snd_soc_ac97_parse_pinctl() 206 cfg->gpio_sync = gpio; snd_soc_ac97_parse_pinctl() 208 gpio = of_get_named_gpio(dev->of_node, "ac97-gpios", 1); snd_soc_ac97_parse_pinctl() 209 if (gpio < 0) { snd_soc_ac97_parse_pinctl() 210 dev_err(dev, "Can't find ac97-sdata gpio %d\n", gpio); snd_soc_ac97_parse_pinctl() 211 return gpio; snd_soc_ac97_parse_pinctl() 213 ret = devm_gpio_request(dev, gpio, "AC97 link sdata"); snd_soc_ac97_parse_pinctl() 215 dev_err(dev, "Failed requesting ac97-sdata gpio\n"); snd_soc_ac97_parse_pinctl() 218 cfg->gpio_sdata = gpio; snd_soc_ac97_parse_pinctl() 220 gpio = of_get_named_gpio(dev->of_node, "ac97-gpios", 2); snd_soc_ac97_parse_pinctl() 221 if (gpio < 0) { snd_soc_ac97_parse_pinctl() 222 dev_err(dev, "Can't find ac97-reset gpio\n"); snd_soc_ac97_parse_pinctl() 223 return gpio; snd_soc_ac97_parse_pinctl() 225 ret = devm_gpio_request(dev, gpio, "AC97 link reset"); snd_soc_ac97_parse_pinctl() 227 dev_err(dev, "Failed requesting ac97-reset gpio\n"); snd_soc_ac97_parse_pinctl() 230 cfg->gpio_reset = gpio; snd_soc_ac97_parse_pinctl() 257 * the device node of pdev to get pinctrl states and gpio numbers to use.
|
/linux-4.1.27/drivers/pinctrl/berlin/ |
H A D | berlin-bg2.c | 24 BERLIN_PINCTRL_FUNCTION(0x1, "gpio")), 27 BERLIN_PINCTRL_FUNCTION(0x1, "gpio"), 30 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 37 BERLIN_PINCTRL_FUNCTION(0x2, "gpio"), 41 BERLIN_PINCTRL_FUNCTION(0x1, "gpio"), 44 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 55 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 59 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 64 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 71 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 80 BERLIN_PINCTRL_FUNCTION(0x2, "gpio"), 85 BERLIN_PINCTRL_FUNCTION(0x2, "gpio"), 95 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 104 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 108 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 112 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 125 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 132 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 148 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 155 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 165 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 169 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 176 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 184 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 189 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 193 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 196 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 199 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 202 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 205 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"),
|
H A D | berlin-bg2q.c | 25 BERLIN_PINCTRL_FUNCTION(0x2, "gpio")), 28 BERLIN_PINCTRL_FUNCTION(0x2, "gpio")), 30 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 34 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 41 BERLIN_PINCTRL_FUNCTION(0x3, "gpio"), 46 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 55 BERLIN_PINCTRL_FUNCTION(0x2, "gpio")), 59 BERLIN_PINCTRL_FUNCTION(0x2, "gpio"), 63 BERLIN_PINCTRL_FUNCTION(0x1, "gpio")), 66 BERLIN_PINCTRL_FUNCTION(0x1, "gpio"), 69 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 77 BERLIN_PINCTRL_FUNCTION(0x2, "gpio"), 83 BERLIN_PINCTRL_FUNCTION(0x1, "gpio")), 85 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 91 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 97 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 104 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 111 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 118 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 123 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 130 BERLIN_PINCTRL_FUNCTION(0x2, "gpio"), 142 BERLIN_PINCTRL_FUNCTION(0x2, "gpio"), 146 BERLIN_PINCTRL_FUNCTION(0x2, "gpio")), 149 BERLIN_PINCTRL_FUNCTION(0x2, "gpio"), 154 BERLIN_PINCTRL_FUNCTION(0x2, "gpio"), 160 BERLIN_PINCTRL_FUNCTION(0x2, "gpio"), 166 BERLIN_PINCTRL_FUNCTION(0x2, "gpio")), 170 BERLIN_PINCTRL_FUNCTION(0x2, "gpio")), 173 BERLIN_PINCTRL_FUNCTION(0x2, "gpio"), 179 BERLIN_PINCTRL_FUNCTION(0x2, "gpio")), 183 BERLIN_PINCTRL_FUNCTION(0x2, "gpio")), 187 BERLIN_PINCTRL_FUNCTION(0x2, "gpio")), 191 BERLIN_PINCTRL_FUNCTION(0x2, "gpio")), 303 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 307 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 311 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 315 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 319 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 322 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 325 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 328 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 331 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 334 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 337 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 340 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 345 BERLIN_PINCTRL_FUNCTION(0x2, "gpio")), 347 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 352 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 359 BERLIN_PINCTRL_FUNCTION(0x2, "gpio")), 361 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 364 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 367 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"),
|
H A D | berlin-bg2cd.c | 24 BERLIN_PINCTRL_FUNCTION(0x1, "gpio"), 28 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 33 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 40 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 48 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 56 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 65 BERLIN_PINCTRL_FUNCTION(0x1, "gpio")), 69 BERLIN_PINCTRL_FUNCTION(0x2, "gpio")), 72 BERLIN_PINCTRL_FUNCTION(0x1, "gpio")), 74 BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), 79 BERLIN_PINCTRL_FUNCTION(0x1, "gpio")), 82 BERLIN_PINCTRL_FUNCTION(0x1, "gpio")), 85 BERLIN_PINCTRL_FUNCTION(0x1, "gpio")), 92 BERLIN_PINCTRL_FUNCTION(0x1, "gpio")), 95 BERLIN_PINCTRL_FUNCTION(0x1, "gpio")),
|
/linux-4.1.27/drivers/video/fbdev/via/ |
H A D | via-gpio.c | 9 #include <linux/gpio.h> 12 #include <linux/via-gpio.h> 90 struct viafb_gpio *gpio; via_gpio_set() local 94 gpio = cfg->active_gpios[nr]; via_gpio_set() 95 reg = via_read_reg(VIASR, gpio->vg_port_index); via_gpio_set() 96 reg |= 0x40 << gpio->vg_mask_shift; /* output enable */ via_gpio_set() 98 reg |= 0x10 << gpio->vg_mask_shift; via_gpio_set() 100 reg &= ~(0x10 << gpio->vg_mask_shift); via_gpio_set() 101 via_write_reg(VIASR, gpio->vg_port_index, reg); via_gpio_set() 121 struct viafb_gpio *gpio; via_gpio_dir_input() local 125 gpio = cfg->active_gpios[nr]; via_gpio_dir_input() 126 via_write_reg_mask(VIASR, gpio->vg_port_index, 0, via_gpio_dir_input() 127 0x40 << gpio->vg_mask_shift); via_gpio_dir_input() 138 struct viafb_gpio *gpio; via_gpio_get() local 142 gpio = cfg->active_gpios[nr]; via_gpio_get() 143 reg = via_read_reg(VIASR, gpio->vg_port_index); via_gpio_get() 145 return reg & (0x04 << gpio->vg_mask_shift); via_gpio_get() 166 static void viafb_gpio_enable(struct viafb_gpio *gpio) viafb_gpio_enable() argument 168 via_write_reg_mask(VIASR, gpio->vg_port_index, 0x02, 0x02); viafb_gpio_enable() 171 static void viafb_gpio_disable(struct viafb_gpio *gpio) viafb_gpio_disable() argument 173 via_write_reg_mask(VIASR, gpio->vg_port_index, 0, 0x02); viafb_gpio_disable() 199 * Look up a specific gpio and return the number it was assigned. 220 struct viafb_gpio *gpio; viafb_gpio_probe() local 230 for (gpio = viafb_all_gpios; viafb_gpio_probe() 231 gpio < viafb_all_gpios + VIAFB_NUM_GPIOS; gpio++) viafb_gpio_probe() 232 if (gpio->vg_port_index == port_cfg[i].ioport_index) { viafb_gpio_probe() 233 viafb_gpio_config.active_gpios[ngpio] = gpio; viafb_gpio_probe() 235 gpio->vg_name; viafb_gpio_probe() 298 .name = "viafb-gpio",
|
/linux-4.1.27/drivers/gpu/drm/nouveau/nvkm/subdev/volt/ |
H A D | gpio.c | 26 #include <subdev/bios/gpio.h> 27 #include <subdev/gpio.h> 37 struct nvkm_gpio *gpio = nvkm_gpio(volt); nvkm_voltgpio_get() local 43 int ret = gpio->get(gpio, 0, tags[i], 0xff); nvkm_voltgpio_get() 56 struct nvkm_gpio *gpio = nvkm_gpio(volt); nvkm_voltgpio_set() local 61 int ret = gpio->set(gpio, 0, tags[i], 0xff, vid & 1); nvkm_voltgpio_set() 73 struct nvkm_gpio *gpio = nvkm_gpio(volt); nvkm_voltgpio_init() local 77 /* check we have gpio function info for each vid bit. on some nvkm_voltgpio_init() 79 * are valid gpio functions... from traces, nvidia appear to nvkm_voltgpio_init() 85 int ret = gpio->find(gpio, 0, tags[i], 0xff, &func); nvkm_voltgpio_init()
|
/linux-4.1.27/drivers/video/backlight/ |
H A D | gpio_backlight.c | 12 #include <linux/gpio.h> 26 int gpio; member in struct:gpio_backlight 41 gpio_set_value_cansleep(gbl->gpio, gpio_backlight_update_status() 67 gbl->gpio = of_get_gpio_flags(np, 0, &gpio_flags); gpio_backlight_probe_dt() 69 if (!gpio_is_valid(gbl->gpio)) { gpio_backlight_probe_dt() 70 if (gbl->gpio != -EPROBE_DEFER) { gpio_backlight_probe_dt() 74 return gbl->gpio; gpio_backlight_probe_dt() 112 gbl->gpio = pdata->gpio; gpio_backlight_probe() 117 ret = devm_gpio_request_one(gbl->dev, gbl->gpio, GPIOF_DIR_OUT | gpio_backlight_probe() 146 { .compatible = "gpio-backlight" }, 153 .name = "gpio-backlight", 164 MODULE_ALIAS("platform:gpio-backlight");
|
/linux-4.1.27/sound/aoa/fabrics/ |
H A D | layout.c | 606 struct gpio_runtime gpio; member in struct:layout_dev 637 struct gpio_runtime *gpio = snd_kcontrol_chip(kcontrol); \ 638 if (gpio->methods && gpio->methods->get_##n) \ 640 gpio->methods->get_##n(gpio); \ 646 struct gpio_runtime *gpio = snd_kcontrol_chip(kcontrol); \ 647 if (gpio->methods && gpio->methods->set_##n) \ 648 gpio->methods->set_##n(gpio, \ 730 v = ldev->gpio.methods->get_detect(&ldev->gpio, detected_get() 734 v = ldev->gpio.methods->get_detect(&ldev->gpio, detected_get() 793 codec->gpio = &ldev->gpio; check_codec() 839 codec->gpio = NULL; layout_remove_codec() 854 v = ldev->gpio.methods->get_detect(&ldev->gpio, AOA_NOTIFY_HEADPHONE); layout_notify() 858 ldev->gpio.methods->set_speakers(&ldev->gpio, !v); layout_notify() 859 ldev->gpio.methods->set_headphone(&ldev->gpio, v); layout_notify() 860 ldev->gpio.methods->set_lineout(&ldev->gpio, 0); layout_notify() 863 v = ldev->gpio.methods->get_detect(&ldev->gpio, AOA_NOTIFY_LINE_OUT); layout_notify() 867 ldev->gpio.methods->set_speakers(&ldev->gpio, !v); layout_notify() 868 ldev->gpio.methods->set_headphone(&ldev->gpio, 0); layout_notify() 869 ldev->gpio.methods->set_lineout(&ldev->gpio, v); layout_notify() 900 headphones = codec->gpio->methods->get_detect(codec->gpio, layout_attached_codec() 902 lineout = codec->gpio->methods->get_detect(codec->gpio, layout_attached_codec() 905 if (codec->gpio->methods->set_master) { layout_attached_codec() 906 ctl = snd_ctl_new1(&master_ctl, codec->gpio); layout_attached_codec() 913 ldev->gpio.methods->set_speakers(codec->gpio, 1); layout_attached_codec() 914 ctl = snd_ctl_new1(&speakers_ctl, codec->gpio); layout_attached_codec() 920 ldev->gpio.methods->set_headphone(codec->gpio, 1); layout_attached_codec() 921 ctl = snd_ctl_new1(&headphone_ctl, codec->gpio); layout_attached_codec() 925 !ldev->gpio.methods layout_attached_codec() 926 ->set_notify(&ldev->gpio, layout_attached_codec() 942 ldev->gpio.methods->set_lineout(codec->gpio, 1); layout_attached_codec() 943 ctl = snd_ctl_new1(&lineout_ctl, codec->gpio); layout_attached_codec() 950 !ldev->gpio.methods layout_attached_codec() 951 ->set_notify(&ldev->gpio, layout_attached_codec() 1032 ldev->gpio.node = sound->parent; aoa_fabric_layout_probe() 1038 ldev->gpio.methods = ftr_gpio_methods; aoa_fabric_layout_probe() 1043 ldev->gpio.methods = pmf_gpio_methods; aoa_fabric_layout_probe() 1063 ldev->gpio.methods->init(&ldev->gpio); aoa_fabric_layout_probe() 1078 ldev->gpio.methods->exit(&ldev->gpio); aoa_fabric_layout_probe() 1106 ldev->gpio.methods->set_notify(&ldev->gpio, aoa_fabric_layout_remove() 1110 ldev->gpio.methods->set_notify(&ldev->gpio, aoa_fabric_layout_remove() 1115 ldev->gpio.methods->exit(&ldev->gpio); aoa_fabric_layout_remove() 1128 if (ldev->gpio.methods && ldev->gpio.methods->all_amps_off) aoa_fabric_layout_suspend() 1129 ldev->gpio.methods->all_amps_off(&ldev->gpio); aoa_fabric_layout_suspend() 1138 if (ldev->gpio.methods && ldev->gpio.methods->all_amps_restore) aoa_fabric_layout_resume() 1139 ldev->gpio.methods->all_amps_restore(&ldev->gpio); aoa_fabric_layout_resume()
|
/linux-4.1.27/drivers/pinctrl/bcm/ |
H A D | pinctrl-cygnus-gpio.c | 27 #include <linux/gpio.h> 119 * @gpio: GPIO pin 123 unsigned gpio, bool set) cygnus_set_bit() 125 unsigned int offset = CYGNUS_GPIO_REG(gpio, reg); cygnus_set_bit() 126 unsigned int shift = CYGNUS_GPIO_SHIFT(gpio); cygnus_set_bit() 138 unsigned gpio) cygnus_get_bit() 140 unsigned int offset = CYGNUS_GPIO_REG(gpio, reg); cygnus_get_bit() 141 unsigned int shift = CYGNUS_GPIO_SHIFT(gpio); cygnus_get_bit() 183 unsigned gpio = d->hwirq; cygnus_gpio_irq_ack() local 184 unsigned int offset = CYGNUS_GPIO_REG(gpio, cygnus_gpio_irq_ack() 186 unsigned int shift = CYGNUS_GPIO_SHIFT(gpio); cygnus_gpio_irq_ack() 202 unsigned gpio = d->hwirq; cygnus_gpio_irq_set_mask() local 204 cygnus_set_bit(chip, CYGNUS_GPIO_INT_MSK_OFFSET, gpio, unmask); cygnus_gpio_irq_set_mask() 233 unsigned gpio = d->hwirq; cygnus_gpio_irq_set_type() local 267 cygnus_set_bit(chip, CYGNUS_GPIO_IN_TYPE_OFFSET, gpio, cygnus_gpio_irq_set_type() 269 cygnus_set_bit(chip, CYGNUS_GPIO_INT_DE_OFFSET, gpio, dual_edge); cygnus_gpio_irq_set_type() 270 cygnus_set_bit(chip, CYGNUS_GPIO_INT_EDGE_OFFSET, gpio, cygnus_gpio_irq_set_type() 275 "gpio:%u level_triggered:%d dual_edge:%d rising_or_high:%d\n", cygnus_gpio_irq_set_type() 276 gpio, level_triggered, dual_edge, rising_or_high); cygnus_gpio_irq_set_type() 282 .name = "bcm-cygnus-gpio", 295 unsigned gpio = gc->base + offset; cygnus_gpio_request() local 301 return pinctrl_request_gpio(gpio); cygnus_gpio_request() 307 unsigned gpio = gc->base + offset; cygnus_gpio_free() local 312 pinctrl_free_gpio(gpio); cygnus_gpio_free() 315 static int cygnus_gpio_direction_input(struct gpio_chip *gc, unsigned gpio) cygnus_gpio_direction_input() argument 321 cygnus_set_bit(chip, CYGNUS_GPIO_OUT_EN_OFFSET, gpio, false); cygnus_gpio_direction_input() 324 dev_dbg(chip->dev, "gpio:%u set input\n", gpio); cygnus_gpio_direction_input() 329 static int cygnus_gpio_direction_output(struct gpio_chip *gc, unsigned gpio, cygnus_gpio_direction_output() argument 336 cygnus_set_bit(chip, CYGNUS_GPIO_OUT_EN_OFFSET, gpio, true); cygnus_gpio_direction_output() 337 cygnus_set_bit(chip, CYGNUS_GPIO_DATA_OUT_OFFSET, gpio, !!(val)); cygnus_gpio_direction_output() 340 dev_dbg(chip->dev, "gpio:%u set output, value:%d\n", gpio, val); cygnus_gpio_direction_output() 345 static void cygnus_gpio_set(struct gpio_chip *gc, unsigned gpio, int val) cygnus_gpio_set() argument 351 cygnus_set_bit(chip, CYGNUS_GPIO_DATA_OUT_OFFSET, gpio, !!(val)); cygnus_gpio_set() 354 dev_dbg(chip->dev, "gpio:%u set, value:%d\n", gpio, val); cygnus_gpio_set() 357 static int cygnus_gpio_get(struct gpio_chip *gc, unsigned gpio) cygnus_gpio_get() argument 360 unsigned int offset = CYGNUS_GPIO_REG(gpio, cygnus_gpio_get() 362 unsigned int shift = CYGNUS_GPIO_SHIFT(gpio); cygnus_gpio_get() 389 static int cygnus_gpio_set_pull(struct cygnus_gpio *chip, unsigned gpio, cygnus_gpio_set_pull() argument 397 cygnus_set_bit(chip, CYGNUS_GPIO_RES_EN_OFFSET, gpio, false); cygnus_gpio_set_pull() 399 cygnus_set_bit(chip, CYGNUS_GPIO_PAD_RES_OFFSET, gpio, cygnus_gpio_set_pull() 401 cygnus_set_bit(chip, CYGNUS_GPIO_RES_EN_OFFSET, gpio, true); cygnus_gpio_set_pull() 406 dev_dbg(chip->dev, "gpio:%u set pullup:%d\n", gpio, pull_up); cygnus_gpio_set_pull() 411 static void cygnus_gpio_get_pull(struct cygnus_gpio *chip, unsigned gpio, cygnus_gpio_get_pull() argument 417 *disable = !cygnus_get_bit(chip, CYGNUS_GPIO_RES_EN_OFFSET, gpio); cygnus_gpio_get_pull() 418 *pull_up = cygnus_get_bit(chip, CYGNUS_GPIO_PAD_RES_OFFSET, gpio); cygnus_gpio_get_pull() 422 static int cygnus_gpio_set_strength(struct cygnus_gpio *chip, unsigned gpio, cygnus_gpio_set_strength() argument 439 offset = CYGNUS_GPIO_REG(gpio, cygnus_gpio_set_strength() 443 shift = CYGNUS_GPIO_SHIFT(gpio); cygnus_gpio_set_strength() 445 dev_dbg(chip->dev, "gpio:%u set drive strength:%d mA\n", gpio, cygnus_gpio_set_strength() 462 static int cygnus_gpio_get_strength(struct cygnus_gpio *chip, unsigned gpio, cygnus_gpio_get_strength() argument 475 offset = CYGNUS_GPIO_REG(gpio, cygnus_gpio_get_strength() 479 shift = CYGNUS_GPIO_SHIFT(gpio); cygnus_gpio_get_strength() 502 unsigned gpio = cygnus_pin_to_gpio(pin); cygnus_pin_config_get() local 509 cygnus_gpio_get_pull(chip, gpio, &disable, &pull_up); cygnus_pin_config_get() 516 cygnus_gpio_get_pull(chip, gpio, &disable, &pull_up); cygnus_pin_config_get() 523 cygnus_gpio_get_pull(chip, gpio, &disable, &pull_up); cygnus_pin_config_get() 530 ret = cygnus_gpio_get_strength(chip, gpio, &arg); cygnus_pin_config_get() 551 unsigned i, gpio = cygnus_pin_to_gpio(pin); cygnus_pin_config_set() local 560 ret = cygnus_gpio_set_pull(chip, gpio, true, false); cygnus_pin_config_set() 566 ret = cygnus_gpio_set_pull(chip, gpio, false, true); cygnus_pin_config_set() 572 ret = cygnus_gpio_set_pull(chip, gpio, false, false); cygnus_pin_config_set() 578 ret = cygnus_gpio_set_strength(chip, gpio, arg); cygnus_pin_config_set() 741 "gpio-%d", i); cygnus_gpio_register_pinconf() 785 .compatible = "brcm,cygnus-ccm-gpio", 789 .compatible = "brcm,cygnus-asiu-gpio", 793 .compatible = "brcm,cygnus-crmu-gpio", 899 .name = "cygnus-gpio", 122 cygnus_set_bit(struct cygnus_gpio *chip, unsigned int reg, unsigned gpio, bool set) cygnus_set_bit() argument 137 cygnus_get_bit(struct cygnus_gpio *chip, unsigned int reg, unsigned gpio) cygnus_get_bit() argument
|
/linux-4.1.27/drivers/w1/masters/ |
H A D | w1-gpio.c | 2 * w1-gpio - GPIO w1 bus master driver 15 #include <linux/w1-gpio.h> 16 #include <linux/gpio.h> 72 { .compatible = "w1-gpio" }, 82 int gpio; w1_gpio_probe_dt() local 91 gpio = of_get_gpio(np, 0); w1_gpio_probe_dt() 92 if (gpio < 0) { w1_gpio_probe_dt() 93 if (gpio != -EPROBE_DEFER) w1_gpio_probe_dt() 95 "Failed to parse gpio property for data pin (%d)\n", w1_gpio_probe_dt() 96 gpio); w1_gpio_probe_dt() 98 return gpio; w1_gpio_probe_dt() 100 pdata->pin = gpio; w1_gpio_probe_dt() 102 gpio = of_get_gpio(np, 1); w1_gpio_probe_dt() 103 if (gpio == -EPROBE_DEFER) w1_gpio_probe_dt() 104 return gpio; w1_gpio_probe_dt() 105 /* ignore other errors as the pullup gpio is optional */ w1_gpio_probe_dt() 106 pdata->ext_pullup_enable_pin = gpio; w1_gpio_probe_dt() 230 .name = "w1-gpio",
|
/linux-4.1.27/arch/blackfin/include/asm/ |
H A D | gpio.h | 17 #include <mach/gpio.h> 40 * gpio - GPIO Number between 0 and MAX_BLACKFIN_GPIOS 123 void bfin_special_gpio_free(unsigned gpio); 124 int bfin_special_gpio_request(unsigned gpio, const char *label); 134 int bfin_gpio_pm_wakeup_ctrl(unsigned gpio, unsigned ctrl); 169 * gpio - GPIO Number between 0 and MAX_BLACKFIN_GPIOS 178 int bfin_gpio_irq_request(unsigned gpio, const char *label); 179 void bfin_gpio_irq_free(unsigned gpio); 180 void bfin_gpio_irq_prepare(unsigned gpio); 191 #include <asm-generic/gpio.h> /* cansleep wrappers */ 193 static inline int gpio_get_value(unsigned int gpio) gpio_get_value() argument 195 return __gpio_get_value(gpio); gpio_get_value() 198 static inline void gpio_set_value(unsigned int gpio, int value) gpio_set_value() argument 200 __gpio_set_value(gpio, value); gpio_set_value() 203 static inline int gpio_cansleep(unsigned int gpio) gpio_cansleep() argument 205 return __gpio_cansleep(gpio); gpio_cansleep() 208 static inline int gpio_to_irq(unsigned gpio) gpio_to_irq() argument 210 return __gpio_to_irq(gpio); gpio_to_irq()
|
/linux-4.1.27/arch/microblaze/kernel/ |
H A D | heartbeat.c | 47 struct device_node *gpio = NULL; microblaze_setup_heartbeat() local 51 "xlnx,xps-gpio-1.00.a", microblaze_setup_heartbeat() 56 gpio = of_find_compatible_node(NULL, NULL, gpio_list[j]); microblaze_setup_heartbeat() 57 if (gpio) microblaze_setup_heartbeat() 61 if (gpio) { microblaze_setup_heartbeat() 62 base_addr = be32_to_cpup(of_get_property(gpio, "reg", NULL)); microblaze_setup_heartbeat() 67 prop = (int *) of_get_property(gpio, "xlnx,is-bidir", NULL); microblaze_setup_heartbeat()
|
/linux-4.1.27/include/linux/input/ |
H A D | gpio_tilt.h | 22 * @gpios: bitfield of gpio target-states for the value 23 * @axes: array containing the axes settings for the gpio state 28 * and the necessary gpio-state which represent it. 45 * the gpio state for specific tilts 52 * This structure contains gpio-tilt-switch configuration 54 * gpio-tilt input driver. 57 struct gpio *gpios;
|
/linux-4.1.27/drivers/staging/android/ |
H A D | timed_gpio.c | 22 #include <linux/gpio.h> 33 unsigned gpio; member in struct:timed_gpio_data 43 gpio_direction_output(data->gpio, data->active_low ? 1 : 0); gpio_timer_func() 72 gpio_direction_output(data->gpio, data->active_low ? !value : !!value); gpio_enable() 114 ret = gpio_request(cur_gpio->gpio, cur_gpio->name); timed_gpio_probe() 119 gpio_free(cur_gpio->gpio); timed_gpio_probe() 123 gpio_dat->gpio = cur_gpio->gpio; timed_gpio_probe() 126 gpio_direction_output(gpio_dat->gpio, gpio_dat->active_low); timed_gpio_probe() 136 gpio_free(gpio_data[i].gpio); timed_gpio_probe() 150 gpio_free(gpio_data[i].gpio); timed_gpio_remove() 167 MODULE_DESCRIPTION("timed gpio driver");
|
/linux-4.1.27/include/media/ |
H A D | s5k4ecgx.h | 18 * @gpio : GPIO number 19 * @level: indicates active state of the @gpio 22 int gpio; member in struct:s5k4ecgx_gpio
|
/linux-4.1.27/drivers/leds/ |
H A D | leds-lt3593.c | 8 * Based on leds-gpio.c, 24 #include <linux/gpio.h> 30 unsigned gpio; member in struct:lt3593_led_data 51 gpio_set_value_cansleep(led_dat->gpio, 0); lt3593_led_work() 58 gpio_set_value_cansleep(led_dat->gpio, 0); lt3593_led_work() 60 gpio_set_value_cansleep(led_dat->gpio, 1); lt3593_led_work() 64 gpio_set_value_cansleep(led_dat->gpio, 1); lt3593_led_work() 67 gpio_set_value_cansleep(led_dat->gpio, 0); lt3593_led_work() 69 gpio_set_value_cansleep(led_dat->gpio, 1); lt3593_led_work() 90 if (!gpio_is_valid(template->gpio)) { create_lt3593_led() 91 dev_info(parent, "%s: skipping unavailable LT3593 LED at gpio %d (%s)\n", create_lt3593_led() 92 KBUILD_MODNAME, template->gpio, template->name); create_lt3593_led() 98 led_dat->gpio = template->gpio; create_lt3593_led() 108 ret = devm_gpio_request_one(parent, template->gpio, state ? create_lt3593_led() 121 KBUILD_MODNAME, template->name, template->gpio); create_lt3593_led() 128 if (!gpio_is_valid(led->gpio)) delete_lt3593_led()
|
H A D | leds-s3c24xx.c | 17 #include <linux/gpio.h> 22 #include <mach/regs-gpio.h> 23 #include <plat/gpio-cfg.h> 52 gpio_set_value(pd->gpio, state); s3c24xx_led_set() 56 gpio_direction_output(pd->gpio, state); s3c24xx_led_set() 58 gpio_direction_input(pd->gpio); s3c24xx_led_set() 91 ret = devm_gpio_request(&dev->dev, pdata->gpio, "S3C24XX_LED"); s3c24xx_led_probe() 97 s3c_gpio_setpull(pdata->gpio, S3C_GPIO_PULL_NONE); s3c24xx_led_probe() 100 gpio_direction_input(pdata->gpio); s3c24xx_led_probe() 102 gpio_direction_output(pdata->gpio, s3c24xx_led_probe()
|
/linux-4.1.27/drivers/mmc/core/ |
H A D | Makefile | 10 quirks.o slot-gpio.o
|
H A D | slot-gpio.c | 12 #include <linux/gpio.h> 13 #include <linux/gpio/consumer.h> 17 #include <linux/mmc/slot-gpio.h> 21 #include "slot-gpio.h" 92 * mmc_gpio_request_ro - request a gpio for write-protection 94 * @gpio: gpio number requested 101 int mmc_gpio_request_ro(struct mmc_host *host, unsigned int gpio) mmc_gpio_request_ro() argument 106 if (!gpio_is_valid(gpio)) mmc_gpio_request_ro() 109 ret = devm_gpio_request_one(host->parent, gpio, GPIOF_DIR_IN, mmc_gpio_request_ro() 115 ctx->ro_gpio = gpio_to_desc(gpio); mmc_gpio_request_ro() 171 * mmc_gpio_request_cd - request a gpio for card-detection 173 * @gpio: gpio number requested 185 int mmc_gpio_request_cd(struct mmc_host *host, unsigned int gpio, mmc_gpio_request_cd() argument 191 ret = devm_gpio_request_one(host->parent, gpio, GPIOF_DIR_IN, mmc_gpio_request_cd() 202 ret = gpio_set_debounce(gpio, debounce); mmc_gpio_request_cd() 208 ctx->cd_gpio = gpio_to_desc(gpio); mmc_gpio_request_cd() 215 * mmc_gpiod_request_cd - request a gpio descriptor for card-detection 262 * mmc_gpiod_request_ro - request a gpio descriptor for write protection
|
/linux-4.1.27/drivers/gpu/drm/nouveau/nvkm/subdev/bios/ |
H A D | gpio.c | 26 #include <subdev/bios/gpio.h> 63 u8 hdr, cnt, xver; /* use gpio version for xpio entry parsing */ dcb_gpio_entry() 64 u16 gpio; dcb_gpio_entry() local 67 gpio = dcb_gpio_table(bios, ver, &hdr, &cnt, len); dcb_gpio_entry() 69 gpio = dcb_xpio_table(bios, idx, &xver, &hdr, &cnt, len); dcb_gpio_entry() 71 if (gpio && ent < cnt) dcb_gpio_entry() 72 return gpio + hdr + (ent * *len); dcb_gpio_entry() 79 struct dcb_gpio_func *gpio) dcb_gpio_parse() 85 *gpio = (struct dcb_gpio_func) { dcb_gpio_parse() 95 *gpio = (struct dcb_gpio_func) { dcb_gpio_parse() 105 *gpio = (struct dcb_gpio_func) { dcb_gpio_parse() 120 u8 *ver, u8 *len, struct dcb_gpio_func *gpio) dcb_gpio_match() 125 while ((data = dcb_gpio_parse(bios, idx, i++, ver, len, gpio))) { dcb_gpio_match() 126 if ((line == 0xff || line == gpio->line) && dcb_gpio_match() 127 (func == 0xff || func == gpio->func)) dcb_gpio_match() 137 *gpio = (struct dcb_gpio_func) { dcb_gpio_match() 78 dcb_gpio_parse(struct nvkm_bios *bios, int idx, int ent, u8 *ver, u8 *len, struct dcb_gpio_func *gpio) dcb_gpio_parse() argument 119 dcb_gpio_match(struct nvkm_bios *bios, int idx, u8 func, u8 line, u8 *ver, u8 *len, struct dcb_gpio_func *gpio) dcb_gpio_match() argument
|
/linux-4.1.27/arch/mips/boot/dts/include/dt-bindings/gpio/ |
H A D | tegra-gpio.h | 2 * This header provides constants for binding nvidia,tegra*-gpio. 7 * The second cell contains standard flag values specified in gpio.h. 13 #include <dt-bindings/gpio/gpio.h>
|
/linux-4.1.27/arch/mips/include/asm/mach-ar7/ |
H A D | gpio.h | 28 #define gpio_to_irq(gpio) -1 36 int ar7_gpio_enable(unsigned gpio); 37 int ar7_gpio_disable(unsigned gpio); 39 #include <asm-generic/gpio.h>
|
/linux-4.1.27/arch/mips/include/asm/mach-ath25/ |
H A D | gpio.h | 4 #include <asm-generic/gpio.h>
|
/linux-4.1.27/arch/mips/include/asm/mach-bcm47xx/ |
H A D | gpio.h | 4 #include <asm-generic/gpio.h>
|
/linux-4.1.27/arch/mips/lantiq/xway/ |
H A D | vmmc.c | 40 int gpio = of_get_gpio_flags(pdev->dev.of_node, vmmc_probe() local 42 if (gpio_request(gpio, "vmmc-relay")) vmmc_probe() 44 dev_info(&pdev->dev, "requested GPIO %d\n", gpio); vmmc_probe() 45 gpio_direction_output(gpio, vmmc_probe()
|
/linux-4.1.27/arch/powerpc/boot/dts/include/dt-bindings/gpio/ |
H A D | tegra-gpio.h | 2 * This header provides constants for binding nvidia,tegra*-gpio. 7 * The second cell contains standard flag values specified in gpio.h. 13 #include <dt-bindings/gpio/gpio.h>
|
/linux-4.1.27/arch/arm64/boot/dts/include/dt-bindings/gpio/ |
H A D | tegra-gpio.h | 2 * This header provides constants for binding nvidia,tegra*-gpio. 7 * The second cell contains standard flag values specified in gpio.h. 13 #include <dt-bindings/gpio/gpio.h>
|
/linux-4.1.27/arch/metag/boot/dts/include/dt-bindings/gpio/ |
H A D | tegra-gpio.h | 2 * This header provides constants for binding nvidia,tegra*-gpio. 7 * The second cell contains standard flag values specified in gpio.h. 13 #include <dt-bindings/gpio/gpio.h>
|
/linux-4.1.27/arch/arm/mach-tegra/ |
H A D | board-paz00.c | 20 #include <linux/gpio/machine.h> 22 #include <linux/rfkill-gpio.h> 42 GPIO_LOOKUP("tegra-gpio", 25, "reset", 0), 43 GPIO_LOOKUP("tegra-gpio", 85, "shutdown", 0),
|
/linux-4.1.27/arch/arm/boot/dts/include/dt-bindings/gpio/ |
H A D | tegra-gpio.h | 2 * This header provides constants for binding nvidia,tegra*-gpio. 7 * The second cell contains standard flag values specified in gpio.h. 13 #include <dt-bindings/gpio/gpio.h>
|
/linux-4.1.27/include/dt-bindings/gpio/ |
H A D | tegra-gpio.h | 2 * This header provides constants for binding nvidia,tegra*-gpio. 7 * The second cell contains standard flag values specified in gpio.h. 13 #include <dt-bindings/gpio/gpio.h>
|
/linux-4.1.27/drivers/staging/iio/adc/ |
H A D | ad7606.h | 20 * @gpio_convst: number of gpio connected to the CONVST pin 21 * @gpio_reset: gpio connected to the RESET pin, if not used set to -1 22 * @gpio_range: gpio connected to the RANGE pin, if not used set to -1 23 * @gpio_os0: gpio connected to the OS0 pin, if not used set to -1 24 * @gpio_os1: gpio connected to the OS1 pin, if not used set to -1 25 * @gpio_os2: gpio connected to the OS2 pin, if not used set to -1 26 * @gpio_frstdata: gpio connected to the FRSTDAT pin, if not used set to -1 27 * @gpio_stby: gpio connected to the STBY pin, if not used set to -1
|
/linux-4.1.27/arch/x86/platform/geode/ |
H A D | geos.c | 25 #include <linux/gpio.h> 35 .gpio = 3, 51 .name = "gpio-keys-polled", 61 .gpio = 6, 67 .gpio = 25, 73 .gpio = 27, 85 .name = "leds-gpio", 97 /* Setup LED control through leds-gpio driver */ register_geos()
|
/linux-4.1.27/include/linux/spi/ |
H A D | spi_oc_tiny.h | 8 * @gpio_cs_count: number of gpio pins used for chipselect. 9 * @gpio_cs: array of gpio pins used for chipselect.
|
/linux-4.1.27/arch/arm/include/asm/ |
H A D | gpio.h | 8 /* Note: this may rely upon the value of ARCH_NR_GPIOS set in mach/gpio.h */ 9 #include <asm-generic/gpio.h>
|
/linux-4.1.27/arch/arm/mach-davinci/ |
H A D | board-dm644x-evm.c | 15 #include <linux/gpio.h> 302 evm_led_setup(struct i2c_client *client, int gpio, unsigned ngpio, void *c) evm_led_setup() argument 308 leds->gpio = gpio++; evm_led_setup() 315 evm_led_dev = platform_device_alloc("leds-gpio", 0); evm_led_setup() 329 evm_led_teardown(struct i2c_client *client, int gpio, unsigned ngpio, void *c) evm_led_teardown() argument 361 evm_u18_setup(struct i2c_client *client, int gpio, unsigned ngpio, void *c) evm_u18_setup() argument 366 sw_gpio = gpio + 7; evm_u18_setup() 378 gpio_request(gpio + 3, "pll_fs2"); evm_u18_setup() 379 gpio_direction_output(gpio + 3, 0); evm_u18_setup() 381 gpio_request(gpio + 2, "pll_fs1"); evm_u18_setup() 382 gpio_direction_output(gpio + 2, 0); evm_u18_setup() 384 gpio_request(gpio + 1, "pll_sr"); evm_u18_setup() 385 gpio_direction_output(gpio + 1, 0); evm_u18_setup() 391 evm_u18_teardown(struct i2c_client *client, int gpio, unsigned ngpio, void *c) evm_u18_teardown() argument 393 gpio_free(gpio + 1); evm_u18_teardown() 394 gpio_free(gpio + 2); evm_u18_teardown() 395 gpio_free(gpio + 3); evm_u18_teardown() 415 evm_u35_setup(struct i2c_client *client, int gpio, unsigned ngpio, void *c) evm_u35_setup() argument 418 gpio_request(gpio + 0, "nDRV_VBUS"); evm_u35_setup() 419 gpio_direction_output(gpio + 0, 1); evm_u35_setup() 422 gpio_request(gpio + 1, "VDDIMX_EN"); evm_u35_setup() 423 gpio_direction_output(gpio + 1, 1); evm_u35_setup() 426 gpio_request(gpio + 2, "VLYNQ_EN"); evm_u35_setup() 427 gpio_direction_output(gpio + 2, 1); evm_u35_setup() 430 gpio_request(gpio + 3, "nCF_RESET"); evm_u35_setup() 431 gpio_direction_output(gpio + 3, 0); evm_u35_setup() 436 gpio_request(gpio + 5, "WLAN_RESET"); evm_u35_setup() 437 gpio_direction_output(gpio + 5, 1); evm_u35_setup() 440 gpio_request(gpio + 6, "nATA_SEL"); evm_u35_setup() 441 gpio_direction_output(gpio + 6, 0); evm_u35_setup() 444 gpio_request(gpio + 7, "nCF_SEL"); evm_u35_setup() 445 gpio_direction_output(gpio + 7, 1); evm_u35_setup() 451 evm_u35_teardown(struct i2c_client *client, int gpio, unsigned ngpio, void *c) evm_u35_teardown() argument 453 gpio_free(gpio + 7); evm_u35_teardown() 454 gpio_free(gpio + 6); evm_u35_teardown() 455 gpio_free(gpio + 5); evm_u35_teardown() 456 gpio_free(gpio + 3); evm_u35_teardown() 457 gpio_free(gpio + 2); evm_u35_teardown() 458 gpio_free(gpio + 1); evm_u35_teardown() 459 gpio_free(gpio + 0); evm_u35_teardown()
|
/linux-4.1.27/drivers/staging/fbtft/ |
H A D | fb_agm1264k-fl.c | 20 #include <linux/gpio.h> 38 #define EPIN gpio.wr 39 #define RS gpio.dc 40 #define RW gpio.aux[2] 41 #define CS0 gpio.aux[0] 42 #define CS1 gpio.aux[1] 94 if (par->gpio.reset == -1) reset() 99 gpio_set_value(par->gpio.reset, 0); reset() 101 gpio_set_value(par->gpio.reset, 1); reset() 115 "Missing info about 'wr' (aka E) gpio. Aborting.\n"); verify_gpios() 119 if (par->gpio.db[i] < 0) { verify_gpios() 121 "Missing info about 'db[%i]' gpio. Aborting.\n", verify_gpios() 128 "Missing info about 'cs0' gpio. Aborting.\n"); verify_gpios() 133 "Missing info about 'cs1' gpio. Aborting.\n"); verify_gpios() 138 "Missing info about 'rw' gpio. Aborting.\n"); verify_gpios() 146 request_gpios_match(struct fbtft_par *par, const struct fbtft_gpio *gpio) request_gpios_match() argument 149 "%s('%s')\n", __func__, gpio->name); request_gpios_match() 151 if (strcasecmp(gpio->name, "wr") == 0) { request_gpios_match() 153 par->EPIN = gpio->gpio; request_gpios_match() 155 } else if (strcasecmp(gpio->name, "cs0") == 0) { request_gpios_match() 157 par->CS0 = gpio->gpio; request_gpios_match() 159 } else if (strcasecmp(gpio->name, "cs1") == 0) { request_gpios_match() 161 par->CS1 = gpio->gpio; request_gpios_match() 167 else if (strcasecmp(gpio->name, "rw") == 0) { request_gpios_match() 168 par->RW = gpio->gpio; request_gpios_match() 431 gpio_set_value(par->gpio.db[i], data & (1 << i)); write()
|
/linux-4.1.27/include/linux/mfd/ |
H A D | asic3.h | 51 #define ASIC3_TO_GPIO(gpio) (NR_BUILTIN_GPIO + (gpio)) 58 #define ASIC3_GPIO(bank, gpio) \ 59 ((ASIC3_GPIOS_PER_BANK * ASIC3_GPIO_BANK_##bank) + (gpio)) 60 #define ASIC3_GPIO_bit(gpio) (1 << (gpio & 0xf)) 73 #define ASIC3_GPIO_TO_BANK(gpio) ((gpio) >> 4) 74 #define ASIC3_GPIO_TO_BIT(gpio) ((gpio) - \ 75 (ASIC3_GPIOS_PER_BANK * ((gpio) >> 4))) 76 #define ASIC3_GPIO_TO_MASK(gpio) (1 << ASIC3_GPIO_TO_BIT(gpio)) 77 #define ASIC3_GPIO_TO_BASE(gpio) (ASIC3_GPIO_A_BASE + (((gpio) >> 4) * 0x0100)) 101 * Bits 0..6 gpio number 111 #define ASIC3_CONFIG_GPIO(gpio, alt, dir, init) (((gpio) & 0x7f) \ 114 #define ASIC3_CONFIG_GPIO_DEFAULT(gpio, dir, init) \ 115 ASIC3_CONFIG_GPIO((gpio), 0, (dir), (init)) 116 #define ASIC3_CONFIG_GPIO_DEFAULT_OUT(gpio, init) \ 117 ASIC3_CONFIG_GPIO((gpio), 0, 1, (init))
|
/linux-4.1.27/drivers/media/rc/ |
H A D | gpio-ir-recv.c | 17 #include <linux/gpio.h> 24 #include <media/gpio-ir-recv.h> 26 #define GPIO_IR_DRIVER_NAME "gpio-rc-recv" 44 int gpio; gpio_ir_recv_get_devtree_pdata() local 46 gpio = of_get_gpio_flags(np, 0, &flags); gpio_ir_recv_get_devtree_pdata() 47 if (gpio < 0) { gpio_ir_recv_get_devtree_pdata() 48 if (gpio != -EPROBE_DEFER) gpio_ir_recv_get_devtree_pdata() 49 dev_err(dev, "Failed to get gpio flags (%d)\n", gpio); gpio_ir_recv_get_devtree_pdata() 50 return gpio; gpio_ir_recv_get_devtree_pdata() 53 pdata->gpio_nr = gpio; gpio_ir_recv_get_devtree_pdata() 63 { .compatible = "gpio-ir-receiver", }, 157 rc = gpio_request(pdata->gpio_nr, "gpio-ir-recv"); gpio_ir_recv_probe() 175 "gpio-ir-recv-irq", gpio_dev); gpio_ir_recv_probe()
|
/linux-4.1.27/drivers/usb/phy/ |
H A D | phy-gpio-vbus-usb.c | 2 * gpio-vbus.c - simple GPIO VBUS sensing driver for B peripheral devices 13 #include <linux/gpio.h> 105 int gpio, status, vbus; gpio_vbus_work() local 120 gpio = pdata->gpio_pullup; gpio_vbus_work() 132 if (gpio_is_valid(gpio)) gpio_vbus_work() 133 gpio_set_value(gpio, !pdata->gpio_pullup_inverted); gpio_vbus_work() 140 if (gpio_is_valid(gpio)) gpio_vbus_work() 141 gpio_set_value(gpio, pdata->gpio_pullup_inverted); gpio_vbus_work() 183 int gpio; gpio_vbus_set_peripheral() local 188 gpio = pdata->gpio_pullup; gpio_vbus_set_peripheral() 195 if (gpio_is_valid(gpio)) gpio_vbus_set_peripheral() 196 gpio_set_value(gpio, pdata->gpio_pullup_inverted); gpio_vbus_set_peripheral() 251 int err, gpio, irq; gpio_vbus_probe() local 256 gpio = pdata->gpio_vbus; gpio_vbus_probe() 270 gpio_vbus->phy.label = "gpio-vbus"; gpio_vbus_probe() 279 err = devm_gpio_request(&pdev->dev, gpio, "vbus_detect"); gpio_vbus_probe() 281 dev_err(&pdev->dev, "can't request vbus gpio %d, err: %d\n", gpio_vbus_probe() 282 gpio, err); gpio_vbus_probe() 285 gpio_direction_input(gpio); gpio_vbus_probe() 292 irq = gpio_to_irq(gpio); gpio_vbus_probe() 299 gpio = pdata->gpio_pullup; gpio_vbus_probe() 300 if (gpio_is_valid(gpio)) { gpio_vbus_probe() 301 err = devm_gpio_request(&pdev->dev, gpio, "udc_pullup"); gpio_vbus_probe() 304 "can't request pullup gpio %d, err: %d\n", gpio_vbus_probe() 305 gpio, err); gpio_vbus_probe() 308 gpio_direction_output(gpio, pdata->gpio_pullup_inverted); gpio_vbus_probe() 380 MODULE_ALIAS("platform:gpio-vbus"); 384 .name = "gpio-vbus",
|
/linux-4.1.27/include/linux/regulator/ |
H A D | gpio-regulator.h | 2 * gpio-regulator.h 31 * @gpios: bitfield of gpio target-states for the value 34 * and the necessary gpio-state to achieve it. 60 * the gpio state for specific voltages 65 * This structure contains gpio-voltage regulator configuration 67 * gpio-voltage regulator driver. 77 struct gpio *gpios;
|
/linux-4.1.27/drivers/power/ |
H A D | gpio-charger.c | 17 #include <linux/gpio.h> 28 #include <linux/power/gpio-charger.h> 61 val->intval = !!gpio_get_value_cansleep(pdata->gpio); gpio_charger_get_property() 93 pdata->gpio = of_get_gpio_flags(np, 0, &flags); gpio_charger_parse_dt() 94 if (pdata->gpio < 0) { gpio_charger_parse_dt() 95 if (pdata->gpio != -EPROBE_DEFER) gpio_charger_parse_dt() 96 dev_err(dev, "could not get charger gpio\n"); gpio_charger_parse_dt() 97 return ERR_PTR(pdata->gpio); gpio_charger_parse_dt() 147 if (!gpio_is_valid(pdata->gpio)) { gpio_charger_probe() 148 dev_err(&pdev->dev, "Invalid gpio pin\n"); gpio_charger_probe() 161 charger_desc->name = pdata->name ? pdata->name : "gpio-charger"; gpio_charger_probe() 172 ret = gpio_request(pdata->gpio, dev_name(&pdev->dev)); gpio_charger_probe() 174 dev_err(&pdev->dev, "Failed to request gpio pin: %d\n", ret); gpio_charger_probe() 177 ret = gpio_direction_input(pdata->gpio); gpio_charger_probe() 179 dev_err(&pdev->dev, "Failed to set gpio to input: %d\n", ret); gpio_charger_probe() 194 irq = gpio_to_irq(pdata->gpio); gpio_charger_probe() 212 gpio_free(pdata->gpio); gpio_charger_probe() 226 gpio_free(gpio_charger->pdata->gpio); gpio_charger_remove() 260 { .compatible = "gpio-charger" }, 269 .name = "gpio-charger", 280 MODULE_ALIAS("platform:gpio-charger");
|
/linux-4.1.27/drivers/media/pci/bt8xx/ |
H A D | bttv-input.c | 56 u32 gpio,data; ir_handle_key() local 58 /* read gpio value */ ir_handle_key() 59 gpio = bttv_gpio_read(&btv->c); ir_handle_key() 61 if (ir->last_gpio == gpio) ir_handle_key() 63 ir->last_gpio = gpio; ir_handle_key() 67 data = ir_extract_bits(gpio, ir->mask_keycode); ir_handle_key() 68 dprintk("irq gpio=0x%x code=%d | %s%s%s\n", ir_handle_key() 69 gpio, data, ir_handle_key() 71 (gpio & ir->mask_keydown) ? " down" : "", ir_handle_key() 72 (gpio & ir->mask_keyup) ? " up" : ""); ir_handle_key() 74 if ((ir->mask_keydown && (gpio & ir->mask_keydown)) || ir_handle_key() 75 (ir->mask_keyup && !(gpio & ir->mask_keyup))) { ir_handle_key() 90 u32 gpio, data, keyup; ir_enltv_handle_key() local 92 /* read gpio value */ ir_enltv_handle_key() 93 gpio = bttv_gpio_read(&btv->c); ir_enltv_handle_key() 96 data = ir_extract_bits(gpio, ir->mask_keycode); ir_enltv_handle_key() 99 keyup = (gpio & ir->mask_keyup) ? 1 << 31 : 0; ir_enltv_handle_key() 102 dprintk("gpio=0x%x code=%d | %s\n", ir_enltv_handle_key() 103 gpio, data, ir_enltv_handle_key() 104 (gpio & ir->mask_keyup) ? " up" : "up/down"); ir_enltv_handle_key() 113 dprintk("(cnt) gpio=0x%x code=%d | %s\n", ir_enltv_handle_key() 114 gpio, data, ir_enltv_handle_key() 115 (gpio & ir->mask_keyup) ? " up" : "down"); ir_enltv_handle_key() 253 u32 gpio; bttv_rc5_irq() local 257 /* read gpio port */ bttv_rc5_irq() 258 gpio = bttv_gpio_read(&btv->c); bttv_rc5_irq() 273 gap, (gpio & 0x20) ? "mark" : "space"); bttv_rc5_irq() 276 if (!(gpio & 0x20)) bttv_rc5_irq() 299 bttv_gpio_write(&btv->c, gpio & ~(1 << 4)); bttv_rc5_irq() 300 bttv_gpio_write(&btv->c, gpio | (1 << 4)); bttv_rc5_irq() 326 u32 gpio; bttv_ir_stop() local 330 gpio = bttv_gpio_read(&btv->c); bttv_ir_stop() 331 bttv_gpio_write(&btv->c, gpio & ~(1 << 4)); bttv_ir_stop() 528 u32 gpio; bttv_input_init() local 531 gpio = bttv_gpio_read(&btv->c); bttv_input_init() 532 bttv_gpio_write(&btv->c, gpio & ~(1 << 4)); bttv_input_init() 533 bttv_gpio_write(&btv->c, gpio | (1 << 4)); bttv_input_init()
|
/linux-4.1.27/drivers/watchdog/ |
H A D | gpio_wdt.c | 31 int gpio; member in struct:gpio_wdt_priv 46 gpio_set_value_cansleep(priv->gpio, !priv->active_low); gpio_wdt_disable() 50 gpio_direction_input(priv->gpio); gpio_wdt_disable() 56 gpio_direction_output(priv->gpio, priv->state); gpio_wdt_start_impl() 118 gpio_set_value_cansleep(priv->gpio, priv->state); gpio_wdt_hwping() 122 gpio_set_value_cansleep(priv->gpio, !priv->active_low); gpio_wdt_hwping() 124 gpio_set_value_cansleep(priv->gpio, priv->active_low); gpio_wdt_hwping() 176 priv->gpio = of_get_gpio_flags(pdev->dev.of_node, 0, &flags); gpio_wdt_probe() 177 if (!gpio_is_valid(priv->gpio)) gpio_wdt_probe() 178 return priv->gpio; gpio_wdt_probe() 195 ret = devm_gpio_request_one(&pdev->dev, priv->gpio, f, gpio_wdt_probe() 257 { .compatible = "linux,wdt-gpio", }, 264 .name = "gpio-wdt",
|
/linux-4.1.27/arch/arm/mach-orion5x/ |
H A D | ls-chl-setup.c | 18 #include <linux/gpio-fan.h> 22 #include <linux/gpio.h> 92 .gpio = LSCHL_GPIO_LED_ALARM, 96 .gpio = LSCHL_GPIO_LED_INFO, 100 .gpio = LSCHL_GPIO_LED_FUNC, 104 .gpio = LSCHL_GPIO_LED_PWR, 114 .name = "leds-gpio", 166 .gpio = LSCHL_GPIO_KEY_POWER, 172 .gpio = LSCHL_GPIO_KEY_AUTOPOWER, 178 .gpio = LSCHL_GPIO_KEY_FUNC, 190 .name = "gpio-keys", 209 .gpio = LSCHL_GPIO_FAN_LOCK, 241 .name = "gpio-fan",
|
/linux-4.1.27/net/rfkill/ |
H A D | rfkill-gpio.c | 19 #include <linux/gpio.h> 28 #include <linux/gpio/consumer.h> 30 #include <linux/rfkill-gpio.h> 95 struct gpio_desc *gpio; rfkill_gpio_probe() local 115 gpio = devm_gpiod_get(&pdev->dev, "reset"); rfkill_gpio_probe() 116 if (!IS_ERR(gpio)) { rfkill_gpio_probe() 117 ret = gpiod_direction_output(gpio, 0); rfkill_gpio_probe() 120 rfkill->reset_gpio = gpio; rfkill_gpio_probe() 123 gpio = devm_gpiod_get(&pdev->dev, "shutdown"); rfkill_gpio_probe() 124 if (!IS_ERR(gpio)) { rfkill_gpio_probe() 125 ret = gpiod_direction_output(gpio, 0); rfkill_gpio_probe() 128 rfkill->shutdown_gpio = gpio; rfkill_gpio_probe() 193 MODULE_DESCRIPTION("gpio rfkill");
|
/linux-4.1.27/include/linux/pinctrl/ |
H A D | consumer.h | 6 * Based on bits of regulator core, gpio core and clk core 28 extern int pinctrl_request_gpio(unsigned gpio); 29 extern void pinctrl_free_gpio(unsigned gpio); 30 extern int pinctrl_gpio_direction_input(unsigned gpio); 31 extern int pinctrl_gpio_direction_output(unsigned gpio); 64 static inline int pinctrl_request_gpio(unsigned gpio) pinctrl_request_gpio() argument 69 static inline void pinctrl_free_gpio(unsigned gpio) pinctrl_free_gpio() argument 73 static inline int pinctrl_gpio_direction_input(unsigned gpio) pinctrl_gpio_direction_input() argument 78 static inline int pinctrl_gpio_direction_output(unsigned gpio) pinctrl_gpio_direction_output() argument
|
/linux-4.1.27/drivers/net/wireless/rtl818x/rtl8187/ |
H A D | rfkill.c | 25 u8 gpio; rtl8187_is_radio_enabled() local 27 gpio = rtl818x_ioread8(priv, &priv->map->GPIO0); rtl8187_is_radio_enabled() 28 rtl818x_iowrite8(priv, &priv->map->GPIO0, gpio & ~priv->rfkill_mask); rtl8187_is_radio_enabled() 29 gpio = rtl818x_ioread8(priv, &priv->map->GPIO1); rtl8187_is_radio_enabled() 31 return gpio & priv->rfkill_mask; rtl8187_is_radio_enabled()
|