summaryrefslogtreecommitdiff
path: root/target/linux/etrax/patches-2.6.25
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/etrax/patches-2.6.25')
-rw-r--r--target/linux/etrax/patches-2.6.25/013-crisdriver-sysfs.patch74
-rw-r--r--target/linux/etrax/patches-2.6.25/100-compile_fixes.patch302
-rw-r--r--target/linux/etrax/patches-2.6.25/101-cris-eth-driver.patch11
-rw-r--r--target/linux/etrax/patches-2.6.25/102-missing_arch_include.patch11
-rw-r--r--target/linux/etrax/patches-2.6.25/200-samsung_flash.patch13
-rw-r--r--target/linux/etrax/patches-2.6.25/201-flashsize.patch88
-rw-r--r--target/linux/etrax/patches-2.6.25/300-sysfs.patch43
-rw-r--r--target/linux/etrax/patches-2.6.25/301-usb_support.patch33
-rw-r--r--target/linux/etrax/patches-2.6.25/400-Kconfig_source.patch16
-rw-r--r--target/linux/etrax/patches-2.6.25/500-i2c_gvc.patch45
10 files changed, 0 insertions, 636 deletions
diff --git a/target/linux/etrax/patches-2.6.25/013-crisdriver-sysfs.patch b/target/linux/etrax/patches-2.6.25/013-crisdriver-sysfs.patch
deleted file mode 100644
index c969468012..0000000000
--- a/target/linux/etrax/patches-2.6.25/013-crisdriver-sysfs.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-Index: linux-2.6.25.16/arch/cris/arch-v10/drivers/ds1302.c
-===================================================================
---- linux-2.6.25.16.o/arch/cris/arch-v10/drivers/ds1302.c 2008-10-26 15:54:02.000000000 +0100
-+++ linux-2.6.25.16/arch/cris/arch-v10/drivers/ds1302.c 2008-10-26 15:59:37.000000000 +0100
-@@ -21,6 +21,7 @@
- #include <linux/delay.h>
- #include <linux/bcd.h>
- #include <linux/capability.h>
-+#include <linux/device.h>
-
- #include <asm/uaccess.h>
- #include <asm/system.h>
-@@ -489,6 +490,10 @@
- return 0;
- }
-
-+#ifdef CONFIG_SYSFS
-+static struct class *rtc_class;
-+#endif
-+
- static int __init ds1302_register(void)
- {
- ds1302_init();
-@@ -497,6 +502,12 @@
- ds1302_name, RTC_MAJOR_NR);
- return -1;
- }
-+ #ifdef CONFIG_SYSFS
-+ rtc_class = class_create(THIS_MODULE, "rtc");
-+ class_device_create(rtc_class, NULL, MKDEV(RTC_MAJOR_NR, 0),
-+ NULL, "rtc");
-+ #endif
-+
- return 0;
-
- }
-Index: linux-2.6.25.16/arch/cris/arch-v10/drivers/gpio.c
-===================================================================
---- linux-2.6.25.16.o/arch/cris/arch-v10/drivers/gpio.c 2008-10-26 15:56:28.000000000 +0100
-+++ linux-2.6.25.16/arch/cris/arch-v10/drivers/gpio.c 2008-10-26 15:57:41.000000000 +0100
-@@ -20,6 +20,7 @@
- #include <linux/poll.h>
- #include <linux/init.h>
- #include <linux/interrupt.h>
-+#include <linux/device.h>
-
- #include <asm/etraxgpio.h>
- #include <asm/arch/svinto.h>
-@@ -768,6 +769,10 @@
-
- /* main driver initialization routine, called from mem.c */
-
-+#ifdef CONFIG_SYSFS
-+static struct class *gpio_class;
-+#endif
-+
- static int __init gpio_init(void)
- {
- int res;
-@@ -781,6 +786,13 @@
- return res;
- }
-
-+#ifdef CONFIG_SYSFS
-+ gpio_class = class_create(THIS_MODULE, "gpio");
-+ class_device_create(gpio_class, NULL, MKDEV(GPIO_MAJOR, 0), NULL, "gpioa");
-+ class_device_create(gpio_class, NULL, MKDEV(GPIO_MAJOR, 1), NULL, "gpiob");
-+ class_device_create(gpio_class, NULL, MKDEV(GPIO_MAJOR, 2), NULL, "leds");
-+ class_device_create(gpio_class, NULL, MKDEV(GPIO_MAJOR, 3), NULL, "gpiog");
-+#endif
- /* 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 --git a/target/linux/etrax/patches-2.6.25/100-compile_fixes.patch b/target/linux/etrax/patches-2.6.25/100-compile_fixes.patch
deleted file mode 100644
index 2a9fc6582c..0000000000
--- a/target/linux/etrax/patches-2.6.25/100-compile_fixes.patch
+++ /dev/null
@@ -1,302 +0,0 @@
---- a/arch/cris/Makefile
-+++ b/arch/cris/Makefile
-@@ -33,7 +33,7 @@ endif
-
- LD = $(CROSS_COMPILE)ld -mcrislinux
-
--OBJCOPYFLAGS := -O binary -R .note -R .comment -S
-+OBJCOPYFLAGS := -O binary -R .bss -R .note -R .note.gnu.build-id -R .comment -S
-
- CPPFLAGS_vmlinux.lds = -DDRAM_VIRTUAL_BASE=0x$(CONFIG_ETRAX_DRAM_VIRTUAL_BASE)
-
---- a/arch/cris/arch-v10/boot/Makefile
-+++ b/arch/cris/arch-v10/boot/Makefile
-@@ -2,9 +2,6 @@
- # arch/cris/arch-v10/boot/Makefile
- #
-
--OBJCOPY = objcopy-cris
--OBJCOPYFLAGS = -O binary --remove-section=.bss
--
- subdir- := compressed rescue
- targets := Image
-
-@@ -14,7 +11,6 @@ $(obj)/Image: vmlinux FORCE
-
- $(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 $< $@
---- a/arch/cris/arch-v10/boot/compressed/Makefile
-+++ b/arch/cris/arch-v10/boot/compressed/Makefile
-@@ -2,13 +2,9 @@
- # arch/cris/arch-v10/boot/compressed/Makefile
- #
-
--CC = gcc-cris -melf $(LINUXINCLUDE)
- ccflags-y += -O2
--LD = ld-cris
- ldflags-y += -T $(obj)/decompress.ld
- OBJECTS = $(obj)/head.o $(obj)/misc.o
--OBJCOPY = objcopy-cris
--OBJCOPYFLAGS = -O binary --remove-section=.bss
-
- quiet_cmd_image = BUILD $@
- cmd_image = cat $(obj)/decompress.bin $(obj)/piggy.gz > $@
-@@ -21,12 +17,6 @@
- $(obj)/decompress.bin: $(obj)/decompress.o FORCE
- $(call if_changed,objcopy)
-
--$(obj)/head.o: $(obj)/head.S .config
-- @$(CC) -D__ASSEMBLY__ -traditional -c $< -o $@
--
--$(obj)/misc.o: $(obj)/misc.c .config
-- @$(CC) -D__KERNEL__ -c $< -o $@
--
- $(obj)/vmlinux: $(obj)/piggy.gz $(obj)/decompress.bin FORCE
- $(call if_changed,image)
-
---- a/arch/cris/arch-v10/boot/compressed/decompress.ld
-+++ b/arch/cris/arch-v10/boot/compressed/decompress.ld
-@@ -1,4 +1,4 @@
--OUTPUT_FORMAT(elf32-us-cris)
-+OUTPUT_FORMAT(elf32-cris)
-
- MEMORY
- {
---- a/arch/cris/arch-v10/boot/compressed/head.S
-+++ b/arch/cris/arch-v10/boot/compressed/head.S
-@@ -10,13 +10,14 @@
-
- #define ASSEMBLER_MACROS_ONLY
- #include <asm/arch/sv_addr_ag.h>
-+#include <linux/autoconf.h>
-
- #define RAM_INIT_MAGIC 0x56902387
- #define COMMAND_LINE_MAGIC 0x87109563
-
- ;; Exported symbols
-
-- .globl _input_data
-+ .globl input_data
-
-
- .text
-@@ -26,7 +27,7 @@
-
- ;; We need to initialze DRAM registers before we start using the DRAM
-
-- cmp.d RAM_INIT_MAGIC, r8 ; Already initialized?
-+ cmp.d RAM_INIT_MAGIC, $r8 ; Already initialized?
- beq dram_init_finished
- nop
-
-@@ -36,91 +37,91 @@ dram_init_finished:
-
- ;; Initiate the PA and PB ports
-
-- move.b CONFIG_ETRAX_DEF_R_PORT_PA_DATA, r0
-- move.b r0, [R_PORT_PA_DATA]
-+ move.b CONFIG_ETRAX_DEF_R_PORT_PA_DATA, $r0
-+ move.b $r0, [R_PORT_PA_DATA]
-
-- move.b CONFIG_ETRAX_DEF_R_PORT_PA_DIR, r0
-- move.b r0, [R_PORT_PA_DIR]
-+ move.b CONFIG_ETRAX_DEF_R_PORT_PA_DIR, $r0
-+ move.b $r0, [R_PORT_PA_DIR]
-
-- move.b CONFIG_ETRAX_DEF_R_PORT_PB_DATA, r0
-- move.b r0, [R_PORT_PB_DATA]
-+ move.b CONFIG_ETRAX_DEF_R_PORT_PB_DATA, $r0
-+ move.b $r0, [R_PORT_PB_DATA]
-
-- move.b CONFIG_ETRAX_DEF_R_PORT_PB_DIR, r0
-- move.b r0, [R_PORT_PB_DIR]
-+ move.b CONFIG_ETRAX_DEF_R_PORT_PB_DIR, $r0
-+ move.b $r0, [R_PORT_PB_DIR]
-
- ;; Setup the stack to a suitably high address.
- ;; We assume 8 MB is the minimum DRAM in an eLinux
- ;; product and put the sp at the top for now.
-
-- move.d 0x40800000, sp
-+ move.d 0x40800000, $sp
-
- ;; Figure out where the compressed piggyback image is
- ;; in the flash (since we wont try to copy it to DRAM
- ;; before unpacking). It is at _edata, but in flash.
- ;; Use (_edata - basse) as offset to the current PC.
-
--basse: move.d pc, r5
-- and.d 0x7fffffff, r5 ; strip any non-cache bit
-- subq 2, r5 ; compensate for the move.d pc instr
-- move.d r5, r0 ; save for later - flash address of 'basse'
-- add.d _edata, r5
-- sub.d basse, r5 ; r5 = flash address of '_edata'
-+basse: move.d $pc, $r5
-+ and.d 0x7fffffff, $r5 ; strip any non-cache bit
-+ subq 2, $r5 ; compensate for the move.d pc instr
-+ move.d $r5, $r0 ; save for later - flash address of 'basse'
-+ add.d _edata, $r5
-+ sub.d basse, $r5 ; r5 = flash address of '_edata'
-
- ;; Copy text+data to DRAM
-
-- move.d basse, r1 ; destination
-- move.d _edata, r2 ; end destination
--1: move.w [r0+], r3
-- move.w r3, [r1+]
-- cmp.d r2, r1
-+ move.d basse, $r1 ; destination
-+ move.d _edata, $r2 ; end destination
-+1: move.w [$r0+], $r3
-+ move.w $r3, [$r1+]
-+ cmp.d $r2, $r1
- bcs 1b
- nop
-
-- move.d r5, [_input_data] ; for the decompressor
-+ move.d $r5, [input_data] ; for the decompressor
-
-
- ;; Clear the decompressors BSS (between _edata and _end)
-
-- moveq 0, r0
-- move.d _edata, r1
-- move.d _end, r2
--1: move.w r0, [r1+]
-- cmp.d r2, r1
-+ moveq 0, $r0
-+ move.d _edata, $r1
-+ move.d _end, $r2
-+1: move.w $r0, [$r1+]
-+ cmp.d $r2, $r1
- bcs 1b
- nop
-
- ;; Save command line magic and address.
-- move.d _cmd_line_magic, $r12
-+ move.d cmd_line_magic, $r12
- move.d $r10, [$r12]
-- move.d _cmd_line_addr, $r12
-+ move.d cmd_line_addr, $r12
- move.d $r11, [$r12]
-
- ;; Do the decompression and save compressed size in _inptr
-
-- jsr _decompress_kernel
-+ jsr decompress_kernel
-
- ;; Put start address of root partition in r9 so the kernel can use it
- ;; when mounting from flash
-
-- move.d [_input_data], r9 ; flash address of compressed kernel
-- add.d [_inptr], r9 ; size of compressed kernel
-+ move.d [input_data], $r9 ; flash address of compressed kernel
-+ add.d [inptr], $r9 ; size of compressed kernel
-
- ;; Restore command line magic and address.
-- move.d _cmd_line_magic, $r10
-+ move.d cmd_line_magic, $r10
- move.d [$r10], $r10
-- move.d _cmd_line_addr, $r11
-+ move.d cmd_line_addr, $r11
- move.d [$r11], $r11
-
- ;; Enter the decompressed kernel
-- move.d RAM_INIT_MAGIC, r8 ; Tell kernel that DRAM is initialized
-+ move.d RAM_INIT_MAGIC, $r8 ; Tell kernel that DRAM is initialized
- jump 0x40004000 ; kernel is linked to this address
-
- .data
-
--_input_data:
-+input_data:
- .dword 0 ; used by the decompressor
--_cmd_line_magic:
-+cmd_line_magic:
- .dword 0
--_cmd_line_addr:
-+cmd_line_addr:
- .dword 0
- #include "../../lib/hw_settings.S"
---- a/arch/cris/arch-v10/boot/compressed/misc.c
-+++ b/arch/cris/arch-v10/boot/compressed/misc.c
-@@ -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
- *
- */
-@@ -99,12 +99,12 @@ static void error(char *m);
- static void gzip_mark(void **);
- static void gzip_release(void **);
-
--static void puts(const char *);
-+static void putstr(const char *);
-
- /* the "heap" is put directly after the BSS ends, at end */
-
--extern int end;
--static long free_mem_ptr = (long)&end;
-+extern int _end;
-+static long free_mem_ptr = (long)&_end;
-
- #include "../../../../../lib/inflate.c"
-
-@@ -139,7 +139,7 @@ static void gzip_release(void **ptr)
- /* 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) {
-@@ -209,9 +209,9 @@ flush_window()
- 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 */
- }
-@@ -257,14 +257,7 @@ decompress_kernel()
-
- 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");
- }
---- a/arch/cris/arch-v10/mm/init.c
-+++ b/arch/cris/arch-v10/mm/init.c
-@@ -184,6 +184,9 @@ paging_init(void)
-
- free_area_init_node(0, &contig_page_data, zones_size, PAGE_OFFSET >> PAGE_SHIFT, 0);
- }
-+void free_initrd_mem(unsigned long start, unsigned long end)
-+{
-+}
-
- /* Initialize remaps of some I/O-ports. It is important that this
- * is called before any driver is initialized.
diff --git a/target/linux/etrax/patches-2.6.25/101-cris-eth-driver.patch b/target/linux/etrax/patches-2.6.25/101-cris-eth-driver.patch
deleted file mode 100644
index 8ffe07377e..0000000000
--- a/target/linux/etrax/patches-2.6.25/101-cris-eth-driver.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/drivers/net/cris/eth_v10.c
-+++ b/drivers/net/cris/eth_v10.c
-@@ -1707,7 +1707,7 @@ e100_set_network_leds(int active)
- static void
- e100_netpoll(struct net_device* netdev)
- {
-- e100rxtx_interrupt(NETWORK_DMA_TX_IRQ_NBR, netdev, NULL);
-+ e100rxtx_interrupt(NETWORK_DMA_TX_IRQ_NBR, netdev);
- }
- #endif
-
diff --git a/target/linux/etrax/patches-2.6.25/102-missing_arch_include.patch b/target/linux/etrax/patches-2.6.25/102-missing_arch_include.patch
deleted file mode 100644
index 8955712b26..0000000000
--- a/target/linux/etrax/patches-2.6.25/102-missing_arch_include.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/include/asm-cris/Kbuild
-+++ b/include/asm-cris/Kbuild
-@@ -1,7 +1,6 @@
- include include/asm-generic/Kbuild.asm
-
--header-$(CONFIG_ETRAX_ARCH_V10) += arch-v10/
--header-$(CONFIG_ETRAX_ARCH_V32) += arch-v32/
-+header-y += arch-v10/ arch-v32/
-
- header-y += ethernet.h
- header-y += rtc.h
diff --git a/target/linux/etrax/patches-2.6.25/200-samsung_flash.patch b/target/linux/etrax/patches-2.6.25/200-samsung_flash.patch
deleted file mode 100644
index 5353106cad..0000000000
--- a/target/linux/etrax/patches-2.6.25/200-samsung_flash.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/drivers/mtd/chips/cfi_cmdset_0002.c
-+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -297,8 +297,8 @@ struct mtd_info *cfi_cmdset_0002(struct
- return NULL;
- }
-
-- if (extp->MajorVersion != '1' ||
-- (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
-+ if (extp->MajorVersion < '0' || extp->MajorVersion > '3' ||
-+ (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
- if (cfi->mfr == MANUFACTURER_SAMSUNG &&
- (extp->MajorVersion == '3' && extp->MinorVersion == '3')) {
- printk(KERN_NOTICE " Newer Samsung flash detected, "
diff --git a/target/linux/etrax/patches-2.6.25/201-flashsize.patch b/target/linux/etrax/patches-2.6.25/201-flashsize.patch
deleted file mode 100644
index 4c4fa81d04..0000000000
--- a/target/linux/etrax/patches-2.6.25/201-flashsize.patch
+++ /dev/null
@@ -1,88 +0,0 @@
---- a/arch/cris/arch-v10/lib/hw_settings.S
-+++ b/arch/cris/arch-v10/lib/hw_settings.S
-@@ -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
---- a/arch/cris/arch-v10/drivers/axisflashmap.c
-+++ b/arch/cris/arch-v10/drivers/axisflashmap.c
-@@ -113,7 +113,7 @@ static struct map_info map_cse1 = {
-
- /* If no partition-table was found, we use this default-set. */
- #define MAX_PARTITIONS 7
--#define NUM_DEFAULT_PARTITIONS 3
-+#define NUM_DEFAULT_PARTITIONS 2
-
- /*
- * Default flash size is 2MB. CONFIG_ETRAX_PTABLE_SECTOR is most likely the
-@@ -122,19 +122,14 @@ static struct map_info map_cse1 = {
- */
- static struct mtd_partition axis_default_partitions[NUM_DEFAULT_PARTITIONS] = {
- {
-- .name = "boot firmware",
-- .size = CONFIG_ETRAX_PTABLE_SECTOR,
-- .offset = 0
-- },
-- {
- .name = "kernel",
-- .size = 0x200000 - (6 * CONFIG_ETRAX_PTABLE_SECTOR),
-- .offset = CONFIG_ETRAX_PTABLE_SECTOR
-+ .size = 0x00,
-+ .offset = 0
- },
- {
-- .name = "filesystem",
-- .size = 5 * CONFIG_ETRAX_PTABLE_SECTOR,
-- .offset = 0x200000 - (5 * CONFIG_ETRAX_PTABLE_SECTOR)
-+ .name = "rootfs",
-+ .size = 0x200000 ,
-+ .offset = 0x200000
- }
- };
-
-@@ -281,6 +276,11 @@ static int __init init_axis_flash(void)
- struct partitiontable_entry *ptable;
- int use_default_ptable = 1; /* Until proven otherwise. */
- const char pmsg[] = " /dev/flash%d at 0x%08x, size 0x%08x\n";
-+ unsigned int kernel_part_size = 0;
-+ unsigned char *flash_mem = (unsigned char*)(FLASH_CACHED_ADDR);
-+ unsigned int flash_scan_count = 0;
-+ const char *part_magic = "ACME_PART_MAGIC";
-+ unsigned int magic_len = strlen(part_magic);
-
- if (!(mymtd = flash_probe())) {
- /* There's no reason to use this module if no flash chip can
-@@ -292,6 +292,31 @@ static int __init init_axis_flash(void)
- mymtd->name, mymtd->size);
- axisflash_mtd = mymtd;
- }
-+ /* scan flash to findout where out partition starts */
-+
-+ printk(KERN_INFO "Scanning flash for end of kernel magic\n");
-+ for(flash_scan_count = 0; flash_scan_count < 100000; flash_scan_count++){
-+ if(strncmp(&flash_mem[flash_scan_count], part_magic, magic_len - 1) == 0)
-+ {
-+ kernel_part_size = flash_mem[flash_scan_count + magic_len ];
-+ kernel_part_size <<= 8;
-+ kernel_part_size += flash_mem[flash_scan_count + magic_len + 2];
-+ kernel_part_size <<= 8;
-+ kernel_part_size += flash_mem[flash_scan_count + magic_len + 1];
-+ kernel_part_size <<= 8;
-+ kernel_part_size += flash_mem[flash_scan_count + magic_len + 3];
-+ printk(KERN_INFO "Kernel ends at 0x%.08X\n", kernel_part_size);
-+ flash_scan_count = 1100000;
-+ }
-+ }
-+
-+
-+ if(kernel_part_size){
-+ kernel_part_size = (kernel_part_size & 0xffff0000);
-+ axis_default_partitions[0].size = kernel_part_size;
-+ axis_default_partitions[1].size = mymtd->size - axis_default_partitions[0].size;
-+ axis_default_partitions[1].offset = axis_default_partitions[0].size;
-+ }
-
- if (mymtd) {
- mymtd->owner = THIS_MODULE;
diff --git a/target/linux/etrax/patches-2.6.25/300-sysfs.patch b/target/linux/etrax/patches-2.6.25/300-sysfs.patch
deleted file mode 100644
index a7bebe52d8..0000000000
--- a/target/linux/etrax/patches-2.6.25/300-sysfs.patch
+++ /dev/null
@@ -1,43 +0,0 @@
---- a/drivers/serial/crisv10.c
-+++ b/drivers/serial/crisv10.c
-@@ -27,6 +27,7 @@ static char *serial_version = "$Revision
- #include <linux/kernel.h>
- #include <linux/mutex.h>
- #include <linux/bitops.h>
-+#include <linux/device.h>
-
- #include <asm/io.h>
- #include <asm/irq.h>
-@@ -4384,6 +4385,7 @@ static const struct tty_operations rs_op
- .tiocmset = rs_tiocmset
- };
-
-+static struct class *rs_class;
- static int __init
- rs_init(void)
- {
-@@ -4518,6 +4520,24 @@ rs_init(void)
- #endif
- #endif /* CONFIG_SVINTO_SIM */
-
-+ rs_class = class_create(THIS_MODULE, "rs_tty");
-+#ifdef CONFIG_ETRAX_SERIAL_PORT0
-+ class_device_create(rs_class, NULL,
-+ MKDEV(TTY_MAJOR, 64), NULL, "ttyS0");
-+#endif
-+#ifdef CONFIG_ETRAX_SERIAL_PORT1
-+ class_device_create(rs_class, NULL,
-+ MKDEV(TTY_MAJOR, 65), NULL, "ttyS1");
-+#endif
-+#ifdef CONFIG_ETRAX_SERIAL_PORT2
-+ class_device_create(rs_class, NULL,
-+ MKDEV(TTY_MAJOR, 66), NULL, "ttyS2");
-+#endif
-+#ifdef CONFIG_ETRAX_SERIAL_PORT3
-+ class_device_create(rs_class, NULL,
-+ MKDEV(TTY_MAJOR, 67), NULL, "ttyS3");
-+#endif
-+
- return 0;
- }
-
diff --git a/target/linux/etrax/patches-2.6.25/301-usb_support.patch b/target/linux/etrax/patches-2.6.25/301-usb_support.patch
deleted file mode 100644
index a1c2830040..0000000000
--- a/target/linux/etrax/patches-2.6.25/301-usb_support.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -Naur linux-2.6.26/drivers/usb/host/Makefile os/linux-2.6-tag--devboard-R2_20-5/drivers/usb/host/Makefile
---- linux-2.6.26/drivers/usb/host/Makefile 2008-07-13 23:51:29.000000000 +0200
-+++ os/linux-2.6-tag--devboard-R2_20-5/drivers/usb/host/Makefile 2008-08-21 10:39:44.000000000 +0200
-@@ -16,6 +16,7 @@
- obj-$(CONFIG_USB_UHCI_HCD) += uhci-hcd.o
- obj-$(CONFIG_USB_SL811_HCD) += sl811-hcd.o
- obj-$(CONFIG_USB_SL811_CS) += sl811_cs.o
-+obj-$(CONFIG_ETRAX_ARCH_V10) += hc-crisv10.o
- obj-$(CONFIG_USB_U132_HCD) += u132-hcd.o
- obj-$(CONFIG_USB_R8A66597_HCD) += r8a66597-hcd.o
- obj-$(CONFIG_USB_ISP1760_HCD) += isp1760.o
-diff -Naur linux-2.6.26/drivers/usb/Kconfig os/linux-2.6-tag--devboard-R2_20-5/drivers/usb/Kconfig
---- linux-2.6.26/drivers/usb/Kconfig 2008-07-13 23:51:29.000000000 +0200
-+++ os/linux-2.6-tag--devboard-R2_20-5/drivers/usb/Kconfig 2008-06-10 11:18:30.000000000 +0200
-@@ -21,6 +21,7 @@
- default y if USB_ARCH_HAS_EHCI
- default y if PCMCIA && !M32R # sl811_cs
- default y if ARM # SL-811
-+ default y if ETRAXFS
- default y if SUPERH # r8a66597-hcd
- default PCI
-
-diff -Naur linux-2.6.26/drivers/usb/Makefile os/linux-2.6-tag--devboard-R2_20-5/drivers/usb/Makefile
---- linux-2.6.26/drivers/usb/Makefile 2008-07-13 23:51:29.000000000 +0200
-+++ os/linux-2.6-tag--devboard-R2_20-5/drivers/usb/Makefile 2008-10-01 10:56:43.000000000 +0200
-@@ -16,6 +16,7 @@
- obj-$(CONFIG_USB_SL811_HCD) += host/
- obj-$(CONFIG_USB_U132_HCD) += host/
- obj-$(CONFIG_USB_R8A66597_HCD) += host/
-+obj-$(CONFIG_ETRAX_USB_HOST) += host/
-
- obj-$(CONFIG_USB_C67X00_HCD) += c67x00/
-
diff --git a/target/linux/etrax/patches-2.6.25/400-Kconfig_source.patch b/target/linux/etrax/patches-2.6.25/400-Kconfig_source.patch
deleted file mode 100644
index 8f5b1a5ae8..0000000000
--- a/target/linux/etrax/patches-2.6.25/400-Kconfig_source.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: linux-2.6.25.20/arch/cris/Kconfig
-===================================================================
---- linux-2.6.25.20.orig/arch/cris/Kconfig 2008-11-10 19:50:34.000000000 +0100
-+++ linux-2.6.25.20/arch/cris/Kconfig 2009-01-30 13:03:46.000000000 +0100
-@@ -660,6 +660,10 @@
-
- source "drivers/ide/Kconfig"
-
-+source "drivers/scsi/Kconfig"
-+
-+source "drivers/media/Kconfig"
-+
- source "drivers/net/Kconfig"
-
- source "drivers/i2c/Kconfig"
-
diff --git a/target/linux/etrax/patches-2.6.25/500-i2c_gvc.patch b/target/linux/etrax/patches-2.6.25/500-i2c_gvc.patch
deleted file mode 100644
index 7eed8b2a71..0000000000
--- a/target/linux/etrax/patches-2.6.25/500-i2c_gvc.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-Index: linux-2.6.25.20/arch/cris/arch-v10/drivers/Kconfig
-===================================================================
---- linux-2.6.25.20.orig/arch/cris/arch-v10/drivers/Kconfig 2009-02-09 09:30:40.000000000 +0100
-+++ linux-2.6.25.20/arch/cris/arch-v10/drivers/Kconfig 2009-02-09 21:23:12.000000000 +0100
-@@ -450,11 +450,18 @@
- i2c_arg = I2C_READARG(STA013_READ_ADDR, reg);
- val = ioctl(fd, _IO(ETRAXI2C_IOCTYPE, I2C_READREG), i2c_arg);
-
-+config ETRAX_I2C_GVC
-+ bool "I2C GVC support"
-+ depends on ETRAX_ARCH_V10 && !ETRAX_I2C
-+ select ETRAX_I2C_USES_PB_NOT_PB_I2C
-+ help
-+ Enables an I2C driver with Geert Vancompernolle improvement.
-+
- # this is true for most products since PB-I2C seems to be somewhat
- # flawed..
- config ETRAX_I2C_USES_PB_NOT_PB_I2C
- bool "I2C uses PB not PB-I2C"
-- depends on ETRAX_I2C
-+ depends on ETRAX_I2C || ETRAX_I2C_GVC
- help
- Select whether to use the special I2C mode in the PB I/O register or
- not. This option needs to be selected in order to use some drivers
-@@ -478,7 +485,7 @@
-
- config ETRAX_I2C_EEPROM
- bool "I2C EEPROM (non-volatile RAM) support"
-- depends on ETRAX_I2C
-+ depends on ETRAX_I2C || ETRAX_I2C_GVC
- help
- Enables I2C EEPROM (non-volatile RAM) on PB0 and PB1 using the I2C
- driver. Select size option: Probed, 2k, 8k, 16k.
-Index: linux-2.6.25.20/arch/cris/arch-v10/drivers/Makefile
-===================================================================
---- linux-2.6.25.20.orig/arch/cris/arch-v10/drivers/Makefile 2009-02-09 09:30:41.000000000 +0100
-+++ linux-2.6.25.20/arch/cris/arch-v10/drivers/Makefile 2009-02-09 09:35:39.000000000 +0100
-@@ -4,6 +4,7 @@
-
- obj-$(CONFIG_ETRAX_AXISFLASHMAP) += axisflashmap.o
- obj-$(CONFIG_ETRAX_I2C) += i2c.o
-+obj-$(CONFIG_ETRAX_I2C_GVC) += i2c_gvc.o
- obj-$(CONFIG_ETRAX_I2C_EEPROM) += eeprom.o
- obj-$(CONFIG_ETRAX_GPIO) += gpio.o
- obj-$(CONFIG_ETRAX_DS1302) += ds1302.o