diff options
Diffstat (limited to 'kernel/drivers/mfd/twl6030-irq.c')
-rw-r--r-- | kernel/drivers/mfd/twl6030-irq.c | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/kernel/drivers/mfd/twl6030-irq.c b/kernel/drivers/mfd/twl6030-irq.c index 2807e1a95..53574508a 100644 --- a/kernel/drivers/mfd/twl6030-irq.c +++ b/kernel/drivers/mfd/twl6030-irq.c @@ -231,7 +231,7 @@ static irqreturn_t twl6030_irq_thread(int irq, void *data) static int twl6030_irq_set_wake(struct irq_data *d, unsigned int on) { - struct twl6030_irq *pdata = irq_get_chip_data(d->irq); + struct twl6030_irq *pdata = irq_data_get_irq_chip_data(d); if (on) atomic_inc(&pdata->wakeirqs); @@ -352,31 +352,18 @@ static int twl6030_irq_map(struct irq_domain *d, unsigned int virq, irq_set_chip_and_handler(virq, &pdata->irq_chip, handle_simple_irq); irq_set_nested_thread(virq, true); irq_set_parent(virq, pdata->twl_irq); - -#ifdef CONFIG_ARM - /* - * ARM requires an extra step to clear IRQ_NOREQUEST, which it - * sets on behalf of every irq_chip. Also sets IRQ_NOPROBE. - */ - set_irq_flags(virq, IRQF_VALID); -#else - /* same effect on other architectures */ irq_set_noprobe(virq); -#endif return 0; } static void twl6030_irq_unmap(struct irq_domain *d, unsigned int virq) { -#ifdef CONFIG_ARM - set_irq_flags(virq, 0); -#endif irq_set_chip_and_handler(virq, NULL, NULL); irq_set_chip_data(virq, NULL); } -static struct irq_domain_ops twl6030_irq_domain_ops = { +static const struct irq_domain_ops twl6030_irq_domain_ops = { .map = twl6030_irq_map, .unmap = twl6030_irq_unmap, .xlate = irq_domain_xlate_onetwocell, |