Lines Matching refs:gpio

11 #include <linux/gpio/driver.h>
22 static int bcma_gpio_get_value(struct gpio_chip *chip, unsigned gpio)
26 return !!bcma_chipco_gpio_in(cc, 1 << gpio);
29 static void bcma_gpio_set_value(struct gpio_chip *chip, unsigned gpio,
34 bcma_chipco_gpio_out(cc, 1 << gpio, value ? 1 << gpio : 0);
37 static int bcma_gpio_direction_input(struct gpio_chip *chip, unsigned gpio)
41 bcma_chipco_gpio_outen(cc, 1 << gpio, 0);
45 static int bcma_gpio_direction_output(struct gpio_chip *chip, unsigned gpio,
50 bcma_chipco_gpio_outen(cc, 1 << gpio, 1 << gpio);
51 bcma_chipco_gpio_out(cc, 1 << gpio, value ? 1 << gpio : 0);
55 static int bcma_gpio_request(struct gpio_chip *chip, unsigned gpio)
59 bcma_chipco_gpio_control(cc, 1 << gpio, 0);
61 bcma_chipco_gpio_pulldown(cc, 1 << gpio, 0);
63 bcma_chipco_gpio_pullup(cc, 1 << gpio, 1 << gpio);
68 static void bcma_gpio_free(struct gpio_chip *chip, unsigned gpio)
73 bcma_chipco_gpio_pullup(cc, 1 << gpio, 0);
82 int gpio = irqd_to_hwirq(d);
83 u32 val = bcma_chipco_gpio_in(cc, BIT(gpio));
85 gpiochip_enable_irq(gc, gpio);
86 bcma_chipco_gpio_polarity(cc, BIT(gpio), val);
87 bcma_chipco_gpio_intmask(cc, BIT(gpio), BIT(gpio));
94 int gpio = irqd_to_hwirq(d);
96 bcma_chipco_gpio_intmask(cc, BIT(gpio), 0);
97 gpiochip_disable_irq(gc, gpio);
111 struct gpio_chip *gc = &cc->gpio;
116 int gpio;
121 for_each_set_bit(gpio, &irqs, gc->ngpio)
122 generic_handle_domain_irq_safe(gc->irq.domain, gpio);
130 struct gpio_chip *chip = &cc->gpio;
138 err = request_irq(hwirq, bcma_gpio_irq_handler, IRQF_SHARED, "gpio",
179 struct gpio_chip *chip = &cc->gpio;
234 gpiochip_remove(&cc->gpio);