Lines Matching refs:port

85 	struct vf610_gpio_port *port = gpiochip_get_data(gc);
89 if (port->sdata && port->sdata->have_paddr) {
90 mask &= vf610_gpio_readl(port->gpio_base + GPIO_PDDR);
95 return !!(vf610_gpio_readl(port->gpio_base + offset) & BIT(gpio));
100 struct vf610_gpio_port *port = gpiochip_get_data(gc);
104 vf610_gpio_writel(mask, port->gpio_base + offset);
109 struct vf610_gpio_port *port = gpiochip_get_data(chip);
113 if (port->sdata && port->sdata->have_paddr) {
114 val = vf610_gpio_readl(port->gpio_base + GPIO_PDDR);
116 vf610_gpio_writel(val, port->gpio_base + GPIO_PDDR);
125 struct vf610_gpio_port *port = gpiochip_get_data(chip);
131 if (port->sdata && port->sdata->have_paddr) {
132 val = vf610_gpio_readl(port->gpio_base + GPIO_PDDR);
134 vf610_gpio_writel(val, port->gpio_base + GPIO_PDDR);
142 struct vf610_gpio_port *port =
150 irq_isfr = vf610_gpio_readl(port->base + PORT_ISFR);
153 vf610_gpio_writel(BIT(pin), port->base + PORT_ISFR);
155 generic_handle_domain_irq(port->gc.irq.domain, pin);
163 struct vf610_gpio_port *port =
167 vf610_gpio_writel(BIT(gpio), port->base + PORT_ISFR);
172 struct vf610_gpio_port *port =
196 port->irqc[d->hwirq] = irqc;
209 struct vf610_gpio_port *port = gpiochip_get_data(gc);
211 void __iomem *pcr_base = port->base + PORT_PCR(gpio_num);
220 struct vf610_gpio_port *port = gpiochip_get_data(gc);
222 void __iomem *pcr_base = port->base + PORT_PCR(gpio_num);
225 vf610_gpio_writel(port->irqc[gpio_num] << PORT_PCR_IRQC_OFFSET,
231 struct vf610_gpio_port *port =
235 enable_irq_wake(port->irq);
237 disable_irq_wake(port->irq);
262 struct vf610_gpio_port *port;
268 port = devm_kzalloc(dev, sizeof(*port), GFP_KERNEL);
269 if (!port)
272 port->sdata = of_device_get_match_data(dev);
273 port->base = devm_platform_ioremap_resource(pdev, 0);
274 if (IS_ERR(port->base))
275 return PTR_ERR(port->base);
277 port->gpio_base = devm_platform_ioremap_resource(pdev, 1);
278 if (IS_ERR(port->gpio_base))
279 return PTR_ERR(port->gpio_base);
281 port->irq = platform_get_irq(pdev, 0);
282 if (port->irq < 0)
283 return port->irq;
285 port->clk_port = devm_clk_get(dev, "port");
286 ret = PTR_ERR_OR_ZERO(port->clk_port);
288 ret = clk_prepare_enable(port->clk_port);
292 port->clk_port);
303 port->clk_gpio = devm_clk_get(dev, "gpio");
304 ret = PTR_ERR_OR_ZERO(port->clk_gpio);
306 ret = clk_prepare_enable(port->clk_gpio);
310 port->clk_gpio);
317 gc = &port->gc;
332 vf610_gpio_writel(0, port->base + PORT_PCR(i));
335 vf610_gpio_writel(~0, port->base + PORT_ISFR);
346 girq->parents[0] = port->irq;
350 return devm_gpiochip_add_data(dev, gc, port);