Lines Matching refs:gpio
9 #include <linux/gpio/driver.h>
10 #include <linux/gpio/machine.h>
14 #include "via-gpio.h"
89 struct viafb_gpio *gpio;
93 gpio = cfg->active_gpios[nr];
94 reg = via_read_reg(VIASR, gpio->vg_port_index);
95 reg |= 0x40 << gpio->vg_mask_shift; /* output enable */
97 reg |= 0x10 << gpio->vg_mask_shift;
99 reg &= ~(0x10 << gpio->vg_mask_shift);
100 via_write_reg(VIASR, gpio->vg_port_index, reg);
118 struct viafb_gpio *gpio;
122 gpio = cfg->active_gpios[nr];
123 via_write_reg_mask(VIASR, gpio->vg_port_index, 0,
124 0x40 << gpio->vg_mask_shift);
133 struct viafb_gpio *gpio;
137 gpio = cfg->active_gpios[nr];
138 reg = via_read_reg(VIASR, gpio->vg_port_index);
140 return !!(reg & (0x04 << gpio->vg_mask_shift));
161 static void viafb_gpio_enable(struct viafb_gpio *gpio)
163 via_write_reg_mask(VIASR, gpio->vg_port_index, 0x02, 0x02);
166 static void viafb_gpio_disable(struct viafb_gpio *gpio)
168 via_write_reg_mask(VIASR, gpio->vg_port_index, 0, 0x02);
196 GPIO_LOOKUP("via-gpio", 2, "VGPIO2", GPIO_ACTIVE_LOW),
197 GPIO_LOOKUP("via-gpio", 3, "VGPIO3", GPIO_ACTIVE_HIGH),
210 struct viafb_gpio *gpio;
220 for (gpio = viafb_all_gpios;
221 gpio < viafb_all_gpios + VIAFB_NUM_GPIOS; gpio++)
222 if (gpio->vg_port_index == port_cfg[i].ioport_index) {
223 viafb_gpio_config.active_gpios[ngpio] = gpio;
225 gpio->vg_name;
248 viafb_gpio_config.gpio_chip.label = "via-gpio";
292 .name = "viafb-gpio",