Re: IDE driver broken in bigendian 2.4.17 kernel
From: Carsten Langgaard <hidden>
Date: 2002-01-17 21:09:30
"Maciej W. Rozycki" wrote:
On Thu, 17 Jan 2002, Carsten Langgaard wrote:quoted
One could argue that the IDE driver should use it's own special functions (like ide_insl, etc ...) and not use the generic functions (insl, etc ...).If it's due to a problem with an IDE host adapter then it should be fixed within the IDE driver (or not at all and kept privately as needed). In no case the order of header inclusions may determine function or macro definitions.
The order of header inclusions doesn't matter, because the ide.h file include the io.h file, and that way io.h always get include first. The '#ifndef' in all header file makes sure it only get included once.
quoted
But all other architectures does it this way, so I'm just trying to follow the trend.It does not mean other architectures are right here. Possibly they have not hit the problem so far. If the problem is generic to a chipset, then you indeed need to redefine I/O macros, but then in <asm/io.h>. If that's PCI-specific, for example, then you should probably make the redefinition conditional on CONFIG_PCI.
I'm not in a position, where I can fix and not at least test the changes, that it needed in both the IDE driver as well as in all the other bigendian architectures ide.h files. I think my fix is the only one that doesn't break things for anyone else, you may argue that it isn't the right one and I kind of agree, but at this point I think it's the best solution.
-- + Maciej W. Rozycki, Technical University of Gdansk, Poland + +--------------------------------------------------------------+ + e-mail: macro@ds2.pg.gda.pl, PGP key available +