Lines Matching refs:port
90 struct vf610_gpio_port *port = in vf610_gpio_get() local
93 return !!(vf610_gpio_readl(port->gpio_base + GPIO_PDIR) & BIT(gpio)); in vf610_gpio_get()
98 struct vf610_gpio_port *port = in vf610_gpio_set() local
103 vf610_gpio_writel(mask, port->gpio_base + GPIO_PSOR); in vf610_gpio_set()
105 vf610_gpio_writel(mask, port->gpio_base + GPIO_PCOR); in vf610_gpio_set()
123 struct vf610_gpio_port *port = irq_get_handler_data(irq); in vf610_gpio_irq_handler() local
130 irq_isfr = vf610_gpio_readl(port->base + PORT_ISFR); in vf610_gpio_irq_handler()
133 vf610_gpio_writel(BIT(pin), port->base + PORT_ISFR); in vf610_gpio_irq_handler()
135 generic_handle_irq(irq_find_mapping(port->gc.irqdomain, pin)); in vf610_gpio_irq_handler()
143 struct vf610_gpio_port *port = irq_data_get_irq_chip_data(d); in vf610_gpio_irq_ack() local
146 vf610_gpio_writel(BIT(gpio), port->base + PORT_ISFR); in vf610_gpio_irq_ack()
151 struct vf610_gpio_port *port = irq_data_get_irq_chip_data(d); in vf610_gpio_irq_set_type() local
174 port->irqc[d->hwirq] = irqc; in vf610_gpio_irq_set_type()
181 struct vf610_gpio_port *port = irq_data_get_irq_chip_data(d); in vf610_gpio_irq_mask() local
182 void __iomem *pcr_base = port->base + PORT_PCR(d->hwirq); in vf610_gpio_irq_mask()
189 struct vf610_gpio_port *port = irq_data_get_irq_chip_data(d); in vf610_gpio_irq_unmask() local
190 void __iomem *pcr_base = port->base + PORT_PCR(d->hwirq); in vf610_gpio_irq_unmask()
192 vf610_gpio_writel(port->irqc[d->hwirq] << PORT_PCR_IRQC_OFFSET, in vf610_gpio_irq_unmask()
198 struct vf610_gpio_port *port = irq_data_get_irq_chip_data(d); in vf610_gpio_irq_set_wake() local
201 enable_irq_wake(port->irq); in vf610_gpio_irq_set_wake()
203 disable_irq_wake(port->irq); in vf610_gpio_irq_set_wake()
221 struct vf610_gpio_port *port; in vf610_gpio_probe() local
226 port = devm_kzalloc(&pdev->dev, sizeof(*port), GFP_KERNEL); in vf610_gpio_probe()
227 if (!port) in vf610_gpio_probe()
231 port->base = devm_ioremap_resource(dev, iores); in vf610_gpio_probe()
232 if (IS_ERR(port->base)) in vf610_gpio_probe()
233 return PTR_ERR(port->base); in vf610_gpio_probe()
236 port->gpio_base = devm_ioremap_resource(dev, iores); in vf610_gpio_probe()
237 if (IS_ERR(port->gpio_base)) in vf610_gpio_probe()
238 return PTR_ERR(port->gpio_base); in vf610_gpio_probe()
240 port->irq = platform_get_irq(pdev, 0); in vf610_gpio_probe()
241 if (port->irq < 0) in vf610_gpio_probe()
242 return port->irq; in vf610_gpio_probe()
244 gc = &port->gc; in vf610_gpio_probe()
263 vf610_gpio_writel(~0, port->base + PORT_ISFR); in vf610_gpio_probe()
272 gpiochip_set_chained_irqchip(gc, &vf610_gpio_irq_chip, port->irq, in vf610_gpio_probe()