Lines Matching refs:viafb_gpio_config
143 static struct viafb_gpio_cfg viafb_gpio_config = { variable
181 for (i = 0; i < viafb_gpio_config.gpio_chip.ngpio; i += 2) in viafb_gpio_resume()
182 viafb_gpio_enable(viafb_gpio_config.active_gpios[i]); in viafb_gpio_resume()
199 for (i = 0; i < viafb_gpio_config.gpio_chip.ngpio; i++) in viafb_gpio_lookup()
200 if (!strcmp(name, viafb_gpio_config.active_gpios[i]->vg_name)) in viafb_gpio_lookup()
201 return viafb_gpio_config.gpio_chip.base + i; in viafb_gpio_lookup()
227 viafb_gpio_config.active_gpios[ngpio] = gpio; in viafb_gpio_probe()
228 viafb_gpio_config.gpio_names[ngpio] = in viafb_gpio_probe()
233 viafb_gpio_config.gpio_chip.ngpio = ngpio; in viafb_gpio_probe()
234 viafb_gpio_config.gpio_chip.names = viafb_gpio_config.gpio_names; in viafb_gpio_probe()
235 viafb_gpio_config.vdev = vdev; in viafb_gpio_probe()
244 spin_lock_irqsave(&viafb_gpio_config.vdev->reg_lock, flags); in viafb_gpio_probe()
246 viafb_gpio_enable(viafb_gpio_config.active_gpios[i]); in viafb_gpio_probe()
247 spin_unlock_irqrestore(&viafb_gpio_config.vdev->reg_lock, flags); in viafb_gpio_probe()
251 viafb_gpio_config.gpio_chip.base = -1; /* Dynamic */ in viafb_gpio_probe()
252 ret = gpiochip_add_data(&viafb_gpio_config.gpio_chip, in viafb_gpio_probe()
253 &viafb_gpio_config); in viafb_gpio_probe()
256 viafb_gpio_config.gpio_chip.ngpio = 0; in viafb_gpio_probe()
277 if (viafb_gpio_config.gpio_chip.ngpio > 0) { in viafb_gpio_remove()
278 gpiochip_remove(&viafb_gpio_config.gpio_chip); in viafb_gpio_remove()
283 spin_lock_irqsave(&viafb_gpio_config.vdev->reg_lock, flags); in viafb_gpio_remove()
284 for (i = 0; i < viafb_gpio_config.gpio_chip.ngpio; i += 2) in viafb_gpio_remove()
285 viafb_gpio_disable(viafb_gpio_config.active_gpios[i]); in viafb_gpio_remove()
286 viafb_gpio_config.gpio_chip.ngpio = 0; in viafb_gpio_remove()
287 spin_unlock_irqrestore(&viafb_gpio_config.vdev->reg_lock, flags); in viafb_gpio_remove()