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: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
		
					parent
					
						
							
								088b1b8860
							
						
					
				
			
			
				commit
				
					
						d15a613ba0
					
				
			
		
					 3 changed files with 3 additions and 10 deletions
				
			
		| 
						 | 
				
			
			@ -123,8 +123,5 @@ ide_get_lock(irq_handler_t handler, void *data)
 | 
			
		|||
}
 | 
			
		||||
#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 /* _M68K_IDE_H */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -739,7 +739,8 @@ void ide_timer_expiry (unsigned long data)
 | 
			
		|||
		} else if (drive_is_ready(drive)) {
 | 
			
		||||
			if (drive->waiting_for_dma)
 | 
			
		||||
				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",
 | 
			
		||||
				drive->name);
 | 
			
		||||
			startstop = handler(drive);
 | 
			
		||||
| 
						 | 
				
			
			@ -854,7 +855,7 @@ irqreturn_t ide_intr (int irq, void *dev_id)
 | 
			
		|||
 | 
			
		||||
	spin_lock_irqsave(&hwif->lock, flags);
 | 
			
		||||
 | 
			
		||||
	if (!ide_ack_intr(hwif))
 | 
			
		||||
	if (hwif->ack_intr && hwif->ack_intr(hwif) == 0)
 | 
			
		||||
		goto out;
 | 
			
		||||
 | 
			
		||||
	handler = hwif->handler;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -202,11 +202,6 @@ static inline void ide_std_init_ports(hw_regs_t *hw,
 | 
			
		|||
 | 
			
		||||
#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 */
 | 
			
		||||
#ifndef IDE_ARCH_LOCK
 | 
			
		||||
# define ide_release_lock()			do {} while (0)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue