Lines Matching defs:gpio
9 #include <linux/gpio/driver.h>
12 #include <linux/via-gpio.h>
88 struct viafb_gpio *gpio;
92 gpio = cfg->active_gpios[nr];
93 reg = via_read_reg(VIASR, gpio->vg_port_index);
94 reg |= 0x40 << gpio->vg_mask_shift; /* output enable */
96 reg |= 0x10 << gpio->vg_mask_shift;
98 reg &= ~(0x10 << gpio->vg_mask_shift);
99 via_write_reg(VIASR, gpio->vg_port_index, reg);
117 struct viafb_gpio *gpio;
121 gpio = cfg->active_gpios[nr];
122 via_write_reg_mask(VIASR, gpio->vg_port_index, 0,
123 0x40 << gpio->vg_mask_shift);
132 struct viafb_gpio *gpio;
136 gpio = cfg->active_gpios[nr];
137 reg = via_read_reg(VIASR, gpio->vg_port_index);
139 return !!(reg & (0x04 << gpio->vg_mask_shift));
160 static void viafb_gpio_enable(struct viafb_gpio *gpio)
162 via_write_reg_mask(VIASR, gpio->vg_port_index, 0x02, 0x02);
165 static void viafb_gpio_disable(struct viafb_gpio *gpio)
167 via_write_reg_mask(VIASR, gpio->vg_port_index, 0, 0x02);
193 * Look up a specific gpio and return the number it was assigned.
214 struct viafb_gpio *gpio;
224 for (gpio = viafb_all_gpios;
225 gpio < viafb_all_gpios + VIAFB_NUM_GPIOS; gpio++)
226 if (gpio->vg_port_index == port_cfg[i].ioport_index) {
227 viafb_gpio_config.active_gpios[ngpio] = gpio;
229 gpio->vg_name;
293 .name = "viafb-gpio",