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: