Author: blueswirl
Date: 2008-04-24 17:26:13 +0200 (Thu, 24 Apr 2008)
New Revision: 186
Modified:
openbios-devel/drivers/ide.c
openbios-devel/include/sparc64/io.h
Log:
Revert broken r161, fix identification string printing (Igor Kovalenko)
Modified: openbios-devel/drivers/ide.c
===================================================================
--- openbios-devel/drivers/ide.c 2008-02-01 19:58:56 UTC (rev 185)
+++ openbios-devel/drivers/ide.c 2008-04-24 15:26:13 UTC (rev 186)
@@ -859,12 +859,12 @@
unsigned char *p = s, *end = &s[len & ~1];
/*
- * if little endian arch, byte swap the string
+ * if big endian arch, byte swap the string
*/
-#ifdef CONFIG_LITTLE_ENDIAN
+#ifdef CONFIG_BIG_ENDIAN
for (p = end ; p != s;) {
unsigned short *pp = (unsigned short *) (p -= 2);
- *pp = __be16_to_cpu(*pp);
+ *pp = __le16_to_cpu(*pp);
}
#endif
Modified: openbios-devel/include/sparc64/io.h
===================================================================
--- openbios-devel/include/sparc64/io.h 2008-02-01 19:58:56 UTC (rev 185)
+++ openbios-devel/include/sparc64/io.h 2008-04-24 15:26:13 UTC (rev 186)
@@ -43,8 +43,8 @@
* are arrays of bytes, and byte-swapping is not appropriate in
* that case. - paulus
*/
-#define insw(port, buf, ns) _insw((uint16_t *)((port)+_IO_BASE), (buf), (ns))
-#define outsw(port, buf, ns) _outsw((uint16_t *)((port)+_IO_BASE), (buf), (ns))
+#define insw(port, buf, ns) _insw_ns((uint16_t *)((port)+_IO_BASE), (buf), (ns))
+#define outsw(port, buf, ns) _outsw_ns((uint16_t *)((port)+_IO_BASE), (buf), (ns))
#define inb(port) in_8((uint8_t *)((port)+_IO_BASE))
#define outb(val, port) out_8((uint8_t *)((port)+_IO_BASE), (val))