|
@@ -501,8 +501,8 @@ static int sa1111_setup_irq(struct sa1111 *sachip, unsigned irq_base)
|
|
|
* Register SA1111 interrupt
|
|
|
*/
|
|
|
irq_set_irq_type(sachip->irq, IRQ_TYPE_EDGE_RISING);
|
|
|
- irq_set_handler_data(sachip->irq, sachip);
|
|
|
- irq_set_chained_handler(sachip->irq, sa1111_irq_handler);
|
|
|
+ irq_set_chained_handler_and_data(sachip->irq, sa1111_irq_handler,
|
|
|
+ sachip);
|
|
|
|
|
|
dev_info(sachip->dev, "Providing IRQ%u-%u\n",
|
|
|
sachip->irq_base, sachip->irq_base + SA1111_IRQ_NR - 1);
|
|
@@ -836,8 +836,7 @@ static void __sa1111_remove(struct sa1111 *sachip)
|
|
|
clk_unprepare(sachip->clk);
|
|
|
|
|
|
if (sachip->irq != NO_IRQ) {
|
|
|
- irq_set_chained_handler(sachip->irq, NULL);
|
|
|
- irq_set_handler_data(sachip->irq, NULL);
|
|
|
+ irq_set_chained_handler_and_data(sachip->irq, NULL, NULL);
|
|
|
irq_free_descs(sachip->irq_base, SA1111_IRQ_NR);
|
|
|
|
|
|
release_mem_region(sachip->phys + SA1111_INTC, 512);
|