diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-07-15 18:29:07 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-15 18:29:07 -0400 |
commit | 82638844d9a8581bbf33201cc209a14876eca167 (patch) | |
tree | 961d7f9360194421a71aa644a9d0c176a960ce49 /drivers/ide/ide-probe.c | |
parent | 9982fbface82893e77d211fbabfbd229da6bdde6 (diff) | |
parent | 63cf13b77ab785e87c867defa8545e6d4a989774 (diff) |
Merge branch 'linus' into cpus4096
Conflicts:
arch/x86/xen/smp.c
kernel/sched_rt.c
net/iucv/iucv.c
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'drivers/ide/ide-probe.c')
-rw-r--r-- | drivers/ide/ide-probe.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c index d27061b39324..d21e51a02c3e 100644 --- a/drivers/ide/ide-probe.c +++ b/drivers/ide/ide-probe.c | |||
@@ -293,7 +293,7 @@ static int actual_try_to_identify (ide_drive_t *drive, u8 cmd) | |||
293 | hwif->OUTB(0, io_ports->feature_addr); | 293 | hwif->OUTB(0, io_ports->feature_addr); |
294 | 294 | ||
295 | /* ask drive for ID */ | 295 | /* ask drive for ID */ |
296 | hwif->OUTBSYNC(drive, cmd, io_ports->command_addr); | 296 | hwif->OUTBSYNC(hwif, cmd, hwif->io_ports.command_addr); |
297 | 297 | ||
298 | timeout = ((cmd == WIN_IDENTIFY) ? WAIT_WORSTCASE : WAIT_PIDENTIFY) / 2; | 298 | timeout = ((cmd == WIN_IDENTIFY) ? WAIT_WORSTCASE : WAIT_PIDENTIFY) / 2; |
299 | timeout += jiffies; | 299 | timeout += jiffies; |
@@ -478,9 +478,9 @@ static int do_probe (ide_drive_t *drive, u8 cmd) | |||
478 | printk(KERN_ERR "%s: no response (status = 0x%02x), " | 478 | printk(KERN_ERR "%s: no response (status = 0x%02x), " |
479 | "resetting drive\n", drive->name, stat); | 479 | "resetting drive\n", drive->name, stat); |
480 | msleep(50); | 480 | msleep(50); |
481 | hwif->OUTB(drive->select.all, io_ports->device_addr); | 481 | SELECT_DRIVE(drive); |
482 | msleep(50); | 482 | msleep(50); |
483 | hwif->OUTBSYNC(drive, WIN_SRST, io_ports->command_addr); | 483 | hwif->OUTBSYNC(hwif, WIN_SRST, io_ports->command_addr); |
484 | (void)ide_busy_sleep(hwif); | 484 | (void)ide_busy_sleep(hwif); |
485 | rc = try_to_identify(drive, cmd); | 485 | rc = try_to_identify(drive, cmd); |
486 | } | 486 | } |
@@ -516,7 +516,7 @@ static void enable_nest (ide_drive_t *drive) | |||
516 | printk("%s: enabling %s -- ", hwif->name, drive->id->model); | 516 | printk("%s: enabling %s -- ", hwif->name, drive->id->model); |
517 | SELECT_DRIVE(drive); | 517 | SELECT_DRIVE(drive); |
518 | msleep(50); | 518 | msleep(50); |
519 | hwif->OUTBSYNC(drive, EXABYTE_ENABLE_NEST, hwif->io_ports.command_addr); | 519 | hwif->OUTBSYNC(hwif, EXABYTE_ENABLE_NEST, hwif->io_ports.command_addr); |
520 | 520 | ||
521 | if (ide_busy_sleep(hwif)) { | 521 | if (ide_busy_sleep(hwif)) { |
522 | printk(KERN_CONT "failed (timeout)\n"); | 522 | printk(KERN_CONT "failed (timeout)\n"); |
@@ -1065,7 +1065,7 @@ static int init_irq (ide_hwif_t *hwif) | |||
1065 | 1065 | ||
1066 | if (io_ports->ctl_addr) | 1066 | if (io_ports->ctl_addr) |
1067 | /* clear nIEN */ | 1067 | /* clear nIEN */ |
1068 | hwif->OUTB(0x08, io_ports->ctl_addr); | 1068 | hwif->OUTBSYNC(hwif, ATA_DEVCTL_OBS, io_ports->ctl_addr); |
1069 | 1069 | ||
1070 | if (request_irq(hwif->irq,&ide_intr,sa,hwif->name,hwgroup)) | 1070 | if (request_irq(hwif->irq,&ide_intr,sa,hwif->name,hwgroup)) |
1071 | goto out_unlink; | 1071 | goto out_unlink; |
@@ -1218,16 +1218,12 @@ static void drive_release_dev (struct device *dev) | |||
1218 | complete(&drive->gendev_rel_comp); | 1218 | complete(&drive->gendev_rel_comp); |
1219 | } | 1219 | } |
1220 | 1220 | ||
1221 | #ifndef ide_default_irq | ||
1222 | #define ide_default_irq(irq) 0 | ||
1223 | #endif | ||
1224 | |||
1225 | static int hwif_init(ide_hwif_t *hwif) | 1221 | static int hwif_init(ide_hwif_t *hwif) |
1226 | { | 1222 | { |
1227 | int old_irq; | 1223 | int old_irq; |
1228 | 1224 | ||
1229 | if (!hwif->irq) { | 1225 | if (!hwif->irq) { |
1230 | hwif->irq = ide_default_irq(hwif->io_ports.data_addr); | 1226 | hwif->irq = __ide_default_irq(hwif->io_ports.data_addr); |
1231 | if (!hwif->irq) { | 1227 | if (!hwif->irq) { |
1232 | printk("%s: DISABLED, NO IRQ\n", hwif->name); | 1228 | printk("%s: DISABLED, NO IRQ\n", hwif->name); |
1233 | return 0; | 1229 | return 0; |
@@ -1257,7 +1253,7 @@ static int hwif_init(ide_hwif_t *hwif) | |||
1257 | * It failed to initialise. Find the default IRQ for | 1253 | * It failed to initialise. Find the default IRQ for |
1258 | * this port and try that. | 1254 | * this port and try that. |
1259 | */ | 1255 | */ |
1260 | hwif->irq = ide_default_irq(hwif->io_ports.data_addr); | 1256 | hwif->irq = __ide_default_irq(hwif->io_ports.data_addr); |
1261 | if (!hwif->irq) { | 1257 | if (!hwif->irq) { |
1262 | printk("%s: Disabled unable to get IRQ %d.\n", | 1258 | printk("%s: Disabled unable to get IRQ %d.\n", |
1263 | hwif->name, old_irq); | 1259 | hwif->name, old_irq); |