IN_BYTE and OUT_BYTE replacement
From: Andrei Martynov <hidden>
Date: 2009-07-09 12:28:38
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@web.de