summaryrefslogtreecommitdiffstats
path: root/drivers/mfd/twl6030-irq.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mfd/twl6030-irq.c')
-rw-r--r--drivers/mfd/twl6030-irq.c13
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
370static void twl6030_irq_unmap(struct irq_domain *d, unsigned int virq) 360static 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}