Lines Matching refs:irqd

50 static void exynos_irq_mask(struct irq_data *irqd)
52 struct irq_chip *chip = irq_data_get_irq_chip(irqd);
54 struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd);
62 mask |= 1 << irqd->hwirq;
68 static void exynos_irq_ack(struct irq_data *irqd)
70 struct irq_chip *chip = irq_data_get_irq_chip(irqd);
72 struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd);
75 writel(1 << irqd->hwirq, bank->eint_base + reg_pend);
78 static void exynos_irq_unmask(struct irq_data *irqd)
80 struct irq_chip *chip = irq_data_get_irq_chip(irqd);
82 struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd);
95 if (irqd_get_trigger_type(irqd) & IRQ_TYPE_LEVEL_MASK)
96 exynos_irq_ack(irqd);
101 mask &= ~(1 << irqd->hwirq);
107 static int exynos_irq_set_type(struct irq_data *irqd, unsigned int type)
109 struct irq_chip *chip = irq_data_get_irq_chip(irqd);
111 struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd);
112 unsigned int shift = EXYNOS_EINT_CON_LEN * irqd->hwirq;
138 irq_set_handler_locked(irqd, handle_edge_irq);
140 irq_set_handler_locked(irqd, handle_level_irq);
150 static int exynos_irq_request_resources(struct irq_data *irqd)
152 struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd);
158 ret = gpiochip_lock_as_irq(&bank->gpio_chip, irqd->hwirq);
162 bank->name, irqd->hwirq);
167 shift = irqd->hwirq * bank_type->fld_width[PINCFG_TYPE_FUNC];
182 static void exynos_irq_release_resources(struct irq_data *irqd)
184 struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd);
190 shift = irqd->hwirq * bank_type->fld_width[PINCFG_TYPE_FUNC];
202 gpiochip_unlock_as_irq(&bank->gpio_chip, irqd->hwirq);
338 static int exynos_wkup_irq_set_wake(struct irq_data *irqd, unsigned int on)
340 struct irq_chip *chip = irq_data_get_irq_chip(irqd);
342 struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd);
343 unsigned long bit = 1UL << (2 * bank->eint_offset + irqd->hwirq);
346 irqd->irq, bank->name, irqd->hwirq);