Skip to contentSkip to conversation

ide: add missing checks for control register existence

PATCH In review Bartlomiej Zolnierkiewicz 1 participant 1 message Nov 29, 2007 libata

lore
Share & tools
lore
#0 lore raw

PATCH 1/8 ide: add missing checks for control register existence

Add missing checks for control register existence (some legacy m68k specific IDE controllers don't have it). Also use drive->ctl while at it.

---
 drivers/ide/ide-io.c    |    3 ++-
 drivers/ide/ide-probe.c |    3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)
drivers/ide/ide-io.c +2 -1
Index: b/drivers/ide/ide-io.c
===================================================================
@@ -939,7 +939,8 @@ static void ide_check_pm_state(ide_drive
 		if (rc)
 			printk(KERN_WARNING "%s: bus not ready on wakeup\n", drive->name);
 		SELECT_DRIVE(drive);
-		HWIF(drive)->OUTB(8, HWIF(drive)->io_ports[IDE_CONTROL_OFFSET]);
+		if (IDE_CONTROL_REG)
+			HWIF(drive)->OUTB(drive->ctl, IDE_CONTROL_REG);
 		rc = ide_wait_not_busy(HWIF(drive), 100000);
 		if (rc)
 			printk(KERN_WARNING "%s: drive not ready on wakeup\n", drive->name);
drivers/ide/ide-probe.c +2 -1
Index: b/drivers/ide/ide-probe.c
===================================================================
@@ -667,7 +667,8 @@ static int wait_hwif_ready(ide_hwif_t *h
 		/* Ignore disks that we will not probe for later. */
 		if (!drive->noprobe || drive->present) {
 			SELECT_DRIVE(drive);
-			hwif->OUTB(8, hwif->io_ports[IDE_CONTROL_OFFSET]);
+			if (IDE_CONTROL_REG)
+				hwif->OUTB(drive->ctl, IDE_CONTROL_REG);
 			mdelay(2);
 			rc = ide_wait_not_busy(hwif, 35000);
 			if (rc)