On Fri, 28 Sep 2001, Michael Schmitz wrote: > > I'd place my bet on some voodoo in the generic IDE mess that changed. > > Actually I take that back. hda and hdb are probed but found not present. > Seems ide0 doesn't get enabled properly ...
Patch to apply a quick fix for this, use at your own risk etc., don't yell at me if it doesn't work: --- arch/ppc/kernel/pmac_feature.c.org Fri Sep 28 23:02:14 2001 +++ arch/ppc/kernel/pmac_feature.c Fri Sep 28 23:01:42 2001 @@ -179,9 +179,10 @@ struct macio_chip* macio; unsigned long flags; - macio = macio_find(node, macio_ohare); + macio = macio_find(node, type); if (!macio) return -ENODEV; + LOCK(flags); if (value) MACIO_BIS(reg, mask); @@ -423,10 +424,10 @@ { switch(param) { case 0: - return simple_feature_tweak(node, macio_ohare, + return simple_feature_tweak(node, macio_unknown, HEATHROW_FCR, HRW_IDE0_ENABLE, value); case 1: - return simple_feature_tweak(node, macio_ohare, + return simple_feature_tweak(node, macio_unknown, HEATHROW_FCR, HRW_BAY_IDE_ENABLE, value); default: return -ENODEV; @@ -438,10 +439,10 @@ { switch(param) { case 0: - return simple_feature_tweak(node, macio_ohare, + return simple_feature_tweak(node, macio_unknown, HEATHROW_FCR, HRW_IDE0_RESET_N, !value); case 1: - return simple_feature_tweak(node, macio_ohare, + return simple_feature_tweak(node, macio_unknown, HEATHROW_FCR, HRW_IDE1_RESET_N, !value); default: return -ENODEV; Comments: simple_feature_tweak shouldn't ignore the type argument it got passed. And requesting macio_unknown in the heathrow IDE functions is just a hack really, to make macio_find not care about the particular chip type. The Lombard would need macio_paddington, true heathrow based machines will need macio_heathrow here. macio_find either needs to check for compatible types, or we need to add another set of paddington specific functions that use macio_paddington instead of macio_ohare above (though I guess macio_ohare won't work on heathrow either?). Kind of defeats the whole abstraction purpose. Leave it to BenH or Paulus to find a proper fix for this. I could test this on Lombard only, no idea what macio type the Wallstreet uses. Michael