Hi, there were specific i/o macros IN_BYTE and OUT_BYTE in 2.4 kernel to access IDE registers, but seems they are gone in 2.6 kernel and replaced by ioread8 / iowrite8 that are used everywhere and not in libata only. In my case original code for 2.4 kernel wrote specific value to undocumented chipset register on *every* r/w access to *any* IDE register. #define OUT_BYTE(b,p) { outb(b,p); outb(255, JASPER_IDE_BASE + 0xe0); } static inline byte jasper_ide_in_byte(int p) { byte b; b = (byte)inb(p); outb(255, JASPER_IDE_BASE + 0xe0); return b; } #define IN_BYTE(p) jasper_ide_in_byte(p) Is there any way to reproduce this behavior in libata other than redefining ioread8/iowrite8? -- Best regards, Andrei mailto:andrei.martynov@xxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html