diff options
Diffstat (limited to 'drivers/mfd/twl6030-irq.c')
-rw-r--r-- | drivers/mfd/twl6030-irq.c | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/drivers/mfd/twl6030-irq.c b/drivers/mfd/twl6030-irq.c index 20fb58179ada..c1bb62473436 100644 --- a/drivers/mfd/twl6030-irq.c +++ b/drivers/mfd/twl6030-irq.c | |||
@@ -352,26 +352,13 @@ static int twl6030_irq_map(struct irq_domain *d, unsigned int virq, | |||
352 | irq_set_chip_and_handler(virq, &pdata->irq_chip, handle_simple_irq); | 352 | irq_set_chip_and_handler(virq, &pdata->irq_chip, handle_simple_irq); |
353 | irq_set_nested_thread(virq, true); | 353 | irq_set_nested_thread(virq, true); |
354 | irq_set_parent(virq, pdata->twl_irq); | 354 | irq_set_parent(virq, pdata->twl_irq); |
355 | |||
356 | #ifdef CONFIG_ARM | ||
357 | /* | ||
358 | * ARM requires an extra step to clear IRQ_NOREQUEST, which it | ||
359 | * sets on behalf of every irq_chip. Also sets IRQ_NOPROBE. | ||
360 | */ | ||
361 | set_irq_flags(virq, IRQF_VALID); | ||
362 | #else | ||
363 | /* same effect on other architectures */ | ||
364 | irq_set_noprobe(virq); | 355 | irq_set_noprobe(virq); |
365 | #endif | ||
366 | 356 | ||
367 | return 0; | 357 | return 0; |
368 | } | 358 | } |
369 | 359 | ||
370 | static void twl6030_irq_unmap(struct irq_domain *d, unsigned int virq) | 360 | static void twl6030_irq_unmap(struct irq_domain *d, unsigned int virq) |
371 | { | 361 | { |
372 | #ifdef CONFIG_ARM | ||
373 | set_irq_flags(virq, 0); | ||
374 | #endif | ||
375 | irq_set_chip_and_handler(virq, NULL, NULL); | 362 | irq_set_chip_and_handler(virq, NULL, NULL); |
376 | irq_set_chip_data(virq, NULL); | 363 | irq_set_chip_data(virq, NULL); |
377 | } | 364 | } |