[PATCH] friendly kernel 2.4.18 endianness logical mistakes patch correction on fbcon-cfb2.c and fbcon-cfb4.c

From: =?ISO-8859-1?Q? (francois.leblanc@cev-sa.com)
Date: Tue Jun 11 2002 - 11:13:39 EST


SECOND VERSION 2 small patchs to apply to::

drivers\video\fbcon-cf4.c o

This patchs correct the endianness logical of nibbletab, the first table is
u_char mades so no endian needed and the second swap correctly bytes in
LITTLE_ENDIAN. (old version swap half bytes instead of bytes).

Second version, is much more FRIENDLY and don't break current tree but let
the ability to create new option in driver/video/Config.in, option
CONFIG_FBCON_NOSWAP witch reverse and correct tables orders for fbcon-cfb4.c
and fbcon-cfb2.c.
Patchs don't add currently the CONFIG_FBCON_NOSWAP option definition in
Config.in since I use it in other tree so this can be quickly integrated to
linux kernel and defined in other linux kernel tree without too much
unuseful changes. Option will be added in main linux kernel
driver/video/Config.in only if necessary (It supposed not).

--- fbcon-cfb2.c.orig Tue Jun 11 15:27:57 2002
+++ fbcon-cfb2.c Tue Jun 11 17:37:52 2002
@@ -32,7 +32,7 @@

 static u_char nibbletab_cfb2[]={
-#if defined(__BIG_ENDIAN)
+#if defined(__BIG_ENDIAN) || (defined(__LITTLE_ENDIAN) && defined

--- fbcon-cfb4.c.orig Tue Jun 11 15:27:35 2002
+++ fbcon-cfb4.c Tue Jun 11 17:14:09 2002
@@ -37,7 +37,12 @@
-#elif defined(__LITTLE_ENDIAN)
+#elif defined(__LITTLE_ENDIAN) && defined (CONFIG_FBCON_NOSWAP)
+ 0x0000,0x0f00,0xf000,0xff00,
+ 0x000f,0x0f0f,0xf00f,0xff0f,
+ 0x00f0,0x0ff0,0xf0f0,0xfff0,
+ 0x00ff,0x0fff,0xf0ff,0xffff
+#elif defined(__LITTLE_ENDIAN)

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

This archive was generated by hypermail 2b29 : Sat Jun 15 2002 - 22:00:23 EST