Lines Matching full:g
53 struct ftgpio_gpio *g = gpiochip_get_data(gc); in ftgpio_gpio_ack_irq() local
55 writel(BIT(irqd_to_hwirq(d)), g->base + GPIO_INT_CLR); in ftgpio_gpio_ack_irq()
61 struct ftgpio_gpio *g = gpiochip_get_data(gc); in ftgpio_gpio_mask_irq() local
64 val = readl(g->base + GPIO_INT_EN); in ftgpio_gpio_mask_irq()
66 writel(val, g->base + GPIO_INT_EN); in ftgpio_gpio_mask_irq()
72 struct ftgpio_gpio *g = gpiochip_get_data(gc); in ftgpio_gpio_unmask_irq() local
75 val = readl(g->base + GPIO_INT_EN); in ftgpio_gpio_unmask_irq()
77 writel(val, g->base + GPIO_INT_EN); in ftgpio_gpio_unmask_irq()
83 struct ftgpio_gpio *g = gpiochip_get_data(gc); in ftgpio_gpio_set_irq_type() local
87 reg_type = readl(g->base + GPIO_INT_TYPE); in ftgpio_gpio_set_irq_type()
88 reg_level = readl(g->base + GPIO_INT_LEVEL); in ftgpio_gpio_set_irq_type()
89 reg_both = readl(g->base + GPIO_INT_BOTH_EDGE); in ftgpio_gpio_set_irq_type()
124 writel(reg_type, g->base + GPIO_INT_TYPE); in ftgpio_gpio_set_irq_type()
125 writel(reg_level, g->base + GPIO_INT_LEVEL); in ftgpio_gpio_set_irq_type()
126 writel(reg_both, g->base + GPIO_INT_BOTH_EDGE); in ftgpio_gpio_set_irq_type()
144 struct ftgpio_gpio *g = gpiochip_get_data(gc); in ftgpio_gpio_irq_handler() local
151 stat = readl(g->base + GPIO_INT_STAT_RAW); in ftgpio_gpio_irq_handler()
164 struct ftgpio_gpio *g; in ftgpio_gpio_probe() local
168 g = devm_kzalloc(dev, sizeof(*g), GFP_KERNEL); in ftgpio_gpio_probe()
169 if (!g) in ftgpio_gpio_probe()
172 g->dev = dev; in ftgpio_gpio_probe()
175 g->base = devm_ioremap_resource(dev, res); in ftgpio_gpio_probe()
176 if (IS_ERR(g->base)) in ftgpio_gpio_probe()
177 return PTR_ERR(g->base); in ftgpio_gpio_probe()
183 ret = bgpio_init(&g->gc, dev, 4, in ftgpio_gpio_probe()
184 g->base + GPIO_DATA_IN, in ftgpio_gpio_probe()
185 g->base + GPIO_DATA_SET, in ftgpio_gpio_probe()
186 g->base + GPIO_DATA_CLR, in ftgpio_gpio_probe()
187 g->base + GPIO_DIR, in ftgpio_gpio_probe()
194 g->gc.label = "FTGPIO010"; in ftgpio_gpio_probe()
195 g->gc.base = -1; in ftgpio_gpio_probe()
196 g->gc.parent = dev; in ftgpio_gpio_probe()
197 g->gc.owner = THIS_MODULE; in ftgpio_gpio_probe()
200 ret = devm_gpiochip_add_data(dev, &g->gc, g); in ftgpio_gpio_probe()
205 writel(0x0, g->base + GPIO_INT_EN); in ftgpio_gpio_probe()
206 writel(0x0, g->base + GPIO_INT_MASK); in ftgpio_gpio_probe()
207 writel(~0x0, g->base + GPIO_INT_CLR); in ftgpio_gpio_probe()
209 ret = gpiochip_irqchip_add(&g->gc, &ftgpio_gpio_irqchip, in ftgpio_gpio_probe()
216 gpiochip_set_chained_irqchip(&g->gc, &ftgpio_gpio_irqchip, in ftgpio_gpio_probe()
219 dev_info(dev, "FTGPIO010 @%p registered\n", g->base); in ftgpio_gpio_probe()