Lines Matching refs:irqd
2103 static void ingenic_gpio_irq_mask(struct irq_data *irqd) in ingenic_gpio_irq_mask() argument
2105 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in ingenic_gpio_irq_mask()
2108 ingenic_gpio_set_bit(jzgc, GPIO_MSK, irqd->hwirq, true); in ingenic_gpio_irq_mask()
2111 static void ingenic_gpio_irq_unmask(struct irq_data *irqd) in ingenic_gpio_irq_unmask() argument
2113 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in ingenic_gpio_irq_unmask()
2116 ingenic_gpio_set_bit(jzgc, GPIO_MSK, irqd->hwirq, false); in ingenic_gpio_irq_unmask()
2119 static void ingenic_gpio_irq_enable(struct irq_data *irqd) in ingenic_gpio_irq_enable() argument
2121 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in ingenic_gpio_irq_enable()
2123 int irq = irqd->hwirq; in ingenic_gpio_irq_enable()
2130 ingenic_gpio_irq_unmask(irqd); in ingenic_gpio_irq_enable()
2133 static void ingenic_gpio_irq_disable(struct irq_data *irqd) in ingenic_gpio_irq_disable() argument
2135 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in ingenic_gpio_irq_disable()
2137 int irq = irqd->hwirq; in ingenic_gpio_irq_disable()
2139 ingenic_gpio_irq_mask(irqd); in ingenic_gpio_irq_disable()
2147 static void ingenic_gpio_irq_ack(struct irq_data *irqd) in ingenic_gpio_irq_ack() argument
2149 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in ingenic_gpio_irq_ack()
2151 int irq = irqd->hwirq; in ingenic_gpio_irq_ack()
2154 if (irqd_get_trigger_type(irqd) == IRQ_TYPE_EDGE_BOTH) { in ingenic_gpio_irq_ack()
2172 static int ingenic_gpio_irq_set_type(struct irq_data *irqd, unsigned int type) in ingenic_gpio_irq_set_type() argument
2174 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in ingenic_gpio_irq_set_type()
2181 irq_set_handler_locked(irqd, handle_edge_irq); in ingenic_gpio_irq_set_type()
2185 irq_set_handler_locked(irqd, handle_level_irq); in ingenic_gpio_irq_set_type()
2188 irq_set_handler_locked(irqd, handle_bad_irq); in ingenic_gpio_irq_set_type()
2197 bool high = ingenic_gpio_get_value(jzgc, irqd->hwirq); in ingenic_gpio_irq_set_type()
2202 irq_set_type(jzgc, irqd->hwirq, type); in ingenic_gpio_irq_set_type()
2206 static int ingenic_gpio_irq_set_wake(struct irq_data *irqd, unsigned int on) in ingenic_gpio_irq_set_wake() argument
2208 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in ingenic_gpio_irq_set_wake()