summaryrefslogtreecommitdiff
path: root/target/linux
diff options
context:
space:
mode:
authorWaldemar Brodkorb <mail@waldemar-brodkorb.de>2012-06-12 16:25:03 +0200
committerWaldemar Brodkorb <mail@waldemar-brodkorb.de>2012-06-12 16:25:03 +0200
commit53e9bc8736249f7c683bc040f5a6a0e1e8e1b5c0 (patch)
tree4f9756aa536ffab58aa312d349590b6f3304b5fc /target/linux
parent310bc7fd473bf865b438d9823ada30845b64b28b (diff)
some brcm patches for newer kernels
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/patches/3.0.30/brcm.patch90
-rw-r--r--target/linux/patches/3.1.10/brcm.patch90
-rw-r--r--target/linux/patches/3.2.18/brcm.patch (renamed from target/linux/patches/3.3.7/brcm.patch)101
3 files changed, 209 insertions, 72 deletions
diff --git a/target/linux/patches/3.0.30/brcm.patch b/target/linux/patches/3.0.30/brcm.patch
index 87f30da1d..548d26068 100644
--- a/target/linux/patches/3.0.30/brcm.patch
+++ b/target/linux/patches/3.0.30/brcm.patch
@@ -1,6 +1,6 @@
diff -Nur linux-2.6.39.4.orig/arch/mips/Kconfig linux-2.6.39.4/arch/mips/Kconfig
--- linux-2.6.39.4.orig/arch/mips/Kconfig 2011-08-03 21:43:28.000000000 +0200
-+++ linux-2.6.39.4/arch/mips/Kconfig 2012-01-17 20:37:12.000000000 +0100
++++ linux-2.6.39.4/arch/mips/Kconfig 2012-06-02 20:35:49.000000000 +0200
@@ -103,6 +103,12 @@
select GENERIC_GPIO
select SYS_HAS_EARLY_PRINTK
@@ -16,7 +16,7 @@ diff -Nur linux-2.6.39.4.orig/arch/mips/Kconfig linux-2.6.39.4/arch/mips/Kconfig
diff -Nur linux-2.6.39.4.orig/arch/mips/Makefile linux-2.6.39.4/arch/mips/Makefile
--- linux-2.6.39.4.orig/arch/mips/Makefile 2011-08-03 21:43:28.000000000 +0200
-+++ linux-2.6.39.4/arch/mips/Makefile 2012-01-17 20:35:09.000000000 +0100
++++ linux-2.6.39.4/arch/mips/Makefile 2012-06-02 20:35:49.000000000 +0200
@@ -76,6 +76,7 @@
all-$(CONFIG_BOOT_ELF32) := $(vmlinux-32)
all-$(CONFIG_BOOT_ELF64) := $(vmlinux-64)
@@ -44,7 +44,7 @@ diff -Nur linux-2.6.39.4.orig/arch/mips/Makefile linux-2.6.39.4/arch/mips/Makefi
endef
diff -Nur linux-2.6.39.4.orig/arch/mips/bcm47xx/Makefile linux-2.6.39.4/arch/mips/bcm47xx/Makefile
--- linux-2.6.39.4.orig/arch/mips/bcm47xx/Makefile 2011-08-03 21:43:28.000000000 +0200
-+++ linux-2.6.39.4/arch/mips/bcm47xx/Makefile 2012-01-17 20:35:09.000000000 +0100
++++ linux-2.6.39.4/arch/mips/bcm47xx/Makefile 2012-06-02 20:35:49.000000000 +0200
@@ -3,4 +3,4 @@
# under Linux.
#
@@ -53,7 +53,7 @@ diff -Nur linux-2.6.39.4.orig/arch/mips/bcm47xx/Makefile linux-2.6.39.4/arch/mip
+obj-y := gpio.o irq.o nvram.o prom.o serial.o setup.o time.o platform.o
diff -Nur linux-2.6.39.4.orig/arch/mips/bcm47xx/platform.c linux-2.6.39.4/arch/mips/bcm47xx/platform.c
--- linux-2.6.39.4.orig/arch/mips/bcm47xx/platform.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39.4/arch/mips/bcm47xx/platform.c 2012-01-17 20:35:09.000000000 +0100
++++ linux-2.6.39.4/arch/mips/bcm47xx/platform.c 2012-06-02 20:35:49.000000000 +0200
@@ -0,0 +1,146 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
@@ -203,8 +203,16 @@ diff -Nur linux-2.6.39.4.orig/arch/mips/bcm47xx/platform.c linux-2.6.39.4/arch/m
+device_initcall(bcm47xx_register_devices);
diff -Nur linux-2.6.39.4.orig/arch/mips/boot/compressed/Makefile linux-2.6.39.4/arch/mips/boot/compressed/Makefile
--- linux-2.6.39.4.orig/arch/mips/boot/compressed/Makefile 2011-08-03 21:43:28.000000000 +0200
-+++ linux-2.6.39.4/arch/mips/boot/compressed/Makefile 2012-01-17 20:35:09.000000000 +0100
-@@ -58,8 +58,13 @@
++++ linux-2.6.39.4/arch/mips/boot/compressed/Makefile 2012-06-02 20:37:43.000000000 +0200
+@@ -44,6 +44,7 @@
+ tool_$(CONFIG_KERNEL_BZIP2) = bzip2
+ tool_$(CONFIG_KERNEL_LZMA) = lzma
+ tool_$(CONFIG_KERNEL_LZO) = lzo
++tool_$(CONFIG_KERNEL_XZ) = xzkern
+
+ targets += vmlinux.bin.z
+ $(obj)/vmlinux.bin.z: $(obj)/vmlinux.bin FORCE
+@@ -58,8 +59,13 @@
# Calculate the load address of the compressed kernel image
hostprogs-y := calc_vmlinuz_load_addr
@@ -218,7 +226,7 @@ diff -Nur linux-2.6.39.4.orig/arch/mips/boot/compressed/Makefile linux-2.6.39.4/
vmlinuzobjs-y += $(obj)/piggy.o
-@@ -105,4 +110,12 @@
+@@ -105,4 +111,12 @@
vmlinuz.srec: vmlinuz
$(call cmd,objcopy)
@@ -232,9 +240,41 @@ diff -Nur linux-2.6.39.4.orig/arch/mips/boot/compressed/Makefile linux-2.6.39.4/
+ $(LD) $(LDFLAGS) -T arch/mips/boot/compressed/selfreloc.lds arch/mips/boot/compressed/selfreloc.o -o $@
+
+clean-files := $(objtree)/vmlinuz $(objtree)/vmlinuz.{32,ecoff,bin,srec,elf} $(objtree)/arch/mips/boot/compressed/selfreloc.{o,lds}
+diff -Nur linux-2.6.39.4.orig/arch/mips/boot/compressed/decompress.c linux-2.6.39.4/arch/mips/boot/compressed/decompress.c
+--- linux-2.6.39.4.orig/arch/mips/boot/compressed/decompress.c 2011-08-03 21:43:28.000000000 +0200
++++ linux-2.6.39.4/arch/mips/boot/compressed/decompress.c 2012-06-02 20:39:09.000000000 +0200
+@@ -43,7 +43,7 @@
+ /* activate the code for pre-boot environment */
+ #define STATIC static
+
+-#ifdef CONFIG_KERNEL_GZIP
++#if defined(CONFIG_KERNEL_GZIP) || defined(CONFIG_KERNEL_XZ)
+ void *memcpy(void *dest, const void *src, size_t n)
+ {
+ int i;
+@@ -54,6 +54,8 @@
+ d[i] = s[i];
+ return dest;
+ }
++#endif
++#ifdef CONFIG_KERNEL_GZIP
+ #include "../../../../lib/decompress_inflate.c"
+ #endif
+
+@@ -78,6 +80,10 @@
+ #include "../../../../lib/decompress_unlzo.c"
+ #endif
+
++#ifdef CONFIG_KERNEL_XZ
++#include "../../../../lib/decompress_unxz.c"
++#endif
++
+ void decompress_kernel(unsigned long boot_heap_start)
+ {
+ unsigned long zimage_start, zimage_size;
diff -Nur linux-2.6.39.4.orig/arch/mips/boot/compressed/selfreloc.S linux-2.6.39.4/arch/mips/boot/compressed/selfreloc.S
--- linux-2.6.39.4.orig/arch/mips/boot/compressed/selfreloc.S 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39.4/arch/mips/boot/compressed/selfreloc.S 2012-01-17 20:35:09.000000000 +0100
++++ linux-2.6.39.4/arch/mips/boot/compressed/selfreloc.S 2012-06-02 20:35:49.000000000 +0200
@@ -0,0 +1,54 @@
+/*-
+ * written 2011 by Thorsten Glaser <tg@freewrt.org> based on
@@ -292,7 +332,7 @@ diff -Nur linux-2.6.39.4.orig/arch/mips/boot/compressed/selfreloc.S linux-2.6.39
+imgend:
diff -Nur linux-2.6.39.4.orig/arch/mips/boot/compressed/selfreloc.lds.S linux-2.6.39.4/arch/mips/boot/compressed/selfreloc.lds.S
--- linux-2.6.39.4.orig/arch/mips/boot/compressed/selfreloc.lds.S 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39.4/arch/mips/boot/compressed/selfreloc.lds.S 2012-01-17 20:35:09.000000000 +0100
++++ linux-2.6.39.4/arch/mips/boot/compressed/selfreloc.lds.S 2012-06-02 20:35:49.000000000 +0200
@@ -0,0 +1,39 @@
+/*-
+ * written 2010 by Thorsten Glaser <tg@debian.org> based on
@@ -335,7 +375,7 @@ diff -Nur linux-2.6.39.4.orig/arch/mips/boot/compressed/selfreloc.lds.S linux-2.
+}
diff -Nur linux-2.6.39.4.orig/arch/mips/boot/compressed/uart-16550.c linux-2.6.39.4/arch/mips/boot/compressed/uart-16550.c
--- linux-2.6.39.4.orig/arch/mips/boot/compressed/uart-16550.c 2011-08-03 21:43:28.000000000 +0200
-+++ linux-2.6.39.4/arch/mips/boot/compressed/uart-16550.c 2012-01-17 20:35:09.000000000 +0100
++++ linux-2.6.39.4/arch/mips/boot/compressed/uart-16550.c 2012-06-02 20:35:49.000000000 +0200
@@ -18,6 +18,11 @@
#define PORT(offset) (CKSEG1ADDR(AR7_REGS_UART0) + (4 * offset))
#endif
@@ -350,7 +390,7 @@ diff -Nur linux-2.6.39.4.orig/arch/mips/boot/compressed/uart-16550.c linux-2.6.3
#endif
diff -Nur linux-2.6.39.4.orig/drivers/ssb/driver_mipscore.c linux-2.6.39.4/drivers/ssb/driver_mipscore.c
--- linux-2.6.39.4.orig/drivers/ssb/driver_mipscore.c 2011-08-03 21:43:28.000000000 +0200
-+++ linux-2.6.39.4/drivers/ssb/driver_mipscore.c 2012-01-17 20:35:09.000000000 +0100
++++ linux-2.6.39.4/drivers/ssb/driver_mipscore.c 2012-06-02 20:35:49.000000000 +0200
@@ -190,10 +190,11 @@
{
struct ssb_bus *bus = mcore->dev->bus;
@@ -366,7 +406,7 @@ diff -Nur linux-2.6.39.4.orig/drivers/ssb/driver_mipscore.c linux-2.6.39.4/drive
mcore->flash_buswidth = 1;
diff -Nur linux-2.6.39.4.orig/init/Kconfig linux-2.6.39.4/init/Kconfig
--- linux-2.6.39.4.orig/init/Kconfig 2011-08-03 21:43:28.000000000 +0200
-+++ linux-2.6.39.4/init/Kconfig 2012-01-17 20:35:09.000000000 +0100
++++ linux-2.6.39.4/init/Kconfig 2012-06-02 20:36:11.000000000 +0200
@@ -156,6 +156,7 @@
config KERNEL_GZIP
bool "Gzip"
@@ -391,7 +431,15 @@ diff -Nur linux-2.6.39.4.orig/init/Kconfig linux-2.6.39.4/init/Kconfig
help
The most recent compression algorithm.
Its ratio is best, decompression speed is between the other
-@@ -197,6 +200,7 @@
+@@ -182,6 +185,7 @@
+ config KERNEL_XZ
+ bool "XZ"
+ depends on HAVE_KERNEL_XZ
++ select DECOMPRESS_XZ
+ help
+ XZ uses the LZMA2 algorithm and instruction set specific
+ BCJ filters which can improve compression ratio of executable
+@@ -197,6 +201,7 @@
config KERNEL_LZO
bool "LZO"
depends on HAVE_KERNEL_LZO
@@ -399,3 +447,19 @@ diff -Nur linux-2.6.39.4.orig/init/Kconfig linux-2.6.39.4/init/Kconfig
help
Its compression ratio is the poorest among the 4. The kernel
size is about 10% bigger than gzip; however its speed
+diff -Nur linux-2.6.39.4.orig/lib/xz/xz_stream.h linux-2.6.39.4/lib/xz/xz_stream.h
+--- linux-2.6.39.4.orig/lib/xz/xz_stream.h 2011-08-03 21:43:28.000000000 +0200
++++ linux-2.6.39.4/lib/xz/xz_stream.h 2012-06-02 20:40:18.000000000 +0200
+@@ -40,7 +40,12 @@
+ * compressed size of the file to less than 256 MiB and may also weaken
+ * error detection slightly.
+ */
++
++#ifdef __mips__
++typedef uint32_t vli_type;
++#else
+ typedef uint64_t vli_type;
++#endif
+
+ #define VLI_MAX ((vli_type)-1 / 2)
+ #define VLI_UNKNOWN ((vli_type)-1)
diff --git a/target/linux/patches/3.1.10/brcm.patch b/target/linux/patches/3.1.10/brcm.patch
index 87f30da1d..548d26068 100644
--- a/target/linux/patches/3.1.10/brcm.patch
+++ b/target/linux/patches/3.1.10/brcm.patch
@@ -1,6 +1,6 @@
diff -Nur linux-2.6.39.4.orig/arch/mips/Kconfig linux-2.6.39.4/arch/mips/Kconfig
--- linux-2.6.39.4.orig/arch/mips/Kconfig 2011-08-03 21:43:28.000000000 +0200
-+++ linux-2.6.39.4/arch/mips/Kconfig 2012-01-17 20:37:12.000000000 +0100
++++ linux-2.6.39.4/arch/mips/Kconfig 2012-06-02 20:35:49.000000000 +0200
@@ -103,6 +103,12 @@
select GENERIC_GPIO
select SYS_HAS_EARLY_PRINTK
@@ -16,7 +16,7 @@ diff -Nur linux-2.6.39.4.orig/arch/mips/Kconfig linux-2.6.39.4/arch/mips/Kconfig
diff -Nur linux-2.6.39.4.orig/arch/mips/Makefile linux-2.6.39.4/arch/mips/Makefile
--- linux-2.6.39.4.orig/arch/mips/Makefile 2011-08-03 21:43:28.000000000 +0200
-+++ linux-2.6.39.4/arch/mips/Makefile 2012-01-17 20:35:09.000000000 +0100
++++ linux-2.6.39.4/arch/mips/Makefile 2012-06-02 20:35:49.000000000 +0200
@@ -76,6 +76,7 @@
all-$(CONFIG_BOOT_ELF32) := $(vmlinux-32)
all-$(CONFIG_BOOT_ELF64) := $(vmlinux-64)
@@ -44,7 +44,7 @@ diff -Nur linux-2.6.39.4.orig/arch/mips/Makefile linux-2.6.39.4/arch/mips/Makefi
endef
diff -Nur linux-2.6.39.4.orig/arch/mips/bcm47xx/Makefile linux-2.6.39.4/arch/mips/bcm47xx/Makefile
--- linux-2.6.39.4.orig/arch/mips/bcm47xx/Makefile 2011-08-03 21:43:28.000000000 +0200
-+++ linux-2.6.39.4/arch/mips/bcm47xx/Makefile 2012-01-17 20:35:09.000000000 +0100
++++ linux-2.6.39.4/arch/mips/bcm47xx/Makefile 2012-06-02 20:35:49.000000000 +0200
@@ -3,4 +3,4 @@
# under Linux.
#
@@ -53,7 +53,7 @@ diff -Nur linux-2.6.39.4.orig/arch/mips/bcm47xx/Makefile linux-2.6.39.4/arch/mip
+obj-y := gpio.o irq.o nvram.o prom.o serial.o setup.o time.o platform.o
diff -Nur linux-2.6.39.4.orig/arch/mips/bcm47xx/platform.c linux-2.6.39.4/arch/mips/bcm47xx/platform.c
--- linux-2.6.39.4.orig/arch/mips/bcm47xx/platform.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39.4/arch/mips/bcm47xx/platform.c 2012-01-17 20:35:09.000000000 +0100
++++ linux-2.6.39.4/arch/mips/bcm47xx/platform.c 2012-06-02 20:35:49.000000000 +0200
@@ -0,0 +1,146 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
@@ -203,8 +203,16 @@ diff -Nur linux-2.6.39.4.orig/arch/mips/bcm47xx/platform.c linux-2.6.39.4/arch/m
+device_initcall(bcm47xx_register_devices);
diff -Nur linux-2.6.39.4.orig/arch/mips/boot/compressed/Makefile linux-2.6.39.4/arch/mips/boot/compressed/Makefile
--- linux-2.6.39.4.orig/arch/mips/boot/compressed/Makefile 2011-08-03 21:43:28.000000000 +0200
-+++ linux-2.6.39.4/arch/mips/boot/compressed/Makefile 2012-01-17 20:35:09.000000000 +0100
-@@ -58,8 +58,13 @@
++++ linux-2.6.39.4/arch/mips/boot/compressed/Makefile 2012-06-02 20:37:43.000000000 +0200
+@@ -44,6 +44,7 @@
+ tool_$(CONFIG_KERNEL_BZIP2) = bzip2
+ tool_$(CONFIG_KERNEL_LZMA) = lzma
+ tool_$(CONFIG_KERNEL_LZO) = lzo
++tool_$(CONFIG_KERNEL_XZ) = xzkern
+
+ targets += vmlinux.bin.z
+ $(obj)/vmlinux.bin.z: $(obj)/vmlinux.bin FORCE
+@@ -58,8 +59,13 @@
# Calculate the load address of the compressed kernel image
hostprogs-y := calc_vmlinuz_load_addr
@@ -218,7 +226,7 @@ diff -Nur linux-2.6.39.4.orig/arch/mips/boot/compressed/Makefile linux-2.6.39.4/
vmlinuzobjs-y += $(obj)/piggy.o
-@@ -105,4 +110,12 @@
+@@ -105,4 +111,12 @@
vmlinuz.srec: vmlinuz
$(call cmd,objcopy)
@@ -232,9 +240,41 @@ diff -Nur linux-2.6.39.4.orig/arch/mips/boot/compressed/Makefile linux-2.6.39.4/
+ $(LD) $(LDFLAGS) -T arch/mips/boot/compressed/selfreloc.lds arch/mips/boot/compressed/selfreloc.o -o $@
+
+clean-files := $(objtree)/vmlinuz $(objtree)/vmlinuz.{32,ecoff,bin,srec,elf} $(objtree)/arch/mips/boot/compressed/selfreloc.{o,lds}
+diff -Nur linux-2.6.39.4.orig/arch/mips/boot/compressed/decompress.c linux-2.6.39.4/arch/mips/boot/compressed/decompress.c
+--- linux-2.6.39.4.orig/arch/mips/boot/compressed/decompress.c 2011-08-03 21:43:28.000000000 +0200
++++ linux-2.6.39.4/arch/mips/boot/compressed/decompress.c 2012-06-02 20:39:09.000000000 +0200
+@@ -43,7 +43,7 @@
+ /* activate the code for pre-boot environment */
+ #define STATIC static
+
+-#ifdef CONFIG_KERNEL_GZIP
++#if defined(CONFIG_KERNEL_GZIP) || defined(CONFIG_KERNEL_XZ)
+ void *memcpy(void *dest, const void *src, size_t n)
+ {
+ int i;
+@@ -54,6 +54,8 @@
+ d[i] = s[i];
+ return dest;
+ }
++#endif
++#ifdef CONFIG_KERNEL_GZIP
+ #include "../../../../lib/decompress_inflate.c"
+ #endif
+
+@@ -78,6 +80,10 @@
+ #include "../../../../lib/decompress_unlzo.c"
+ #endif
+
++#ifdef CONFIG_KERNEL_XZ
++#include "../../../../lib/decompress_unxz.c"
++#endif
++
+ void decompress_kernel(unsigned long boot_heap_start)
+ {
+ unsigned long zimage_start, zimage_size;
diff -Nur linux-2.6.39.4.orig/arch/mips/boot/compressed/selfreloc.S linux-2.6.39.4/arch/mips/boot/compressed/selfreloc.S
--- linux-2.6.39.4.orig/arch/mips/boot/compressed/selfreloc.S 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39.4/arch/mips/boot/compressed/selfreloc.S 2012-01-17 20:35:09.000000000 +0100
++++ linux-2.6.39.4/arch/mips/boot/compressed/selfreloc.S 2012-06-02 20:35:49.000000000 +0200
@@ -0,0 +1,54 @@
+/*-
+ * written 2011 by Thorsten Glaser <tg@freewrt.org> based on
@@ -292,7 +332,7 @@ diff -Nur linux-2.6.39.4.orig/arch/mips/boot/compressed/selfreloc.S linux-2.6.39
+imgend:
diff -Nur linux-2.6.39.4.orig/arch/mips/boot/compressed/selfreloc.lds.S linux-2.6.39.4/arch/mips/boot/compressed/selfreloc.lds.S
--- linux-2.6.39.4.orig/arch/mips/boot/compressed/selfreloc.lds.S 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39.4/arch/mips/boot/compressed/selfreloc.lds.S 2012-01-17 20:35:09.000000000 +0100
++++ linux-2.6.39.4/arch/mips/boot/compressed/selfreloc.lds.S 2012-06-02 20:35:49.000000000 +0200
@@ -0,0 +1,39 @@
+/*-
+ * written 2010 by Thorsten Glaser <tg@debian.org> based on
@@ -335,7 +375,7 @@ diff -Nur linux-2.6.39.4.orig/arch/mips/boot/compressed/selfreloc.lds.S linux-2.
+}
diff -Nur linux-2.6.39.4.orig/arch/mips/boot/compressed/uart-16550.c linux-2.6.39.4/arch/mips/boot/compressed/uart-16550.c
--- linux-2.6.39.4.orig/arch/mips/boot/compressed/uart-16550.c 2011-08-03 21:43:28.000000000 +0200
-+++ linux-2.6.39.4/arch/mips/boot/compressed/uart-16550.c 2012-01-17 20:35:09.000000000 +0100
++++ linux-2.6.39.4/arch/mips/boot/compressed/uart-16550.c 2012-06-02 20:35:49.000000000 +0200
@@ -18,6 +18,11 @@
#define PORT(offset) (CKSEG1ADDR(AR7_REGS_UART0) + (4 * offset))
#endif
@@ -350,7 +390,7 @@ diff -Nur linux-2.6.39.4.orig/arch/mips/boot/compressed/uart-16550.c linux-2.6.3
#endif
diff -Nur linux-2.6.39.4.orig/drivers/ssb/driver_mipscore.c linux-2.6.39.4/drivers/ssb/driver_mipscore.c
--- linux-2.6.39.4.orig/drivers/ssb/driver_mipscore.c 2011-08-03 21:43:28.000000000 +0200
-+++ linux-2.6.39.4/drivers/ssb/driver_mipscore.c 2012-01-17 20:35:09.000000000 +0100
++++ linux-2.6.39.4/drivers/ssb/driver_mipscore.c 2012-06-02 20:35:49.000000000 +0200
@@ -190,10 +190,11 @@
{
struct ssb_bus *bus = mcore->dev->bus;
@@ -366,7 +406,7 @@ diff -Nur linux-2.6.39.4.orig/drivers/ssb/driver_mipscore.c linux-2.6.39.4/drive
mcore->flash_buswidth = 1;
diff -Nur linux-2.6.39.4.orig/init/Kconfig linux-2.6.39.4/init/Kconfig
--- linux-2.6.39.4.orig/init/Kconfig 2011-08-03 21:43:28.000000000 +0200
-+++ linux-2.6.39.4/init/Kconfig 2012-01-17 20:35:09.000000000 +0100
++++ linux-2.6.39.4/init/Kconfig 2012-06-02 20:36:11.000000000 +0200
@@ -156,6 +156,7 @@
config KERNEL_GZIP
bool "Gzip"
@@ -391,7 +431,15 @@ diff -Nur linux-2.6.39.4.orig/init/Kconfig linux-2.6.39.4/init/Kconfig
help
The most recent compression algorithm.
Its ratio is best, decompression speed is between the other
-@@ -197,6 +200,7 @@
+@@ -182,6 +185,7 @@
+ config KERNEL_XZ
+ bool "XZ"
+ depends on HAVE_KERNEL_XZ
++ select DECOMPRESS_XZ
+ help
+ XZ uses the LZMA2 algorithm and instruction set specific
+ BCJ filters which can improve compression ratio of executable
+@@ -197,6 +201,7 @@
config KERNEL_LZO
bool "LZO"
depends on HAVE_KERNEL_LZO
@@ -399,3 +447,19 @@ diff -Nur linux-2.6.39.4.orig/init/Kconfig linux-2.6.39.4/init/Kconfig
help
Its compression ratio is the poorest among the 4. The kernel
size is about 10% bigger than gzip; however its speed
+diff -Nur linux-2.6.39.4.orig/lib/xz/xz_stream.h linux-2.6.39.4/lib/xz/xz_stream.h
+--- linux-2.6.39.4.orig/lib/xz/xz_stream.h 2011-08-03 21:43:28.000000000 +0200
++++ linux-2.6.39.4/lib/xz/xz_stream.h 2012-06-02 20:40:18.000000000 +0200
+@@ -40,7 +40,12 @@
+ * compressed size of the file to less than 256 MiB and may also weaken
+ * error detection slightly.
+ */
++
++#ifdef __mips__
++typedef uint32_t vli_type;
++#else
+ typedef uint64_t vli_type;
++#endif
+
+ #define VLI_MAX ((vli_type)-1 / 2)
+ #define VLI_UNKNOWN ((vli_type)-1)
diff --git a/target/linux/patches/3.3.7/brcm.patch b/target/linux/patches/3.2.18/brcm.patch
index 91fcf4777..e3e37237f 100644
--- a/target/linux/patches/3.3.7/brcm.patch
+++ b/target/linux/patches/3.2.18/brcm.patch
@@ -1,7 +1,7 @@
-diff -Nur linux-3.3.7.orig/arch/mips/Kconfig linux-3.3.7/arch/mips/Kconfig
---- linux-3.3.7.orig/arch/mips/Kconfig 2012-05-21 20:42:51.000000000 +0200
-+++ linux-3.3.7/arch/mips/Kconfig 2012-05-25 21:45:16.000000000 +0200
-@@ -102,6 +102,12 @@
+diff -Nur linux-3.2.18.orig/arch/mips/Kconfig linux-3.2.18/arch/mips/Kconfig
+--- linux-3.2.18.orig/arch/mips/Kconfig 2012-05-20 23:56:54.000000000 +0200
++++ linux-3.2.18/arch/mips/Kconfig 2012-06-07 17:55:16.000000000 +0200
+@@ -99,6 +99,12 @@
select GENERIC_GPIO
select SYS_HAS_EARLY_PRINTK
select CFE
@@ -14,9 +14,9 @@ diff -Nur linux-3.3.7.orig/arch/mips/Kconfig linux-3.3.7/arch/mips/Kconfig
help
Support for BCM47XX based boards
-diff -Nur linux-3.3.7.orig/arch/mips/Makefile linux-3.3.7/arch/mips/Makefile
---- linux-3.3.7.orig/arch/mips/Makefile 2012-05-21 20:42:51.000000000 +0200
-+++ linux-3.3.7/arch/mips/Makefile 2012-05-25 21:45:16.000000000 +0200
+diff -Nur linux-3.2.18.orig/arch/mips/Makefile linux-3.2.18/arch/mips/Makefile
+--- linux-3.2.18.orig/arch/mips/Makefile 2012-05-20 23:56:54.000000000 +0200
++++ linux-3.2.18/arch/mips/Makefile 2012-06-07 17:55:16.000000000 +0200
@@ -76,6 +76,7 @@
all-$(CONFIG_BOOT_ELF32) := $(vmlinux-32)
all-$(CONFIG_BOOT_ELF64) := $(vmlinux-64)
@@ -25,7 +25,7 @@ diff -Nur linux-3.3.7.orig/arch/mips/Makefile linux-3.3.7/arch/mips/Makefile
#
# GCC uses -G 0 -mabicalls -fpic as default. We don't want PIC in the kernel
-@@ -277,7 +278,7 @@
+@@ -276,7 +277,7 @@
$(Q)$(MAKE) $(build)=arch/mips/boot VMLINUX=$(vmlinux-32) arch/mips/boot/$@
# boot/compressed
@@ -34,7 +34,7 @@ diff -Nur linux-3.3.7.orig/arch/mips/Makefile linux-3.3.7/arch/mips/Makefile
$(Q)$(MAKE) $(build)=arch/mips/boot/compressed \
VMLINUX_LOAD_ADDRESS=$(load-y) 32bit-bfd=$(32bit-bfd) $@
-@@ -316,6 +317,7 @@
+@@ -315,6 +316,7 @@
echo ' vmlinuz.ecoff - ECOFF zboot image'
echo ' vmlinuz.bin - Raw binary zboot image'
echo ' vmlinuz.srec - SREC zboot image'
@@ -42,9 +42,9 @@ diff -Nur linux-3.3.7.orig/arch/mips/Makefile linux-3.3.7/arch/mips/Makefile
echo
echo ' These will be default as appropriate for a configured platform.'
endef
-diff -Nur linux-3.3.7.orig/arch/mips/bcm47xx/Makefile linux-3.3.7/arch/mips/bcm47xx/Makefile
---- linux-3.3.7.orig/arch/mips/bcm47xx/Makefile 2012-05-21 20:42:51.000000000 +0200
-+++ linux-3.3.7/arch/mips/bcm47xx/Makefile 2012-05-25 21:46:00.000000000 +0200
+diff -Nur linux-3.2.18.orig/arch/mips/bcm47xx/Makefile linux-3.2.18/arch/mips/bcm47xx/Makefile
+--- linux-3.2.18.orig/arch/mips/bcm47xx/Makefile 2012-05-20 23:56:54.000000000 +0200
++++ linux-3.2.18/arch/mips/bcm47xx/Makefile 2012-06-07 17:55:43.000000000 +0200
@@ -3,5 +3,4 @@
# under Linux.
#
@@ -52,9 +52,9 @@ diff -Nur linux-3.3.7.orig/arch/mips/bcm47xx/Makefile linux-3.3.7/arch/mips/bcm4
-obj-y += gpio.o irq.o nvram.o prom.o serial.o setup.o time.o
-obj-$(CONFIG_BCM47XX_SSB) += wgt634u.o
+obj-y += gpio.o irq.o nvram.o prom.o serial.o setup.o time.o platform.o
-diff -Nur linux-3.3.7.orig/arch/mips/bcm47xx/platform.c linux-3.3.7/arch/mips/bcm47xx/platform.c
---- linux-3.3.7.orig/arch/mips/bcm47xx/platform.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.3.7/arch/mips/bcm47xx/platform.c 2012-05-25 21:56:28.000000000 +0200
+diff -Nur linux-3.2.18.orig/arch/mips/bcm47xx/platform.c linux-3.2.18/arch/mips/bcm47xx/platform.c
+--- linux-3.2.18.orig/arch/mips/bcm47xx/platform.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-3.2.18/arch/mips/bcm47xx/platform.c 2012-06-07 18:19:11.000000000 +0200
@@ -0,0 +1,146 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
@@ -202,9 +202,9 @@ diff -Nur linux-3.3.7.orig/arch/mips/bcm47xx/platform.c linux-3.3.7/arch/mips/bc
+}
+
+device_initcall(bcm47xx_register_devices);
-diff -Nur linux-3.3.7.orig/arch/mips/boot/compressed/Makefile linux-3.3.7/arch/mips/boot/compressed/Makefile
---- linux-3.3.7.orig/arch/mips/boot/compressed/Makefile 2012-05-21 20:42:51.000000000 +0200
-+++ linux-3.3.7/arch/mips/boot/compressed/Makefile 2012-05-28 22:34:04.000000000 +0200
+diff -Nur linux-3.2.18.orig/arch/mips/boot/compressed/Makefile linux-3.2.18/arch/mips/boot/compressed/Makefile
+--- linux-3.2.18.orig/arch/mips/boot/compressed/Makefile 2012-05-20 23:56:54.000000000 +0200
++++ linux-3.2.18/arch/mips/boot/compressed/Makefile 2012-06-07 17:55:16.000000000 +0200
@@ -44,6 +44,7 @@
tool_$(CONFIG_KERNEL_BZIP2) = bzip2
tool_$(CONFIG_KERNEL_LZMA) = lzma
@@ -241,9 +241,9 @@ diff -Nur linux-3.3.7.orig/arch/mips/boot/compressed/Makefile linux-3.3.7/arch/m
+ $(LD) $(LDFLAGS) -T arch/mips/boot/compressed/selfreloc.lds arch/mips/boot/compressed/selfreloc.o -o $@
+
+clean-files := $(objtree)/vmlinuz $(objtree)/vmlinuz.{32,ecoff,bin,srec,elf} $(objtree)/arch/mips/boot/compressed/selfreloc.{o,lds}
-diff -Nur linux-3.3.7.orig/arch/mips/boot/compressed/decompress.c linux-3.3.7/arch/mips/boot/compressed/decompress.c
---- linux-3.3.7.orig/arch/mips/boot/compressed/decompress.c 2012-05-21 20:42:51.000000000 +0200
-+++ linux-3.3.7/arch/mips/boot/compressed/decompress.c 2012-05-28 22:33:19.000000000 +0200
+diff -Nur linux-3.2.18.orig/arch/mips/boot/compressed/decompress.c linux-3.2.18/arch/mips/boot/compressed/decompress.c
+--- linux-3.2.18.orig/arch/mips/boot/compressed/decompress.c 2012-05-20 23:56:54.000000000 +0200
++++ linux-3.2.18/arch/mips/boot/compressed/decompress.c 2012-06-07 17:55:16.000000000 +0200
@@ -43,7 +43,7 @@
/* activate the code for pre-boot environment */
#define STATIC static
@@ -262,20 +262,20 @@ diff -Nur linux-3.3.7.orig/arch/mips/boot/compressed/decompress.c linux-3.3.7/ar
#include "../../../../lib/decompress_inflate.c"
#endif
-@@ -74,6 +76,10 @@
- #include "../../../../lib/decompress_unlzma.c"
+@@ -78,6 +80,10 @@
+ #include "../../../../lib/decompress_unlzo.c"
#endif
+#ifdef CONFIG_KERNEL_XZ
+#include "../../../../lib/decompress_unxz.c"
+#endif
+
- #ifdef CONFIG_KERNEL_LZO
- #include "../../../../lib/decompress_unlzo.c"
- #endif
-diff -Nur linux-3.3.7.orig/arch/mips/boot/compressed/selfreloc.S linux-3.3.7/arch/mips/boot/compressed/selfreloc.S
---- linux-3.3.7.orig/arch/mips/boot/compressed/selfreloc.S 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.3.7/arch/mips/boot/compressed/selfreloc.S 2012-05-25 21:45:16.000000000 +0200
+ void decompress_kernel(unsigned long boot_heap_start)
+ {
+ unsigned long zimage_start, zimage_size;
+diff -Nur linux-3.2.18.orig/arch/mips/boot/compressed/selfreloc.S linux-3.2.18/arch/mips/boot/compressed/selfreloc.S
+--- linux-3.2.18.orig/arch/mips/boot/compressed/selfreloc.S 1970-01-01 01:00:00.000000000 +0100
++++ linux-3.2.18/arch/mips/boot/compressed/selfreloc.S 2012-06-07 17:55:16.000000000 +0200
@@ -0,0 +1,54 @@
+/*-
+ * written 2011 by Thorsten Glaser <tg@freewrt.org> based on
@@ -331,9 +331,9 @@ diff -Nur linux-3.3.7.orig/arch/mips/boot/compressed/selfreloc.S linux-3.3.7/arc
+ .globl imgend
+ .p2align 2
+imgend:
-diff -Nur linux-3.3.7.orig/arch/mips/boot/compressed/selfreloc.lds.S linux-3.3.7/arch/mips/boot/compressed/selfreloc.lds.S
---- linux-3.3.7.orig/arch/mips/boot/compressed/selfreloc.lds.S 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.3.7/arch/mips/boot/compressed/selfreloc.lds.S 2012-05-25 21:45:16.000000000 +0200
+diff -Nur linux-3.2.18.orig/arch/mips/boot/compressed/selfreloc.lds.S linux-3.2.18/arch/mips/boot/compressed/selfreloc.lds.S
+--- linux-3.2.18.orig/arch/mips/boot/compressed/selfreloc.lds.S 1970-01-01 01:00:00.000000000 +0100
++++ linux-3.2.18/arch/mips/boot/compressed/selfreloc.lds.S 2012-06-07 17:55:16.000000000 +0200
@@ -0,0 +1,39 @@
+/*-
+ * written 2010 by Thorsten Glaser <tg@debian.org> based on
@@ -374,9 +374,9 @@ diff -Nur linux-3.3.7.orig/arch/mips/boot/compressed/selfreloc.lds.S linux-3.3.7
+ *(.gnu.attributes)
+ }
+}
-diff -Nur linux-3.3.7.orig/arch/mips/boot/compressed/uart-16550.c linux-3.3.7/arch/mips/boot/compressed/uart-16550.c
---- linux-3.3.7.orig/arch/mips/boot/compressed/uart-16550.c 2012-05-21 20:42:51.000000000 +0200
-+++ linux-3.3.7/arch/mips/boot/compressed/uart-16550.c 2012-05-25 21:45:16.000000000 +0200
+diff -Nur linux-3.2.18.orig/arch/mips/boot/compressed/uart-16550.c linux-3.2.18/arch/mips/boot/compressed/uart-16550.c
+--- linux-3.2.18.orig/arch/mips/boot/compressed/uart-16550.c 2012-05-20 23:56:54.000000000 +0200
++++ linux-3.2.18/arch/mips/boot/compressed/uart-16550.c 2012-06-07 17:55:16.000000000 +0200
@@ -18,6 +18,11 @@
#define PORT(offset) (CKSEG1ADDR(AR7_REGS_UART0) + (4 * offset))
#endif
@@ -389,9 +389,9 @@ diff -Nur linux-3.3.7.orig/arch/mips/boot/compressed/uart-16550.c linux-3.3.7/ar
#ifndef PORT
#error please define the serial port address for your own machine
#endif
-diff -Nur linux-3.3.7.orig/drivers/ssb/driver_mipscore.c linux-3.3.7/drivers/ssb/driver_mipscore.c
---- linux-3.3.7.orig/drivers/ssb/driver_mipscore.c 2012-05-21 20:42:51.000000000 +0200
-+++ linux-3.3.7/drivers/ssb/driver_mipscore.c 2012-05-25 21:45:16.000000000 +0200
+diff -Nur linux-3.2.18.orig/drivers/ssb/driver_mipscore.c linux-3.2.18/drivers/ssb/driver_mipscore.c
+--- linux-3.2.18.orig/drivers/ssb/driver_mipscore.c 2012-05-20 23:56:54.000000000 +0200
++++ linux-3.2.18/drivers/ssb/driver_mipscore.c 2012-06-07 17:55:16.000000000 +0200
@@ -190,10 +190,11 @@
{
struct ssb_bus *bus = mcore->dev->bus;
@@ -405,9 +405,9 @@ diff -Nur linux-3.3.7.orig/drivers/ssb/driver_mipscore.c linux-3.3.7/drivers/ssb
if ((ssb_read32(bus->chipco.dev, SSB_CHIPCO_FLASH_CFG)
& SSB_CHIPCO_CFG_DS16) == 0)
mcore->flash_buswidth = 1;
-diff -Nur linux-3.3.7.orig/init/Kconfig linux-3.3.7/init/Kconfig
---- linux-3.3.7.orig/init/Kconfig 2012-05-21 20:42:51.000000000 +0200
-+++ linux-3.3.7/init/Kconfig 2012-05-25 21:45:16.000000000 +0200
+diff -Nur linux-3.2.18.orig/init/Kconfig linux-3.2.18/init/Kconfig
+--- linux-3.2.18.orig/init/Kconfig 2012-05-20 23:56:54.000000000 +0200
++++ linux-3.2.18/init/Kconfig 2012-06-07 17:55:16.000000000 +0200
@@ -155,6 +155,7 @@
config KERNEL_GZIP
bool "Gzip"
@@ -432,7 +432,15 @@ diff -Nur linux-3.3.7.orig/init/Kconfig linux-3.3.7/init/Kconfig
help
The most recent compression algorithm.
Its ratio is best, decompression speed is between the other
-@@ -196,6 +199,7 @@
+@@ -181,6 +184,7 @@
+ config KERNEL_XZ
+ bool "XZ"
+ depends on HAVE_KERNEL_XZ
++ select DECOMPRESS_XZ
+ help
+ XZ uses the LZMA2 algorithm and instruction set specific
+ BCJ filters which can improve compression ratio of executable
+@@ -196,6 +200,7 @@
config KERNEL_LZO
bool "LZO"
depends on HAVE_KERNEL_LZO
@@ -440,13 +448,14 @@ diff -Nur linux-3.3.7.orig/init/Kconfig linux-3.3.7/init/Kconfig
help
Its compression ratio is the poorest among the 4. The kernel
size is about 10% bigger than gzip; however its speed
-diff -Nur linux-3.3.7.orig/lib/xz/xz_stream.h linux-3.3.7/lib/xz/xz_stream.h
---- linux-3.3.7.orig/lib/xz/xz_stream.h 2012-05-21 20:42:51.000000000 +0200
-+++ linux-3.3.7/lib/xz/xz_stream.h 2012-05-28 22:32:40.000000000 +0200
-@@ -40,7 +40,11 @@
+diff -Nur linux-3.2.18.orig/lib/xz/xz_stream.h linux-3.2.18/lib/xz/xz_stream.h
+--- linux-3.2.18.orig/lib/xz/xz_stream.h 2012-05-20 23:56:54.000000000 +0200
++++ linux-3.2.18/lib/xz/xz_stream.h 2012-06-07 17:55:16.000000000 +0200
+@@ -40,7 +40,12 @@
* compressed size of the file to less than 256 MiB and may also weaken
* error detection slightly.
*/
++
+#ifdef __mips__
+typedef uint32_t vli_type;
+#else