summaryrefslogtreecommitdiff
path: root/packages/linux/nslu2-kernel
diff options
context:
space:
mode:
authorRod Whitby <rod@whitby.id.au>2006-01-04 15:26:19 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2006-01-04 15:26:19 +0000
commit9c895c20853b999e4cc4de2c71e06746261d4321 (patch)
tree8cbe5e411560f931e212fec0e38a16a9432ff678 /packages/linux/nslu2-kernel
parent5eccfb8fa47f3bb6a55252bbe4cc7e108f9c410d (diff)
nslu2-kernel (and friends): Added the jffs2-endian-config patch to allow the JFFS2 endianness to be selected in .config for little-endian kernels with big-endian filesystems. Replaces the jffs2-force-be patch which could not be pushed upsteam. The MTD maintainer has agreed to consider the new patch.
Diffstat (limited to 'packages/linux/nslu2-kernel')
-rw-r--r--packages/linux/nslu2-kernel/2.6.15/15-jffs2-endian-config.patch68
-rw-r--r--packages/linux/nslu2-kernel/2.6.15/19-jffs2-force-be.patch13
-rw-r--r--packages/linux/nslu2-kernel/2.6.15/defconfig3
3 files changed, 71 insertions, 13 deletions
diff --git a/packages/linux/nslu2-kernel/2.6.15/15-jffs2-endian-config.patch b/packages/linux/nslu2-kernel/2.6.15/15-jffs2-endian-config.patch
new file mode 100644
index 0000000000..fdebb652a7
--- /dev/null
+++ b/packages/linux/nslu2-kernel/2.6.15/15-jffs2-endian-config.patch
@@ -0,0 +1,68 @@
+--- linux-2.6.15/fs/Kconfig~ 2006-01-03 13:51:10.000000000 +1030
++++ linux-2.6.15/fs/Kconfig 2006-01-05 01:35:36.000000000 +1030
+@@ -1132,6 +1132,31 @@ config JFFS2_CMODE_SIZE
+
+ endchoice
+
++choice
++ prompt "JFFS2 endianness"
++ default JFFS2_NATIVE_ENDIAN
++ depends on JFFS2_FS
++ help
++ You can set here the default endianness of JFFS2 from
++ the available options. Don't touch if unsure.
++
++config JFFS2_NATIVE_ENDIAN
++ bool "native endian"
++ help
++ Uses a native endian bytestream.
++
++config JFFS2_BIG_ENDIAN
++ bool "big endian"
++ help
++ Uses a big endian bytestream.
++
++config JFFS2_LITTLE_ENDIAN
++ bool "little endian"
++ help
++ Uses a little endian bytestream.
++
++endchoice
++
+ config CRAMFS
+ tristate "Compressed ROM file system support (cramfs)"
+ select ZLIB_INFLATE
+--- linux-2.6.15/fs/jffs2/nodelist.h~ 2006-01-05 01:37:06.000000000 +1030
++++ linux-2.6.15/fs/jffs2/nodelist.h 2006-01-05 01:37:54.000000000 +1030
+@@ -29,12 +29,10 @@
+ #include "os-linux.h"
+ #endif
+
+-#define JFFS2_NATIVE_ENDIAN
+-
+ /* Note we handle mode bits conversion from JFFS2 (i.e. Linux) to/from
+ whatever OS we're actually running on here too. */
+
+-#if defined(JFFS2_NATIVE_ENDIAN)
++#if defined(CONFIG_JFFS2_NATIVE_ENDIAN)
+ #define cpu_to_je16(x) ((jint16_t){x})
+ #define cpu_to_je32(x) ((jint32_t){x})
+ #define cpu_to_jemode(x) ((jmode_t){os_to_jffs2_mode(x)})
+@@ -42,7 +40,7 @@
+ #define je16_to_cpu(x) ((x).v16)
+ #define je32_to_cpu(x) ((x).v32)
+ #define jemode_to_cpu(x) (jffs2_to_os_mode((x).m))
+-#elif defined(JFFS2_BIG_ENDIAN)
++#elif defined(CONFIG_JFFS2_BIG_ENDIAN)
+ #define cpu_to_je16(x) ((jint16_t){cpu_to_be16(x)})
+ #define cpu_to_je32(x) ((jint32_t){cpu_to_be32(x)})
+ #define cpu_to_jemode(x) ((jmode_t){cpu_to_be32(os_to_jffs2_mode(x))})
+@@ -50,7 +48,7 @@
+ #define je16_to_cpu(x) (be16_to_cpu(x.v16))
+ #define je32_to_cpu(x) (be32_to_cpu(x.v32))
+ #define jemode_to_cpu(x) (be32_to_cpu(jffs2_to_os_mode((x).m)))
+-#elif defined(JFFS2_LITTLE_ENDIAN)
++#elif defined(CONFIG_JFFS2_LITTLE_ENDIAN)
+ #define cpu_to_je16(x) ((jint16_t){cpu_to_le16(x)})
+ #define cpu_to_je32(x) ((jint32_t){cpu_to_le32(x)})
+ #define cpu_to_jemode(x) ((jmode_t){cpu_to_le32(os_to_jffs2_mode(x))})
diff --git a/packages/linux/nslu2-kernel/2.6.15/19-jffs2-force-be.patch b/packages/linux/nslu2-kernel/2.6.15/19-jffs2-force-be.patch
deleted file mode 100644
index 09379031dd..0000000000
--- a/packages/linux/nslu2-kernel/2.6.15/19-jffs2-force-be.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- linux-2.6.15/fs/jffs2/nodelist.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/fs/jffs2/nodelist.h 1970-01-01 00:00:00.000000000 +0000
-@@ -44,7 +44,9 @@
- #define D2(x)
- #endif
-
--#define JFFS2_NATIVE_ENDIAN
-+#undef JFFS2_NATIVE_ENDIAN
-+#define JFFS2_BIG_ENDIAN 1
-+#undef JFFS2_LITTLE_ENDIAN
-
- /* Note we handle mode bits conversion from JFFS2 (i.e. Linux) to/from
- whatever OS we're actually running on here too. */
diff --git a/packages/linux/nslu2-kernel/2.6.15/defconfig b/packages/linux/nslu2-kernel/2.6.15/defconfig
index 883230ce19..218f2cae76 100644
--- a/packages/linux/nslu2-kernel/2.6.15/defconfig
+++ b/packages/linux/nslu2-kernel/2.6.15/defconfig
@@ -1420,6 +1420,9 @@ CONFIG_JFFS2_FS_WRITEBUFFER=y
CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_JFFS2_NATIVE_ENDIAN is not set
+CONFIG_JFFS2_BIG_ENDIAN=y
+# CONFIG_JFFS2_LITTLE_ENDIAN is not set
# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set