patch-2.1.73 linux/drivers/block/pdc4030.c

Next file: linux/drivers/block/qd6580.c
Previous file: linux/drivers/block/opti621.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.72/linux/drivers/block/pdc4030.c linux/drivers/block/pdc4030.c
@@ -72,9 +72,7 @@
 {
 	unsigned int number;
 
-	OUT_BYTE(drive->select.all,IDE_SELECT_REG);
-	udelay(1);	/* paranoia */
-	number = ((HWIF(drive)->is_pdc4030_2)<<1) + drive->select.b.unit;
+	number = (HWIF(drive)->channel << 1) + drive->select.b.unit;
 	OUT_BYTE(number,IDE_FEATURE_REG);
 }
 
@@ -134,7 +132,7 @@
 
 	drive = &hwif->drives[0];
 	second_hwif = &ide_hwifs[hwif->index+1];
-	if(hwif->is_pdc4030_2) /* we've already been found ! */
+	if(hwif->chipset == ide_pdc4030) /* we've already been found ! */
 	    return 1;
 
 	if(IN_BYTE(IDE_NSECTOR_REG) == 0xFF || IN_BYTE(IDE_SECTOR_REG) == 0xFF)
@@ -172,6 +170,7 @@
 	hwif->chipset     = second_hwif->chipset    = ide_pdc4030;
 	hwif->mate        = second_hwif;
 	second_hwif->mate = hwif;
+	second_hwif->channel = 1;
 	hwif->selectproc  = second_hwif->selectproc = &promise_selectproc;
 /* Shift the remaining interfaces down by one */
 	for (i=MAX_HWIFS-1 ; i > hwif->index+1 ; i--) {
@@ -182,7 +181,6 @@
 		h->io_ports[IDE_CONTROL_OFFSET] = (h-1)->io_ports[IDE_CONTROL_OFFSET];
 		h->noprobe = (h-1)->noprobe;
 	}
-	second_hwif->is_pdc4030_2 = 1;
 	ide_init_hwif_ports(second_hwif->io_ports, hwif->io_ports[IDE_DATA_OFFSET], NULL);
 	second_hwif->io_ports[IDE_CONTROL_OFFSET] = hwif->io_ports[IDE_CONTROL_OFFSET];
 	second_hwif->irq = hwif->irq;

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov