aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-probe.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/ide-probe.c')
-rw-r--r--drivers/ide/ide-probe.c34
1 files changed, 16 insertions, 18 deletions
diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c
index 2f105f4bbdec..4829daacb342 100644
--- a/drivers/ide/ide-probe.c
+++ b/drivers/ide/ide-probe.c
@@ -132,10 +132,10 @@ static inline void do_identify (ide_drive_t *drive, u8 cmd)
132 ide_fix_driveid(id); 132 ide_fix_driveid(id);
133 133
134 /* 134 /*
135 * WIN_IDENTIFY returns little-endian info, 135 * ATA_CMD_ID_ATA returns little-endian info,
136 * WIN_PIDENTIFY *usually* returns little-endian info. 136 * ATA_CMD_ID_ATAPI *usually* returns little-endian info.
137 */ 137 */
138 if (cmd == WIN_PIDENTIFY) { 138 if (cmd == ATA_CMD_ID_ATAPI) {
139 if ((m[0] == 'N' && m[1] == 'E') || /* NEC */ 139 if ((m[0] == 'N' && m[1] == 'E') || /* NEC */
140 (m[0] == 'F' && m[1] == 'X') || /* Mitsumi */ 140 (m[0] == 'F' && m[1] == 'X') || /* Mitsumi */
141 (m[0] == 'P' && m[1] == 'i')) /* Pioneer */ 141 (m[0] == 'P' && m[1] == 'i')) /* Pioneer */
@@ -161,7 +161,7 @@ static inline void do_identify (ide_drive_t *drive, u8 cmd)
161 /* 161 /*
162 * Check for an ATAPI device 162 * Check for an ATAPI device
163 */ 163 */
164 if (cmd == WIN_PIDENTIFY) { 164 if (cmd == ATA_CMD_ID_ATAPI) {
165 u8 type = (id[ATA_ID_CONFIG] >> 8) & 0x1f; 165 u8 type = (id[ATA_ID_CONFIG] >> 8) & 0x1f;
166 166
167 printk(KERN_CONT "ATAPI "); 167 printk(KERN_CONT "ATAPI ");
@@ -277,7 +277,7 @@ static int actual_try_to_identify (ide_drive_t *drive, u8 cmd)
277 /* set features register for atapi 277 /* set features register for atapi
278 * identify command to be sure of reply 278 * identify command to be sure of reply
279 */ 279 */
280 if (cmd == WIN_PIDENTIFY) { 280 if (cmd == ATA_CMD_ID_ATAPI) {
281 ide_task_t task; 281 ide_task_t task;
282 282
283 memset(&task, 0, sizeof(task)); 283 memset(&task, 0, sizeof(task));
@@ -290,7 +290,7 @@ static int actual_try_to_identify (ide_drive_t *drive, u8 cmd)
290 /* ask drive for ID */ 290 /* ask drive for ID */
291 tp_ops->exec_command(hwif, cmd); 291 tp_ops->exec_command(hwif, cmd);
292 292
293 timeout = ((cmd == WIN_IDENTIFY) ? WAIT_WORSTCASE : WAIT_PIDENTIFY) / 2; 293 timeout = ((cmd == ATA_CMD_ID_ATA) ? WAIT_WORSTCASE : WAIT_PIDENTIFY) / 2;
294 timeout += jiffies; 294 timeout += jiffies;
295 do { 295 do {
296 if (time_after(jiffies, timeout)) { 296 if (time_after(jiffies, timeout)) {
@@ -440,13 +440,13 @@ static int do_probe (ide_drive_t *drive, u8 cmd)
440 440
441 if (drive->present) { 441 if (drive->present) {
442 /* avoid waiting for inappropriate probes */ 442 /* avoid waiting for inappropriate probes */
443 if ((drive->media != ide_disk) && (cmd == WIN_IDENTIFY)) 443 if (drive->media != ide_disk && cmd == ATA_CMD_ID_ATA)
444 return 4; 444 return 4;
445 } 445 }
446#ifdef DEBUG 446#ifdef DEBUG
447 printk(KERN_INFO "probing for %s: present=%d, media=%d, probetype=%s\n", 447 printk(KERN_INFO "probing for %s: present=%d, media=%d, probetype=%s\n",
448 drive->name, drive->present, drive->media, 448 drive->name, drive->present, drive->media,
449 (cmd == WIN_IDENTIFY) ? "ATA" : "ATAPI"); 449 (cmd == ATA_CMD_ID_ATA) ? "ATA" : "ATAPI");
450#endif 450#endif
451 451
452 /* needed for some systems 452 /* needed for some systems
@@ -470,7 +470,7 @@ static int do_probe (ide_drive_t *drive, u8 cmd)
470 stat = tp_ops->read_status(hwif); 470 stat = tp_ops->read_status(hwif);
471 471
472 if (OK_STAT(stat, READY_STAT, BUSY_STAT) || 472 if (OK_STAT(stat, READY_STAT, BUSY_STAT) ||
473 drive->present || cmd == WIN_PIDENTIFY) { 473 drive->present || cmd == ATA_CMD_ID_ATAPI) {
474 /* send cmd and wait */ 474 /* send cmd and wait */
475 if ((rc = try_to_identify(drive, cmd))) { 475 if ((rc = try_to_identify(drive, cmd))) {
476 /* failed: try again */ 476 /* failed: try again */
@@ -482,13 +482,13 @@ static int do_probe (ide_drive_t *drive, u8 cmd)
482 if (stat == (BUSY_STAT | READY_STAT)) 482 if (stat == (BUSY_STAT | READY_STAT))
483 return 4; 483 return 4;
484 484
485 if (rc == 1 && cmd == WIN_PIDENTIFY) { 485 if (rc == 1 && cmd == ATA_CMD_ID_ATAPI) {
486 printk(KERN_ERR "%s: no response (status = 0x%02x), " 486 printk(KERN_ERR "%s: no response (status = 0x%02x), "
487 "resetting drive\n", drive->name, stat); 487 "resetting drive\n", drive->name, stat);
488 msleep(50); 488 msleep(50);
489 SELECT_DRIVE(drive); 489 SELECT_DRIVE(drive);
490 msleep(50); 490 msleep(50);
491 tp_ops->exec_command(hwif, WIN_SRST); 491 tp_ops->exec_command(hwif, ATA_CMD_DEV_RESET);
492 (void)ide_busy_sleep(hwif); 492 (void)ide_busy_sleep(hwif);
493 rc = try_to_identify(drive, cmd); 493 rc = try_to_identify(drive, cmd);
494 } 494 }
@@ -527,7 +527,7 @@ static void enable_nest (ide_drive_t *drive)
527 527
528 SELECT_DRIVE(drive); 528 SELECT_DRIVE(drive);
529 msleep(50); 529 msleep(50);
530 tp_ops->exec_command(hwif, EXABYTE_ENABLE_NEST); 530 tp_ops->exec_command(hwif, ATA_EXABYTE_ENABLE_NEST);
531 531
532 if (ide_busy_sleep(hwif)) { 532 if (ide_busy_sleep(hwif)) {
533 printk(KERN_CONT "failed (timeout)\n"); 533 printk(KERN_CONT "failed (timeout)\n");
@@ -544,10 +544,9 @@ static void enable_nest (ide_drive_t *drive)
544 printk(KERN_CONT "success\n"); 544 printk(KERN_CONT "success\n");
545 545
546 /* if !(success||timed-out) */ 546 /* if !(success||timed-out) */
547 if (do_probe(drive, WIN_IDENTIFY) >= 2) { 547 if (do_probe(drive, ATA_CMD_ID_ATA) >= 2)
548 /* look for ATAPI device */ 548 /* look for ATAPI device */
549 (void) do_probe(drive, WIN_PIDENTIFY); 549 (void)do_probe(drive, ATA_CMD_ID_ATAPI);
550 }
551} 550}
552 551
553/** 552/**
@@ -590,10 +589,9 @@ static inline u8 probe_for_drive (ide_drive_t *drive)
590 if (!drive->noprobe) 589 if (!drive->noprobe)
591 { 590 {
592 /* if !(success||timed-out) */ 591 /* if !(success||timed-out) */
593 if (do_probe(drive, WIN_IDENTIFY) >= 2) { 592 if (do_probe(drive, ATA_CMD_ID_ATA) >= 2)
594 /* look for ATAPI device */ 593 /* look for ATAPI device */
595 (void) do_probe(drive, WIN_PIDENTIFY); 594 (void)do_probe(drive, ATA_CMD_ID_ATAPI);
596 }
597 if (!drive->present) 595 if (!drive->present)
598 /* drive not found */ 596 /* drive not found */
599 return 0; 597 return 0;