ide: remove IDE_ARCH_INTR (v2)

This micro-optimization is not worth it.  Just always check for
existence of ->ack_intr method in ide_intr() and ide_timer_expiry().

v2:
Fix brown-paper-bag bug spotted by David D. Kilzer.

Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Michael Schmitz <schmitz@debian.org>
Cc: "David D. Kilzer" <ddkilzer@kilzer.net>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent 088b1b88
...@@ -123,8 +123,5 @@ ide_get_lock(irq_handler_t handler, void *data) ...@@ -123,8 +123,5 @@ ide_get_lock(irq_handler_t handler, void *data)
} }
#endif /* CONFIG_BLK_DEV_FALCON_IDE */ #endif /* CONFIG_BLK_DEV_FALCON_IDE */
#define IDE_ARCH_ACK_INTR
#define ide_ack_intr(hwif) ((hwif)->ack_intr ? (hwif)->ack_intr(hwif) : 1)
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
#endif /* _M68K_IDE_H */ #endif /* _M68K_IDE_H */
...@@ -739,7 +739,8 @@ void ide_timer_expiry (unsigned long data) ...@@ -739,7 +739,8 @@ void ide_timer_expiry (unsigned long data)
} else if (drive_is_ready(drive)) { } else if (drive_is_ready(drive)) {
if (drive->waiting_for_dma) if (drive->waiting_for_dma)
hwif->dma_ops->dma_lost_irq(drive); hwif->dma_ops->dma_lost_irq(drive);
(void)ide_ack_intr(hwif); if (hwif->ack_intr)
hwif->ack_intr(hwif);
printk(KERN_WARNING "%s: lost interrupt\n", printk(KERN_WARNING "%s: lost interrupt\n",
drive->name); drive->name);
startstop = handler(drive); startstop = handler(drive);
...@@ -854,7 +855,7 @@ irqreturn_t ide_intr (int irq, void *dev_id) ...@@ -854,7 +855,7 @@ irqreturn_t ide_intr (int irq, void *dev_id)
spin_lock_irqsave(&hwif->lock, flags); spin_lock_irqsave(&hwif->lock, flags);
if (!ide_ack_intr(hwif)) if (hwif->ack_intr && hwif->ack_intr(hwif) == 0)
goto out; goto out;
handler = hwif->handler; handler = hwif->handler;
......
...@@ -202,11 +202,6 @@ static inline void ide_std_init_ports(hw_regs_t *hw, ...@@ -202,11 +202,6 @@ static inline void ide_std_init_ports(hw_regs_t *hw,
#define MAX_HWIFS 10 #define MAX_HWIFS 10
/* Currently only m68k, apus and m8xx need it */
#ifndef IDE_ARCH_ACK_INTR
# define ide_ack_intr(hwif) (1)
#endif
/* Currently only Atari needs it */ /* Currently only Atari needs it */
#ifndef IDE_ARCH_LOCK #ifndef IDE_ARCH_LOCK
# define ide_release_lock() do {} while (0) # define ide_release_lock() do {} while (0)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment