Lines Matching +full:reg +full:- +full:names
11 #include <linux/via-core.h>
12 #include <linux/via-gpio.h>
16 * The ports we know about. Note that the port-25 gpios are not
29 .vg_name = "VGPIO0", /* Guess - not in datasheet */
89 u8 reg; in via_gpio_set() local
93 spin_lock_irqsave(&cfg->vdev->reg_lock, flags); in via_gpio_set()
94 gpio = cfg->active_gpios[nr]; in via_gpio_set()
95 reg = via_read_reg(VIASR, gpio->vg_port_index); in via_gpio_set()
96 reg |= 0x40 << gpio->vg_mask_shift; /* output enable */ in via_gpio_set()
98 reg |= 0x10 << gpio->vg_mask_shift; in via_gpio_set()
100 reg &= ~(0x10 << gpio->vg_mask_shift); in via_gpio_set()
101 via_write_reg(VIASR, gpio->vg_port_index, reg); in via_gpio_set()
102 spin_unlock_irqrestore(&cfg->vdev->reg_lock, flags); in via_gpio_set()
124 spin_lock_irqsave(&cfg->vdev->reg_lock, flags); in via_gpio_dir_input()
125 gpio = cfg->active_gpios[nr]; in via_gpio_dir_input()
126 via_write_reg_mask(VIASR, gpio->vg_port_index, 0, in via_gpio_dir_input()
127 0x40 << gpio->vg_mask_shift); in via_gpio_dir_input()
128 spin_unlock_irqrestore(&cfg->vdev->reg_lock, flags); in via_gpio_dir_input()
137 u8 reg; in via_gpio_get() local
141 spin_lock_irqsave(&cfg->vdev->reg_lock, flags); in via_gpio_get()
142 gpio = cfg->active_gpios[nr]; in via_gpio_get()
143 reg = via_read_reg(VIASR, gpio->vg_port_index); in via_gpio_get()
144 spin_unlock_irqrestore(&cfg->vdev->reg_lock, flags); in via_gpio_get()
145 return reg & (0x04 << gpio->vg_mask_shift); in via_gpio_get()
157 .base = -1,
168 via_write_reg_mask(VIASR, gpio->vg_port_index, 0x02, 0x02); in viafb_gpio_enable()
173 via_write_reg_mask(VIASR, gpio->vg_port_index, 0, 0x02); in viafb_gpio_disable()
206 if (!strcmp(name, viafb_gpio_config.active_gpios[i]->vg_name)) in viafb_gpio_lookup()
208 return -1; in viafb_gpio_lookup()
217 struct viafb_dev *vdev = platdev->dev.platform_data; in viafb_gpio_probe()
218 struct via_port_cfg *port_cfg = vdev->port_cfg; in viafb_gpio_probe()
232 if (gpio->vg_port_index == port_cfg[i].ioport_index) { in viafb_gpio_probe()
235 gpio->vg_name; in viafb_gpio_probe()
240 viafb_gpio_config.gpio_chip.names = viafb_gpio_config.gpio_names; in viafb_gpio_probe()
250 spin_lock_irqsave(&viafb_gpio_config.vdev->reg_lock, flags); in viafb_gpio_probe()
253 spin_unlock_irqrestore(&viafb_gpio_config.vdev->reg_lock, flags); in viafb_gpio_probe()
257 viafb_gpio_config.gpio_chip.base = -1; /* Dynamic */ in viafb_gpio_probe()
292 spin_lock_irqsave(&viafb_gpio_config.vdev->reg_lock, flags); in viafb_gpio_remove()
296 spin_unlock_irqrestore(&viafb_gpio_config.vdev->reg_lock, flags); in viafb_gpio_remove()
302 .name = "viafb-gpio",