Commit ca41247f authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Linus Torvalds

[PATCH] Atari Falcon IDE: clean up ide_intr_lock handling

Here's a fix on top of the patch you commited:

  - Rename ide_intr_lock to falconide_intr_lock
  - Add falconide_intr_lock to the Falcon IDE driver itself
  - Test for CONFIG_BLK_DEV_FALCON_IDE instead of CONFIG_ATARI since
    falconide_intr_lock is Falcon IDE-specific, not Atari-specific
parent d360ab81
...@@ -48,6 +48,14 @@ static int falconide_offsets[IDE_NR_PORTS] __initdata = { ...@@ -48,6 +48,14 @@ static int falconide_offsets[IDE_NR_PORTS] __initdata = {
}; };
/*
* falconide_intr_lock is used to obtain access to the IDE interrupt,
* which is shared between several drivers.
*/
int falconide_intr_lock;
/* /*
* Probe for a Falcon IDE interface * Probe for a Falcon IDE interface
*/ */
......
...@@ -144,19 +144,19 @@ static __inline__ void ide_init_default_hwifs(void) ...@@ -144,19 +144,19 @@ static __inline__ void ide_init_default_hwifs(void)
#define ATA_ARCH_ACK_INTR #define ATA_ARCH_ACK_INTR
#ifdef CONFIG_ATARI #ifdef CONFIG_BLK_DEV_FALCON_IDE
#define ATA_ARCH_LOCK #define ATA_ARCH_LOCK
extern int ide_intr_lock; extern int falconide_intr_lock;
static __inline__ void ide_release_lock (void) static __inline__ void ide_release_lock (void)
{ {
if (MACH_IS_ATARI) { if (MACH_IS_ATARI) {
if (ide_intr_lock == 0) { if (falconide_intr_lock == 0) {
printk("ide_release_lock: bug\n"); printk("ide_release_lock: bug\n");
return; return;
} }
ide_intr_lock = 0; falconide_intr_lock = 0;
stdma_release(); stdma_release();
} }
} }
...@@ -164,14 +164,14 @@ static __inline__ void ide_release_lock (void) ...@@ -164,14 +164,14 @@ static __inline__ void ide_release_lock (void)
static __inline__ void ide_get_lock(void (*handler)(int, void *, struct pt_regs *), void *data) static __inline__ void ide_get_lock(void (*handler)(int, void *, struct pt_regs *), void *data)
{ {
if (MACH_IS_ATARI) { if (MACH_IS_ATARI) {
if (ide_intr_lock == 0) { if (falconide_intr_lock == 0) {
if (in_interrupt() > 0) if (in_interrupt() > 0)
panic( "Falcon IDE hasn't ST-DMA lock in interrupt" ); panic( "Falcon IDE hasn't ST-DMA lock in interrupt" );
stdma_lock(handler, data); stdma_lock(handler, data);
ide_intr_lock = 1; falconide_intr_lock = 1;
} }
} }
} }
#endif /* CONFIG_ATARI */ #endif /* CONFIG_BLK_DEV_FALCON_IDE */
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
#endif /* _M68K_IDE_H */ #endif /* _M68K_IDE_H */
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