Lines Matching refs:bgc
69 struct bgpio_chip bgc; member
87 to_dwapb_gpio_port(struct bgpio_chip *bgc) in to_dwapb_gpio_port() argument
89 return container_of(bgc, struct dwapb_gpio_port, bgc); in to_dwapb_gpio_port()
94 struct bgpio_chip *bgc = &gpio->ports[0].bgc; in dwapb_read() local
97 return bgc->read_reg(reg_base + offset); in dwapb_read()
103 struct bgpio_chip *bgc = &gpio->ports[0].bgc; in dwapb_write() local
106 bgc->write_reg(reg_base + offset, val); in dwapb_write()
111 struct bgpio_chip *bgc = to_bgpio_chip(gc); in dwapb_gpio_to_irq() local
112 struct dwapb_gpio_port *port = to_dwapb_gpio_port(bgc); in dwapb_gpio_to_irq()
122 if (gpio_get_value(gpio->ports[0].bgc.gc.base + offs)) in dwapb_toggle_trigger()
165 struct bgpio_chip *bgc = &gpio->ports[0].bgc; in dwapb_irq_enable() local
169 spin_lock_irqsave(&bgc->lock, flags); in dwapb_irq_enable()
173 spin_unlock_irqrestore(&bgc->lock, flags); in dwapb_irq_enable()
180 struct bgpio_chip *bgc = &gpio->ports[0].bgc; in dwapb_irq_disable() local
184 spin_lock_irqsave(&bgc->lock, flags); in dwapb_irq_disable()
188 spin_unlock_irqrestore(&bgc->lock, flags); in dwapb_irq_disable()
195 struct bgpio_chip *bgc = &gpio->ports[0].bgc; in dwapb_irq_reqres() local
197 if (gpiochip_lock_as_irq(&bgc->gc, irqd_to_hwirq(d))) { in dwapb_irq_reqres()
209 struct bgpio_chip *bgc = &gpio->ports[0].bgc; in dwapb_irq_relres() local
211 gpiochip_unlock_as_irq(&bgc->gc, irqd_to_hwirq(d)); in dwapb_irq_relres()
218 struct bgpio_chip *bgc = &gpio->ports[0].bgc; in dwapb_irq_set_type() local
226 spin_lock_irqsave(&bgc->lock, flags); in dwapb_irq_set_type()
257 spin_unlock_irqrestore(&bgc->lock, flags); in dwapb_irq_set_type()
265 struct bgpio_chip *bgc = to_bgpio_chip(gc); in dwapb_gpio_set_debounce() local
266 struct dwapb_gpio_port *port = to_dwapb_gpio_port(bgc); in dwapb_gpio_set_debounce()
269 unsigned long mask = bgc->pin2mask(bgc, offset); in dwapb_gpio_set_debounce()
271 spin_lock_irqsave(&bgc->lock, flags); in dwapb_gpio_set_debounce()
279 spin_unlock_irqrestore(&bgc->lock, flags); in dwapb_gpio_set_debounce()
298 struct gpio_chip *gc = &port->bgc.gc; in dwapb_configure_irqs()
372 port->bgc.gc.to_irq = dwapb_gpio_to_irq; in dwapb_configure_irqs()
378 struct gpio_chip *gc = &port->bgc.gc; in dwapb_irq_teardown()
415 err = bgpio_init(&port->bgc, gpio->dev, 4, dat, set, NULL, dirout, in dwapb_gpio_add_port()
424 port->bgc.gc.of_node = pp->node; in dwapb_gpio_add_port()
426 port->bgc.gc.ngpio = pp->ngpio; in dwapb_gpio_add_port()
427 port->bgc.gc.base = pp->gpio_base; in dwapb_gpio_add_port()
431 port->bgc.gc.set_debounce = dwapb_gpio_set_debounce; in dwapb_gpio_add_port()
436 err = gpiochip_add(&port->bgc.gc); in dwapb_gpio_add_port()
452 gpiochip_remove(&gpio->ports[m].bgc.gc); in dwapb_gpio_unregister()
594 struct bgpio_chip *bgc = &gpio->ports[0].bgc; in dwapb_gpio_suspend() local
598 spin_lock_irqsave(&bgc->lock, flags); in dwapb_gpio_suspend()
627 spin_unlock_irqrestore(&bgc->lock, flags); in dwapb_gpio_suspend()
636 struct bgpio_chip *bgc = &gpio->ports[0].bgc; in dwapb_gpio_resume() local
640 spin_lock_irqsave(&bgc->lock, flags); in dwapb_gpio_resume()
669 spin_unlock_irqrestore(&bgc->lock, flags); in dwapb_gpio_resume()