Lines Matching refs:viafb_gpio_config
149 static struct viafb_gpio_cfg viafb_gpio_config = { variable
187 for (i = 0; i < viafb_gpio_config.gpio_chip.ngpio; i += 2) in viafb_gpio_resume()
188 viafb_gpio_enable(viafb_gpio_config.active_gpios[i]); in viafb_gpio_resume()
205 for (i = 0; i < viafb_gpio_config.gpio_chip.ngpio; i++) in viafb_gpio_lookup()
206 if (!strcmp(name, viafb_gpio_config.active_gpios[i]->vg_name)) in viafb_gpio_lookup()
207 return viafb_gpio_config.gpio_chip.base + i; in viafb_gpio_lookup()
233 viafb_gpio_config.active_gpios[ngpio] = gpio; in viafb_gpio_probe()
234 viafb_gpio_config.gpio_names[ngpio] = in viafb_gpio_probe()
239 viafb_gpio_config.gpio_chip.ngpio = ngpio; in viafb_gpio_probe()
240 viafb_gpio_config.gpio_chip.names = viafb_gpio_config.gpio_names; in viafb_gpio_probe()
241 viafb_gpio_config.vdev = vdev; in viafb_gpio_probe()
250 spin_lock_irqsave(&viafb_gpio_config.vdev->reg_lock, flags); in viafb_gpio_probe()
252 viafb_gpio_enable(viafb_gpio_config.active_gpios[i]); 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()
258 ret = gpiochip_add(&viafb_gpio_config.gpio_chip); in viafb_gpio_probe()
261 viafb_gpio_config.gpio_chip.ngpio = 0; in viafb_gpio_probe()
282 if (viafb_gpio_config.gpio_chip.ngpio > 0) { in viafb_gpio_remove()
283 gpiochip_remove(&viafb_gpio_config.gpio_chip); in viafb_gpio_remove()
288 spin_lock_irqsave(&viafb_gpio_config.vdev->reg_lock, flags); in viafb_gpio_remove()
289 for (i = 0; i < viafb_gpio_config.gpio_chip.ngpio; i += 2) in viafb_gpio_remove()
290 viafb_gpio_disable(viafb_gpio_config.active_gpios[i]); in viafb_gpio_remove()
291 viafb_gpio_config.gpio_chip.ngpio = 0; in viafb_gpio_remove()
292 spin_unlock_irqrestore(&viafb_gpio_config.vdev->reg_lock, flags); in viafb_gpio_remove()