summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2009-08-20 20:39:56 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2009-08-20 20:39:56 +0200
commit4a0a9fe7fee9d7032adc62e244a23d37013816e3 (patch)
treed8218035fc15c66e9a9a5584b8516c286728b18c
parent61d89dc5b0c09b1d89849eb4385835d8cbdd4cb3 (diff)
update foxboard to latest stuff
-rw-r--r--target/foxboard/Makefile2
-rw-r--r--target/foxboard/device.mk4
-rw-r--r--target/foxboard/patches/cris.patch216
-rw-r--r--toolchain/uClibc/Makefile4
4 files changed, 69 insertions, 157 deletions
diff --git a/target/foxboard/Makefile b/target/foxboard/Makefile
index 5a7c98c42..a72a0b6e1 100644
--- a/target/foxboard/Makefile
+++ b/target/foxboard/Makefile
@@ -18,7 +18,7 @@ tools-compile: $(TOOLS_BUILD_DIR)
kernel-install: tools-compile
PATH='${TARGET_PATH}' \
- mkfimage $(LINUX_DIR)/arch/cris/arch-v10/boot/zImage \
+ mkfimage $(LINUX_DIR)/arch/cris/boot/zImage \
$(BIN_DIR)/${DEVICE}-${ARCH}-kernel $(MAKE_TRACE)
ifeq ($(FS),squashfs)
diff --git a/target/foxboard/device.mk b/target/foxboard/device.mk
index 0c7504fbd..e9be810b6 100644
--- a/target/foxboard/device.mk
+++ b/target/foxboard/device.mk
@@ -1,7 +1,7 @@
ARCH:= cris
CPU_ARCH:= cris
-KERNEL_VERSION:= 2.6.29.1
+KERNEL_VERSION:= 2.6.30.5
KERNEL_RELEASE:= 1
-KERNEL_MD5SUM:= 4ada43caecb08fe2af71b416b6f586d8
+KERNEL_MD5SUM:= be9c3a697a54ac099c910d068ff0dc03
TARGET_OPTIMIZATION:= -Os -pipe -fno-peephole2
TARGET_CFLAGS_ARCH:= -march=v10
diff --git a/target/foxboard/patches/cris.patch b/target/foxboard/patches/cris.patch
index e0522d674..20dc5121c 100644
--- a/target/foxboard/patches/cris.patch
+++ b/target/foxboard/patches/cris.patch
@@ -1,6 +1,6 @@
-diff -Nur linux-2.6.29.1.orig/arch/cris/Kconfig linux-2.6.29.1/arch/cris/Kconfig
---- linux-2.6.29.1.orig/arch/cris/Kconfig 2009-04-02 22:55:27.000000000 +0200
-+++ linux-2.6.29.1/arch/cris/Kconfig 2009-05-09 01:52:49.814118199 +0200
+diff -Nur linux-2.6.30.5.orig/arch/cris/Kconfig /tmp/linux-2.6.30.5/arch/cris/Kconfig
+--- linux-2.6.30.5.orig/arch/cris/Kconfig 2009-08-16 23:19:38.000000000 +0200
++++ /tmp/linux-2.6.30.5/arch/cris/Kconfig 2009-08-20 18:55:37.850545072 +0200
@@ -168,6 +168,12 @@
help
Size of DRAM (decimal in MB) typically 2, 8 or 16.
@@ -35,9 +35,9 @@ diff -Nur linux-2.6.29.1.orig/arch/cris/Kconfig linux-2.6.29.1/arch/cris/Kconfig
source "drivers/net/Kconfig"
source "drivers/i2c/Kconfig"
-diff -Nur linux-2.6.29.1.orig/arch/cris/Makefile linux-2.6.29.1/arch/cris/Makefile
---- linux-2.6.29.1.orig/arch/cris/Makefile 2009-04-02 22:55:27.000000000 +0200
-+++ linux-2.6.29.1/arch/cris/Makefile 2009-05-09 01:53:12.795556299 +0200
+diff -Nur linux-2.6.30.5.orig/arch/cris/Makefile /tmp/linux-2.6.30.5/arch/cris/Makefile
+--- linux-2.6.30.5.orig/arch/cris/Makefile 2009-08-16 23:19:38.000000000 +0200
++++ /tmp/linux-2.6.30.5/arch/cris/Makefile 2009-08-20 18:55:37.850545072 +0200
@@ -40,12 +40,12 @@
LD = $(CROSS_COMPILE)ld -mcrislinux
@@ -53,102 +53,9 @@ diff -Nur linux-2.6.29.1.orig/arch/cris/Makefile linux-2.6.29.1/arch/cris/Makefi
KBUILD_CPPFLAGS += $(inc)
ifdef CONFIG_FRAME_POINTER
-diff -Nur linux-2.6.29.1.orig/arch/cris/arch-v10/boot/Makefile linux-2.6.29.1/arch/cris/arch-v10/boot/Makefile
---- linux-2.6.29.1.orig/arch/cris/arch-v10/boot/Makefile 2009-04-02 22:55:27.000000000 +0200
-+++ linux-2.6.29.1/arch/cris/arch-v10/boot/Makefile 2009-05-09 01:52:50.030131736 +0200
-@@ -2,10 +2,8 @@
- # arch/cris/arch-v10/boot/Makefile
- #
-
--OBJCOPYFLAGS = -O binary --remove-section=.bss
--
- subdir- := compressed rescue
--targets := Image
-+targets := Image zImage
-
- $(obj)/Image: vmlinux FORCE
- $(call if_changed,objcopy)
-@@ -13,7 +11,6 @@
-
- $(obj)/compressed/vmlinux: $(obj)/Image FORCE
- $(Q)$(MAKE) $(build)=$(obj)/compressed $@
-- $(Q)$(MAKE) $(build)=$(obj)/rescue $(obj)/rescue/rescue.bin
-
- $(obj)/zImage: $(obj)/compressed/vmlinux
- @cp $< $@
-diff -Nur linux-2.6.29.1.orig/arch/cris/arch-v10/boot/compressed/Makefile linux-2.6.29.1/arch/cris/arch-v10/boot/compressed/Makefile
---- linux-2.6.29.1.orig/arch/cris/arch-v10/boot/compressed/Makefile 2009-04-02 22:55:27.000000000 +0200
-+++ linux-2.6.29.1/arch/cris/arch-v10/boot/compressed/Makefile 2009-05-09 01:52:50.102136724 +0200
-@@ -6,7 +6,6 @@
- ccflags-y += -O2 $(LINUXINCLUDE)
- ldflags-y += -T $(srctree)/$(src)/decompress.lds
- OBJECTS = $(obj)/head.o $(obj)/misc.o
--OBJCOPYFLAGS = -O binary --remove-section=.bss
-
- quiet_cmd_image = BUILD $@
- cmd_image = cat $(obj)/decompress.bin $(obj)/piggy.gz > $@
-diff -Nur linux-2.6.29.1.orig/arch/cris/arch-v10/boot/compressed/misc.c linux-2.6.29.1/arch/cris/arch-v10/boot/compressed/misc.c
---- linux-2.6.29.1.orig/arch/cris/arch-v10/boot/compressed/misc.c 2009-04-02 22:55:27.000000000 +0200
-+++ linux-2.6.29.1/arch/cris/arch-v10/boot/compressed/misc.c 2009-05-09 01:52:50.126138666 +0200
-@@ -5,7 +5,7 @@
- * adapted for Linux.
- *
- * malloc by Hannu Savolainen 1993 and Matthias Urlichs 1994
-- * puts by Nick Holloway 1993, better puts by Martin Mares 1995
-+ * putstr by Nick Holloway 1993, better putstr by Martin Mares 1995
- * adaptation for Linux/CRIS Axis Communications AB, 1999
- *
- */
-@@ -102,7 +102,7 @@
- static long bytes_out = 0;
- static uch *output_data;
- static unsigned long output_ptr = 0;
--static void puts(const char *);
-+static void putstr(const char *);
-
- /* the "heap" is put directly after the BSS ends, at end */
-
-@@ -115,7 +115,7 @@
- /* decompressor info and error messages to serial console */
-
- static void
--puts(const char *s)
-+putstr(const char *s)
- {
- #ifndef CONFIG_ETRAX_DEBUG_PORT_NULL
- while (*s) {
-@@ -188,9 +188,9 @@
-
- static void error(char *x)
- {
-- puts("\n\n");
-- puts(x);
-- puts("\n\n -- System halted\n");
-+ putstr("\n\n");
-+ putstr(x);
-+ putstr("\n\n -- System halted\n");
-
- while (1); /* Halt */
- }
-@@ -234,13 +234,7 @@
-
- makecrc();
-
-- __asm__ volatile ("move $vr,%0" : "=rm" (revision));
-- if (revision < 10) {
-- puts("You need an ETRAX 100LX to run linux 2.6\n");
-- while (1);
-- }
--
-- puts("Uncompressing Linux...\n");
-+ putstr("Uncompressing Linux...\n");
- gunzip();
-- puts("Done. Now booting the kernel.\n");
-+ putstr("Done. Now booting the kernel.\n");
- }
-diff -Nur linux-2.6.29.1.orig/arch/cris/arch-v10/drivers/axisflashmap.c linux-2.6.29.1/arch/cris/arch-v10/drivers/axisflashmap.c
---- linux-2.6.29.1.orig/arch/cris/arch-v10/drivers/axisflashmap.c 2009-04-02 22:55:27.000000000 +0200
-+++ linux-2.6.29.1/arch/cris/arch-v10/drivers/axisflashmap.c 2009-05-09 01:52:50.210144343 +0200
+diff -Nur linux-2.6.30.5.orig/arch/cris/arch-v10/drivers/axisflashmap.c /tmp/linux-2.6.30.5/arch/cris/arch-v10/drivers/axisflashmap.c
+--- linux-2.6.30.5.orig/arch/cris/arch-v10/drivers/axisflashmap.c 2009-08-16 23:19:38.000000000 +0200
++++ /tmp/linux-2.6.30.5/arch/cris/arch-v10/drivers/axisflashmap.c 2009-08-20 18:55:49.807658902 +0200
@@ -122,19 +122,19 @@
*/
static struct mtd_partition axis_default_partitions[NUM_DEFAULT_PARTITIONS] = {
@@ -280,9 +187,9 @@ diff -Nur linux-2.6.29.1.orig/arch/cris/arch-v10/drivers/axisflashmap.c linux-2.
return err;
}
-diff -Nur linux-2.6.29.1.orig/arch/cris/arch-v10/drivers/ds1302.c linux-2.6.29.1/arch/cris/arch-v10/drivers/ds1302.c
---- linux-2.6.29.1.orig/arch/cris/arch-v10/drivers/ds1302.c 2009-04-02 22:55:27.000000000 +0200
-+++ linux-2.6.29.1/arch/cris/arch-v10/drivers/ds1302.c 2009-05-09 01:52:50.538166563 +0200
+diff -Nur linux-2.6.30.5.orig/arch/cris/arch-v10/drivers/ds1302.c /tmp/linux-2.6.30.5/arch/cris/arch-v10/drivers/ds1302.c
+--- linux-2.6.30.5.orig/arch/cris/arch-v10/drivers/ds1302.c 2009-08-16 23:19:38.000000000 +0200
++++ /tmp/linux-2.6.30.5/arch/cris/arch-v10/drivers/ds1302.c 2009-08-20 18:55:49.811661367 +0200
@@ -21,6 +21,7 @@
#include <linux/delay.h>
#include <linux/bcd.h>
@@ -315,9 +222,9 @@ diff -Nur linux-2.6.29.1.orig/arch/cris/arch-v10/drivers/ds1302.c linux-2.6.29.1
return 0;
}
-diff -Nur linux-2.6.29.1.orig/arch/cris/arch-v10/drivers/gpio.c linux-2.6.29.1/arch/cris/arch-v10/drivers/gpio.c
---- linux-2.6.29.1.orig/arch/cris/arch-v10/drivers/gpio.c 2009-04-02 22:55:27.000000000 +0200
-+++ linux-2.6.29.1/arch/cris/arch-v10/drivers/gpio.c 2009-05-09 01:52:50.586168771 +0200
+diff -Nur linux-2.6.30.5.orig/arch/cris/arch-v10/drivers/gpio.c /tmp/linux-2.6.30.5/arch/cris/arch-v10/drivers/gpio.c
+--- linux-2.6.30.5.orig/arch/cris/arch-v10/drivers/gpio.c 2009-08-16 23:19:38.000000000 +0200
++++ /tmp/linux-2.6.30.5/arch/cris/arch-v10/drivers/gpio.c 2009-08-20 18:55:49.811661367 +0200
@@ -21,6 +21,7 @@
#include <linux/poll.h>
#include <linux/init.h>
@@ -351,18 +258,18 @@ diff -Nur linux-2.6.29.1.orig/arch/cris/arch-v10/drivers/gpio.c linux-2.6.29.1/a
/* Clear all leds */
#if defined (CONFIG_ETRAX_CSP0_LEDS) || defined (CONFIG_ETRAX_PA_LEDS) || defined (CONFIG_ETRAX_PB_LEDS)
CRIS_LED_NETWORK_SET(0);
-diff -Nur linux-2.6.29.1.orig/arch/cris/arch-v10/lib/hw_settings.S linux-2.6.29.1/arch/cris/arch-v10/lib/hw_settings.S
---- linux-2.6.29.1.orig/arch/cris/arch-v10/lib/hw_settings.S 2009-04-02 22:55:27.000000000 +0200
-+++ linux-2.6.29.1/arch/cris/arch-v10/lib/hw_settings.S 2009-05-09 01:52:50.690174762 +0200
+diff -Nur linux-2.6.30.5.orig/arch/cris/arch-v10/lib/hw_settings.S /tmp/linux-2.6.30.5/arch/cris/arch-v10/lib/hw_settings.S
+--- linux-2.6.30.5.orig/arch/cris/arch-v10/lib/hw_settings.S 2009-08-16 23:19:38.000000000 +0200
++++ /tmp/linux-2.6.30.5/arch/cris/arch-v10/lib/hw_settings.S 2009-08-20 18:55:49.811661367 +0200
@@ -60,3 +60,5 @@
.dword R_PORT_PB_SET
.dword PB_SET_VALUE
.dword 0 ; No more register values
+ .ascii "ACME_PART_MAGIC"
+ .dword 0xdeadc0de
-diff -Nur linux-2.6.29.1.orig/arch/cris/arch-v10/mm/init.c linux-2.6.29.1/arch/cris/arch-v10/mm/init.c
---- linux-2.6.29.1.orig/arch/cris/arch-v10/mm/init.c 2009-04-02 22:55:27.000000000 +0200
-+++ linux-2.6.29.1/arch/cris/arch-v10/mm/init.c 2009-05-09 01:52:50.754179285 +0200
+diff -Nur linux-2.6.30.5.orig/arch/cris/arch-v10/mm/init.c /tmp/linux-2.6.30.5/arch/cris/arch-v10/mm/init.c
+--- linux-2.6.30.5.orig/arch/cris/arch-v10/mm/init.c 2009-08-16 23:19:38.000000000 +0200
++++ /tmp/linux-2.6.30.5/arch/cris/arch-v10/mm/init.c 2009-08-20 18:55:49.811661367 +0200
@@ -184,6 +184,9 @@
free_area_init_node(0, zones_size, PAGE_OFFSET >> PAGE_SHIFT, 0);
@@ -373,10 +280,10 @@ diff -Nur linux-2.6.29.1.orig/arch/cris/arch-v10/mm/init.c linux-2.6.29.1/arch/c
/* Initialize remaps of some I/O-ports. It is important that this
* is called before any driver is initialized.
-diff -Nur linux-2.6.29.1.orig/drivers/net/cris/eth_v10.c linux-2.6.29.1/drivers/net/cris/eth_v10.c
---- linux-2.6.29.1.orig/drivers/net/cris/eth_v10.c 2009-04-02 22:55:27.000000000 +0200
-+++ linux-2.6.29.1/drivers/net/cris/eth_v10.c 2009-05-09 01:52:50.754179285 +0200
-@@ -1705,7 +1705,7 @@
+diff -Nur linux-2.6.30.5.orig/drivers/net/cris/eth_v10.c /tmp/linux-2.6.30.5/drivers/net/cris/eth_v10.c
+--- linux-2.6.30.5.orig/drivers/net/cris/eth_v10.c 2009-08-16 23:19:38.000000000 +0200
++++ /tmp/linux-2.6.30.5/drivers/net/cris/eth_v10.c 2009-08-20 18:55:49.811661367 +0200
+@@ -1711,7 +1711,7 @@
static void
e100_netpoll(struct net_device* netdev)
{
@@ -385,26 +292,26 @@ diff -Nur linux-2.6.29.1.orig/drivers/net/cris/eth_v10.c linux-2.6.29.1/drivers/
}
#endif
-diff -Nur linux-2.6.29.1.orig/drivers/serial/crisv10.c linux-2.6.29.1/drivers/serial/crisv10.c
---- linux-2.6.29.1.orig/drivers/serial/crisv10.c 2009-04-02 22:55:27.000000000 +0200
-+++ linux-2.6.29.1/drivers/serial/crisv10.c 2009-05-09 01:52:50.758178956 +0200
-@@ -27,6 +27,7 @@
+diff -Nur linux-2.6.30.5.orig/drivers/serial/crisv10.c /tmp/linux-2.6.30.5/drivers/serial/crisv10.c
+--- linux-2.6.30.5.orig/drivers/serial/crisv10.c 2009-08-16 23:19:38.000000000 +0200
++++ /tmp/linux-2.6.30.5/drivers/serial/crisv10.c 2009-08-20 18:58:30.409697920 +0200
+@@ -26,6 +26,7 @@
#include <linux/kernel.h>
#include <linux/mutex.h>
#include <linux/bitops.h>
+#include <linux/device.h>
-
- #include <asm/io.h>
- #include <asm/irq.h>
-@@ -4393,6 +4394,7 @@
- .tiocmset = rs_tiocmset
+ #include <linux/seq_file.h>
+ #include <linux/delay.h>
+ #include <linux/module.h>
+@@ -4414,6 +4415,7 @@
+ #endif
};
+static struct class *rs_class;
- static int __init
- rs_init(void)
+ static int __init rs_init(void)
{
-@@ -4527,6 +4529,24 @@
+ int i;
+@@ -4547,6 +4549,24 @@
#endif
#endif /* CONFIG_SVINTO_SIM */
@@ -429,28 +336,28 @@ diff -Nur linux-2.6.29.1.orig/drivers/serial/crisv10.c linux-2.6.29.1/drivers/se
return 0;
}
-diff -Nur linux-2.6.29.1.orig/drivers/usb/Makefile linux-2.6.29.1/drivers/usb/Makefile
---- linux-2.6.29.1.orig/drivers/usb/Makefile 2009-04-02 22:55:27.000000000 +0200
-+++ linux-2.6.29.1/drivers/usb/Makefile 2009-05-09 01:52:50.758178956 +0200
+diff -Nur linux-2.6.30.5.orig/drivers/usb/Makefile /tmp/linux-2.6.30.5/drivers/usb/Makefile
+--- linux-2.6.30.5.orig/drivers/usb/Makefile 2009-08-16 23:19:38.000000000 +0200
++++ /tmp/linux-2.6.30.5/drivers/usb/Makefile 2009-08-20 18:57:11.704787130 +0200
@@ -19,6 +19,7 @@
- obj-$(CONFIG_USB_U132_HCD) += host/
obj-$(CONFIG_USB_R8A66597_HCD) += host/
obj-$(CONFIG_USB_HWA_HCD) += host/
+ obj-$(CONFIG_USB_ISP1760_HCD) += host/
+obj-$(CONFIG_ETRAX_USB_HOST) += host/
obj-$(CONFIG_USB_C67X00_HCD) += c67x00/
-diff -Nur linux-2.6.29.1.orig/drivers/usb/host/Makefile linux-2.6.29.1/drivers/usb/host/Makefile
---- linux-2.6.29.1.orig/drivers/usb/host/Makefile 2009-04-02 22:55:27.000000000 +0200
-+++ linux-2.6.29.1/drivers/usb/host/Makefile 2009-05-09 01:52:50.758178956 +0200
+diff -Nur linux-2.6.30.5.orig/drivers/usb/host/Makefile /tmp/linux-2.6.30.5/drivers/usb/host/Makefile
+--- linux-2.6.30.5.orig/drivers/usb/host/Makefile 2009-08-16 23:19:38.000000000 +0200
++++ /tmp/linux-2.6.30.5/drivers/usb/host/Makefile 2009-08-20 18:55:49.819660151 +0200
@@ -29,3 +29,4 @@
obj-$(CONFIG_USB_R8A66597_HCD) += r8a66597-hcd.o
obj-$(CONFIG_USB_ISP1760_HCD) += isp1760.o
obj-$(CONFIG_USB_HWA_HCD) += hwa-hc.o
+obj-$(CONFIG_ETRAX_USB_HOST) += hc-crisv10.o
-diff -Nur linux-2.6.29.1.orig/drivers/usb/host/hc-cris-dbg.h linux-2.6.29.1/drivers/usb/host/hc-cris-dbg.h
---- linux-2.6.29.1.orig/drivers/usb/host/hc-cris-dbg.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.29.1/drivers/usb/host/hc-cris-dbg.h 2009-05-09 01:52:50.762178907 +0200
+diff -Nur linux-2.6.30.5.orig/drivers/usb/host/hc-cris-dbg.h /tmp/linux-2.6.30.5/drivers/usb/host/hc-cris-dbg.h
+--- linux-2.6.30.5.orig/drivers/usb/host/hc-cris-dbg.h 1970-01-01 01:00:00.000000000 +0100
++++ /tmp/linux-2.6.30.5/drivers/usb/host/hc-cris-dbg.h 2009-08-20 18:55:49.839661303 +0200
@@ -0,0 +1,146 @@
+
+/* macros for debug output */
@@ -598,10 +505,10 @@ diff -Nur linux-2.6.29.1.orig/drivers/usb/host/hc-cris-dbg.h linux-2.6.29.1/driv
+ }; \
+ s; \
+ })
-diff -Nur linux-2.6.29.1.orig/drivers/usb/host/hc-crisv10.c linux-2.6.29.1/drivers/usb/host/hc-crisv10.c
---- linux-2.6.29.1.orig/drivers/usb/host/hc-crisv10.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.29.1/drivers/usb/host/hc-crisv10.c 2009-05-09 01:52:50.834182770 +0200
-@@ -0,0 +1,4800 @@
+diff -Nur linux-2.6.30.5.orig/drivers/usb/host/hc-crisv10.c /tmp/linux-2.6.30.5/drivers/usb/host/hc-crisv10.c
+--- linux-2.6.30.5.orig/drivers/usb/host/hc-crisv10.c 1970-01-01 01:00:00.000000000 +0100
++++ /tmp/linux-2.6.30.5/drivers/usb/host/hc-crisv10.c 2009-08-20 20:04:48.211654313 +0200
+@@ -0,0 +1,4801 @@
+/*
+ *
+ * ETRAX 100LX USB Host Controller Driver
@@ -2832,6 +2739,7 @@ diff -Nur linux-2.6.29.1.orig/drivers/usb/host/hc-crisv10.c linux-2.6.29.1/drive
+ int epid;
+ char toggle;
+ int urb_num;
++ unsigned long flags;
+
+ DBFENTER;
+ ASSERT(urb_priv != NULL);
@@ -2999,7 +2907,6 @@ diff -Nur linux-2.6.29.1.orig/drivers/usb/host/hc-crisv10.c linux-2.6.29.1/drive
+
+ /*hinko link/unlink urb -> ep */
+ //spin_lock(&crisv10_hcd->lock);
-+ unsigned long flags;
+ spin_lock_irqsave(&crisv10_hcd->lock, flags);
+ usb_hcd_unlink_urb_from_ep(hcd, urb);
+ usb_hcd_giveback_urb(hcd, urb, status);
@@ -5142,6 +5049,7 @@ diff -Nur linux-2.6.29.1.orig/drivers/usb/host/hc-crisv10.c linux-2.6.29.1/drive
+ struct usb_hcd *hcd;
+ struct crisv10_hcd *crisv10_hcd;
+ int retval;
++ int rev_maj, rev_min;
+
+ /* Check DMA burst length */
+ if(IO_EXTRACT(R_BUS_CONFIG, dma_burst, *R_BUS_CONFIG) !=
@@ -5151,7 +5059,7 @@ diff -Nur linux-2.6.29.1.orig/drivers/usb/host/hc-crisv10.c linux-2.6.29.1/drive
+ return -EPERM;
+ }
+
-+ hcd = usb_create_hcd(&crisv10_hc_driver, dev, dev->bus_id);
++ hcd = usb_create_hcd(&crisv10_hc_driver, dev, dev_name(dev));
+ if (!hcd)
+ return -ENOMEM;
+
@@ -5166,8 +5074,8 @@ diff -Nur linux-2.6.29.1.orig/drivers/usb/host/hc-crisv10.c linux-2.6.29.1/drive
+ ETRAX_USB_RX_IRQ, ETRAX_USB_TX_IRQ);
+
+ /* Print out chip version read from registers */
-+ int rev_maj = *R_USB_REVISION & IO_MASK(R_USB_REVISION, major);
-+ int rev_min = *R_USB_REVISION & IO_MASK(R_USB_REVISION, minor);
++ rev_maj = *R_USB_REVISION & IO_MASK(R_USB_REVISION, major);
++ rev_min = *R_USB_REVISION & IO_MASK(R_USB_REVISION, minor);
+ if(rev_min == 0) {
+ devdrv_info("Etrax 100LX USB Revision %d v1,2\n", rev_maj);
+ } else {
@@ -5402,9 +5310,9 @@ diff -Nur linux-2.6.29.1.orig/drivers/usb/host/hc-crisv10.c linux-2.6.29.1/drive
+/* Module hooks */
+module_init(module_hcd_init);
+module_exit(module_hcd_exit);
-diff -Nur linux-2.6.29.1.orig/drivers/usb/host/hc-crisv10.h linux-2.6.29.1/drivers/usb/host/hc-crisv10.h
---- linux-2.6.29.1.orig/drivers/usb/host/hc-crisv10.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.29.1/drivers/usb/host/hc-crisv10.h 2009-05-09 01:52:50.842184906 +0200
+diff -Nur linux-2.6.30.5.orig/drivers/usb/host/hc-crisv10.h /tmp/linux-2.6.30.5/drivers/usb/host/hc-crisv10.h
+--- linux-2.6.30.5.orig/drivers/usb/host/hc-crisv10.h 1970-01-01 01:00:00.000000000 +0100
++++ /tmp/linux-2.6.30.5/drivers/usb/host/hc-crisv10.h 2009-08-20 18:55:50.199684523 +0200
@@ -0,0 +1,331 @@
+#ifndef __LINUX_ETRAX_USB_H
+#define __LINUX_ETRAX_USB_H
@@ -5737,9 +5645,9 @@ diff -Nur linux-2.6.29.1.orig/drivers/usb/host/hc-crisv10.h linux-2.6.29.1/drive
+#define USB_SB_command__full__yes 1
+
+#endif
-diff -Nur linux-2.6.29.1.orig/lib/klist.c linux-2.6.29.1/lib/klist.c
---- linux-2.6.29.1.orig/lib/klist.c 2009-04-02 22:55:27.000000000 +0200
-+++ linux-2.6.29.1/lib/klist.c 2009-05-09 01:52:50.846185695 +0200
+diff -Nur linux-2.6.30.5.orig/lib/klist.c /tmp/linux-2.6.30.5/lib/klist.c
+--- linux-2.6.30.5.orig/lib/klist.c 2009-08-16 23:19:38.000000000 +0200
++++ /tmp/linux-2.6.30.5/lib/klist.c 2009-08-20 18:55:50.199684523 +0200
@@ -60,7 +60,7 @@
{
knode->n_klist = klist;
diff --git a/toolchain/uClibc/Makefile b/toolchain/uClibc/Makefile
index 69b5d343a..2ac996fe8 100644
--- a/toolchain/uClibc/Makefile
+++ b/toolchain/uClibc/Makefile
@@ -12,6 +12,10 @@ include ${TOPDIR}/mk/buildhlp.mk
ifeq ($(ARCH),mips)
TARGET_CFLAGS:=$(subst Os,O2,$(TARGET_CFLAGS))
endif
+#workaround for cris and gcc 4.4, where -Os generates ICE
+ifeq ($(ARCH),cris)
+TARGET_CFLAGS:=$(subst Os,O2,$(TARGET_CFLAGS))
+endif
$(WRKBUILD)/.headers:
$(SED) 's,^CROSS=.*,CROSS=$(TARGET_CROSS),g' $(WRKBUILD)/Rules.mak