diff options
Diffstat (limited to 'drivers/mfd/htc-egpio.c')
-rw-r--r-- | drivers/mfd/htc-egpio.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/mfd/htc-egpio.c b/drivers/mfd/htc-egpio.c index fcd89e604ab1..bbaec0ccba8f 100644 --- a/drivers/mfd/htc-egpio.c +++ b/drivers/mfd/htc-egpio.c | |||
@@ -344,9 +344,9 @@ static int __init egpio_probe(struct platform_device *pdev) | |||
344 | ei->ack_write = 0; | 344 | ei->ack_write = 0; |
345 | irq_end = ei->irq_start + ei->nirqs; | 345 | irq_end = ei->irq_start + ei->nirqs; |
346 | for (irq = ei->irq_start; irq < irq_end; irq++) { | 346 | for (irq = ei->irq_start; irq < irq_end; irq++) { |
347 | irq_set_chip(irq, &egpio_muxed_chip); | 347 | irq_set_chip_and_handler(irq, &egpio_muxed_chip, |
348 | handle_simple_irq); | ||
348 | irq_set_chip_data(irq, ei); | 349 | irq_set_chip_data(irq, ei); |
349 | irq_set_handler(irq, handle_simple_irq); | ||
350 | set_irq_flags(irq, IRQF_VALID | IRQF_PROBE); | 350 | set_irq_flags(irq, IRQF_VALID | IRQF_PROBE); |
351 | } | 351 | } |
352 | irq_set_irq_type(ei->chained_irq, IRQ_TYPE_EDGE_RISING); | 352 | irq_set_irq_type(ei->chained_irq, IRQ_TYPE_EDGE_RISING); |
@@ -373,8 +373,7 @@ static int __exit egpio_remove(struct platform_device *pdev) | |||
373 | if (ei->chained_irq) { | 373 | if (ei->chained_irq) { |
374 | irq_end = ei->irq_start + ei->nirqs; | 374 | irq_end = ei->irq_start + ei->nirqs; |
375 | for (irq = ei->irq_start; irq < irq_end; irq++) { | 375 | for (irq = ei->irq_start; irq < irq_end; irq++) { |
376 | irq_set_chip(irq, NULL); | 376 | irq_set_chip_and_handler(irq, NULL, NULL); |
377 | irq_set_handler(irq, NULL); | ||
378 | set_irq_flags(irq, 0); | 377 | set_irq_flags(irq, 0); |
379 | } | 378 | } |
380 | irq_set_chained_handler(ei->chained_irq, NULL); | 379 | irq_set_chained_handler(ei->chained_irq, NULL); |