diff options
Diffstat (limited to 'arch/arm/common/locomo.c')
-rw-r--r-- | arch/arm/common/locomo.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/arch/arm/common/locomo.c b/arch/arm/common/locomo.c index 41f12658c8b4..51f430cc2fbf 100644 --- a/arch/arm/common/locomo.c +++ b/arch/arm/common/locomo.c | |||
@@ -177,7 +177,7 @@ static void locomo_handler(unsigned int irq, struct irqdesc *desc, | |||
177 | d = irq_desc + irq; | 177 | d = irq_desc + irq; |
178 | for (i = 0; i <= 3; i++, d++, irq++) { | 178 | for (i = 0; i <= 3; i++, d++, irq++) { |
179 | if (req & (0x0100 << i)) { | 179 | if (req & (0x0100 << i)) { |
180 | d->handle(irq, d, regs); | 180 | desc_handle_irq(irq, d, regs); |
181 | } | 181 | } |
182 | 182 | ||
183 | } | 183 | } |
@@ -220,7 +220,7 @@ static void locomo_key_handler(unsigned int irq, struct irqdesc *desc, | |||
220 | 220 | ||
221 | if (locomo_readl(mapbase + LOCOMO_KEYBOARD + LOCOMO_KIC) & 0x0001) { | 221 | if (locomo_readl(mapbase + LOCOMO_KEYBOARD + LOCOMO_KIC) & 0x0001) { |
222 | d = irq_desc + LOCOMO_IRQ_KEY_START; | 222 | d = irq_desc + LOCOMO_IRQ_KEY_START; |
223 | d->handle(LOCOMO_IRQ_KEY_START, d, regs); | 223 | desc_handle_irq(LOCOMO_IRQ_KEY_START, d, regs); |
224 | } | 224 | } |
225 | } | 225 | } |
226 | 226 | ||
@@ -273,7 +273,7 @@ static void locomo_gpio_handler(unsigned int irq, struct irqdesc *desc, | |||
273 | d = irq_desc + LOCOMO_IRQ_GPIO_START; | 273 | d = irq_desc + LOCOMO_IRQ_GPIO_START; |
274 | for (i = 0; i <= 15; i++, irq++, d++) { | 274 | for (i = 0; i <= 15; i++, irq++, d++) { |
275 | if (req & (0x0001 << i)) { | 275 | if (req & (0x0001 << i)) { |
276 | d->handle(irq, d, regs); | 276 | desc_handle_irq(irq, d, regs); |
277 | } | 277 | } |
278 | } | 278 | } |
279 | } | 279 | } |
@@ -328,7 +328,7 @@ static void locomo_lt_handler(unsigned int irq, struct irqdesc *desc, | |||
328 | 328 | ||
329 | if (locomo_readl(mapbase + LOCOMO_LTINT) & 0x0001) { | 329 | if (locomo_readl(mapbase + LOCOMO_LTINT) & 0x0001) { |
330 | d = irq_desc + LOCOMO_IRQ_LT_START; | 330 | d = irq_desc + LOCOMO_IRQ_LT_START; |
331 | d->handle(LOCOMO_IRQ_LT_START, d, regs); | 331 | desc_handle_irq(LOCOMO_IRQ_LT_START, d, regs); |
332 | } | 332 | } |
333 | } | 333 | } |
334 | 334 | ||
@@ -379,7 +379,7 @@ static void locomo_spi_handler(unsigned int irq, struct irqdesc *desc, | |||
379 | 379 | ||
380 | for (i = 0; i <= 3; i++, irq++, d++) { | 380 | for (i = 0; i <= 3; i++, irq++, d++) { |
381 | if (req & (0x0001 << i)) { | 381 | if (req & (0x0001 << i)) { |
382 | d->handle(irq, d, regs); | 382 | desc_handle_irq(irq, d, regs); |
383 | } | 383 | } |
384 | } | 384 | } |
385 | } | 385 | } |
@@ -651,15 +651,15 @@ __locomo_probe(struct device *me, struct resource *mem, int irq) | |||
651 | return ret; | 651 | return ret; |
652 | } | 652 | } |
653 | 653 | ||
654 | static void __locomo_remove(struct locomo *lchip) | 654 | static int locomo_remove_child(struct device *dev, void *data) |
655 | { | 655 | { |
656 | struct list_head *l, *n; | 656 | device_unregister(dev); |
657 | 657 | return 0; | |
658 | list_for_each_safe(l, n, &lchip->dev->children) { | 658 | } |
659 | struct device *d = list_to_dev(l); | ||
660 | 659 | ||
661 | device_unregister(d); | 660 | static void __locomo_remove(struct locomo *lchip) |
662 | } | 661 | { |
662 | device_for_each_child(lchip->dev, NULL, locomo_remove_child); | ||
663 | 663 | ||
664 | if (lchip->irq != NO_IRQ) { | 664 | if (lchip->irq != NO_IRQ) { |
665 | set_irq_chained_handler(lchip->irq, NULL); | 665 | set_irq_chained_handler(lchip->irq, NULL); |