"Maciej W. Rozycki" wrote:
> On Wed, 3 Sep 2003, Kip Walker wrote:
> > Any objection to the following patch, which lets IDE work on 2.6 for
> > SiByte platforms? Before getting it checked in, I'm willing to hear
> > style comments. I need extra work to happen in ide_init_default_hwifs,
> > but that code doesn't fit well in <asm/ide.h> because most of the useful
> > declarations in <linux/ide.h> haven't been made yet. With this patch, I
> > hoist the code into a C file, but can call back into the existing code
> > (avoiding maintaining a duplicate).
> Hmm, dumb question -- can't your extra work be done in code specific to
> the host-adapter? The ide_init_default_hwifs() function looks like ISA
Well, I'm not sure. First, the only "special" host adaptor is the
so-called Generic Bus IDE, which is probed in drivers/ide/mips/swarm.c.
And I used to simply setup the ops in there. But on my platform,
PCI-IDE adaptors need my special non-swapping ops too. If I wait until
my host adaptor is setup, it's too late because in 2.6 the pci-ide code
has already tried to identify the drive using the swapping ops (my
experiments indicated that this was NOT the case in 2.4).
This routine is conveniently called AFTER default ops are setup for all
hwifs and before the PCI probing is done. It seemed like a nice place
fix things up.
I'm happy to hear any alternatives that I can make work. All that IDE
code gives me chills.