Lines Matching defs:gpio
11 #include <linux/gpio/driver.h>
20 static int bcma_gpio_get_value(struct gpio_chip *chip, unsigned gpio)
24 return !!bcma_chipco_gpio_in(cc, 1 << gpio);
27 static void bcma_gpio_set_value(struct gpio_chip *chip, unsigned gpio,
32 bcma_chipco_gpio_out(cc, 1 << gpio, value ? 1 << gpio : 0);
35 static int bcma_gpio_direction_input(struct gpio_chip *chip, unsigned gpio)
39 bcma_chipco_gpio_outen(cc, 1 << gpio, 0);
43 static int bcma_gpio_direction_output(struct gpio_chip *chip, unsigned gpio,
48 bcma_chipco_gpio_outen(cc, 1 << gpio, 1 << gpio);
49 bcma_chipco_gpio_out(cc, 1 << gpio, value ? 1 << gpio : 0);
53 static int bcma_gpio_request(struct gpio_chip *chip, unsigned gpio)
57 bcma_chipco_gpio_control(cc, 1 << gpio, 0);
59 bcma_chipco_gpio_pulldown(cc, 1 << gpio, 0);
61 bcma_chipco_gpio_pullup(cc, 1 << gpio, 1 << gpio);
66 static void bcma_gpio_free(struct gpio_chip *chip, unsigned gpio)
71 bcma_chipco_gpio_pullup(cc, 1 << gpio, 0);
80 int gpio = irqd_to_hwirq(d);
81 u32 val = bcma_chipco_gpio_in(cc, BIT(gpio));
83 bcma_chipco_gpio_polarity(cc, BIT(gpio), val);
84 bcma_chipco_gpio_intmask(cc, BIT(gpio), BIT(gpio));
91 int gpio = irqd_to_hwirq(d);
93 bcma_chipco_gpio_intmask(cc, BIT(gpio), 0);
105 struct gpio_chip *gc = &cc->gpio;
110 int gpio;
115 for_each_set_bit(gpio, &irqs, gc->ngpio)
116 generic_handle_irq(irq_find_mapping(gc->irq.domain, gpio));
124 struct gpio_chip *chip = &cc->gpio;
132 err = request_irq(hwirq, bcma_gpio_irq_handler, IRQF_SHARED, "gpio",
173 struct gpio_chip *chip = &cc->gpio;
230 gpiochip_remove(&cc->gpio);