Lines Matching refs:data
253 static void apple_gpio_irq_ack(struct irq_data *data)
255 struct apple_gpio_pinctrl *pctl = gpiochip_get_data(irq_data_get_irq_chip_data(data));
256 unsigned int irqgrp = FIELD_GET(REG_GPIOx_GRP, apple_gpio_get_reg(pctl, data->hwirq));
258 writel(BIT(data->hwirq % 32), pctl->base + REG_IRQ(irqgrp, data->hwirq));
279 static void apple_gpio_irq_mask(struct irq_data *data)
281 struct gpio_chip *gc = irq_data_get_irq_chip_data(data);
284 apple_gpio_set_reg(pctl, data->hwirq, REG_GPIOx_MODE,
286 gpiochip_disable_irq(gc, data->hwirq);
289 static void apple_gpio_irq_unmask(struct irq_data *data)
291 struct gpio_chip *gc = irq_data_get_irq_chip_data(data);
293 unsigned int irqtype = apple_gpio_irq_type(irqd_get_trigger_type(data));
295 gpiochip_enable_irq(gc, data->hwirq);
296 apple_gpio_set_reg(pctl, data->hwirq, REG_GPIOx_MODE,
300 static unsigned int apple_gpio_irq_startup(struct irq_data *data)
302 struct gpio_chip *chip = irq_data_get_irq_chip_data(data);
305 apple_gpio_set_reg(pctl, data->hwirq, REG_GPIOx_GRP,
308 apple_gpio_direction_input(chip, data->hwirq);
309 apple_gpio_irq_unmask(data);
314 static int apple_gpio_irq_set_type(struct irq_data *data, unsigned int type)
316 struct apple_gpio_pinctrl *pctl = gpiochip_get_data(irq_data_get_irq_chip_data(data));
322 apple_gpio_set_reg(pctl, data->hwirq, REG_GPIOx_MODE,
326 irq_set_handler_locked(data, handle_level_irq);
328 irq_set_handler_locked(data, handle_edge_irq);