[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Moving ATA/100 to hda instead of hdc



Can somebody with such a machine test the enclosed patch ? (against my
devel tree, which is at 2.4.21-pre7 right now, I'll update it to -rc1
later today)

Then, set CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST in the kernel config

Let me know if it works.

Ben.

--- 1.53/drivers/ide/ppc/pmac.c	Fri Apr 11 11:46:12 2003
+++ edited/drivers/ide/ppc/pmac.c	Tue Apr 22 16:39:06 2003
@@ -940,10 +940,10 @@
 {
 	struct device_node *np;
 	int i;
-	struct device_node *atas;
+	struct device_node *atas = NULL;
 	struct device_node *p, **pp, *removables, **rp;
 	unsigned long base, regbase;
-	int irq, big_delay;
+	int irq;
 	ide_hwif_t *hwif;
 
 	if (_machine != _MACH_Pmac)
@@ -964,14 +964,23 @@
 		    && strcasecmp(p->parent->type, "media-bay") == 0) {
 			*rp = p;
 			rp = &p->next;
-		} else {
+		}
+#ifdef CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST
+		/* Move Kauai ATA/100 if it exist to first postition in list */
+		else if (device_is_compatible(np, "kauai-ata")) {
+			p->next = atas;
+			if (pp == &atas)
+				pp = &p->next;
+			atas = p;
+		}
+#endif /* CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST */
+		else {
 			*pp = p;
 			pp = &p->next;
 		}
 	}
 	*rp = NULL;
 	*pp = removables;
-	big_delay = 0;
 
 	for (i = 0, np = atas; i < MAX_HWIFS && np != NULL; np = np->next) {
 		struct device_node *tp;
@@ -1128,7 +1137,6 @@
 			ppc_md.feature_call(PMAC_FTR_IDE_ENABLE, np, pmif->aapl_bus_id, 1);
 			mdelay(10);
 			ppc_md.feature_call(PMAC_FTR_IDE_RESET, np, pmif->aapl_bus_id, 0);
-			big_delay = 1;
 		}
 
 		hwif = &ide_hwifs[i];
@@ -1194,9 +1202,6 @@
 
 	if (pmac_ide_count == 0)
 		return;
-		
-	if (big_delay)
-		mdelay(IDE_WAKEUP_DELAY_MS);
 
 #ifdef CONFIG_PMAC_PBOOK
 	pmu_register_sleep_notifier(&idepmac_sleep_notifier);
--- 1.24/drivers/ide/Config.in	Sat Apr  5 02:22:07 2003
+++ edited/drivers/ide/Config.in	Tue Apr 22 16:33:05 2003
@@ -82,6 +82,7 @@
       fi
       if [ "$CONFIG_ALL_PPC" = "y" ]; then
 	 bool '    Builtin PowerMac IDE support' CONFIG_BLK_DEV_IDE_PMAC
+	 dep_bool '      Probe internal Kauai ATA/100 fist' CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST $CONFIG_BLK_DEV_IDE_PMAC
 	 dep_bool '      PowerMac IDE DMA support' CONFIG_BLK_DEV_IDEDMA_PMAC $CONFIG_BLK_DEV_IDE_PMAC
 	 dep_bool '        Use DMA by default' CONFIG_BLK_DEV_IDEDMA_PMAC_AUTO $CONFIG_BLK_DEV_IDEDMA_PMAC
 	 if [ "$CONFIG_BLK_DEV_IDE_PMAC" = "y" ]; then

Reply to: