Lines Matching refs:irqd
31 struct pmic_irq_data *irqd = chip->irq_data; in pmic_irq_enable() local
33 irqd->enable_hwirq[hwirq] = true; in pmic_irq_enable()
40 struct pmic_irq_data *irqd = chip->irq_data; in pmic_irq_disable() local
42 irqd->enable_hwirq[hwirq] = false; in pmic_irq_disable()
56 struct pmic_irq_data *irqd = chip->irq_data; in pmic_irq_sync_unlock() local
58 for (i = 0; i < irqd->num_pmic_irqs; i++) { in pmic_irq_sync_unlock()
59 if (irqd->enable_hwirq[i] == irqd->cache_hwirq[i]) in pmic_irq_sync_unlock()
64 while ((top_gp + 1) < irqd->num_top && in pmic_irq_sync_unlock()
76 irqd->enable_hwirq[i] << shift); in pmic_irq_sync_unlock()
78 irqd->cache_hwirq[i] = irqd->enable_hwirq[i]; in pmic_irq_sync_unlock()
181 struct pmic_irq_data *irqd; in mt6358_irq_init() local
183 irqd = devm_kzalloc(chip->dev, sizeof(*irqd), GFP_KERNEL); in mt6358_irq_init()
184 if (!irqd) in mt6358_irq_init()
187 chip->irq_data = irqd; in mt6358_irq_init()
190 irqd->top_int_status_reg = MT6358_TOP_INT_STATUS0; in mt6358_irq_init()
191 irqd->num_pmic_irqs = MT6358_IRQ_NR; in mt6358_irq_init()
192 irqd->num_top = ARRAY_SIZE(mt6358_ints); in mt6358_irq_init()
194 irqd->enable_hwirq = devm_kcalloc(chip->dev, in mt6358_irq_init()
195 irqd->num_pmic_irqs, in mt6358_irq_init()
196 sizeof(*irqd->enable_hwirq), in mt6358_irq_init()
198 if (!irqd->enable_hwirq) in mt6358_irq_init()
201 irqd->cache_hwirq = devm_kcalloc(chip->dev, in mt6358_irq_init()
202 irqd->num_pmic_irqs, in mt6358_irq_init()
203 sizeof(*irqd->cache_hwirq), in mt6358_irq_init()
205 if (!irqd->cache_hwirq) in mt6358_irq_init()
209 for (i = 0; i < irqd->num_top; i++) { in mt6358_irq_init()
217 irqd->num_pmic_irqs, in mt6358_irq_init()