From 0a359982df3443a800795f19a2c1cb6cf86c2c17 Mon Sep 17 00:00:00 2001 From: claudio Date: Sat, 9 May 2009 13:15:16 +0000 Subject: [etrax] add patches for 2.6.30, remove config-default git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15743 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../etrax/patches-2.6.29/100-cris-makefiles.patch | 51 ---- .../etrax/patches-2.6.29/200-samsung_flash.patch | 11 - .../linux/etrax/patches-2.6.29/201-flashsize.patch | 88 ------- target/linux/etrax/patches-2.6.29/300-sysfs.patch | 43 ---- .../etrax/patches-2.6.29/400-Kconfig_source.patch | 15 -- .../linux/etrax/patches-2.6.29/500-i2c_gvc.patch | 41 ---- .../etrax/patches-2.6.29/600-fix_serial_cris.patch | 263 --------------------- 7 files changed, 512 deletions(-) delete mode 100644 target/linux/etrax/patches-2.6.29/100-cris-makefiles.patch delete mode 100644 target/linux/etrax/patches-2.6.29/200-samsung_flash.patch delete mode 100644 target/linux/etrax/patches-2.6.29/201-flashsize.patch delete mode 100644 target/linux/etrax/patches-2.6.29/300-sysfs.patch delete mode 100644 target/linux/etrax/patches-2.6.29/400-Kconfig_source.patch delete mode 100644 target/linux/etrax/patches-2.6.29/500-i2c_gvc.patch delete mode 100644 target/linux/etrax/patches-2.6.29/600-fix_serial_cris.patch (limited to 'target/linux/etrax/patches-2.6.29') diff --git a/target/linux/etrax/patches-2.6.29/100-cris-makefiles.patch b/target/linux/etrax/patches-2.6.29/100-cris-makefiles.patch deleted file mode 100644 index bf43914f7..000000000 --- a/target/linux/etrax/patches-2.6.29/100-cris-makefiles.patch +++ /dev/null @@ -1,51 +0,0 @@ ---- a/arch/cris/Makefile -+++ b/arch/cris/Makefile -@@ -40,7 +40,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,8 +2,6 @@ - # arch/cris/arch-v10/boot/Makefile - # - --OBJCOPYFLAGS = -O binary --remove-section=.bss -- - subdir- := compressed rescue - targets := Image - -@@ -13,7 +11,7 @@ $(obj)/Image: vmlinux FORCE - - $(obj)/compressed/vmlinux: $(obj)/Image FORCE - $(Q)$(MAKE) $(build)=$(obj)/compressed $@ -- $(Q)$(MAKE) $(build)=$(obj)/rescue $(obj)/rescue/rescue.bin -+# $(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 -@@ -6,7 +6,6 @@ asflags-y += $(LINUXINCLUDE) - 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 > $@ ---- a/arch/cris/arch-v10/boot/rescue/Makefile -+++ b/arch/cris/arch-v10/boot/rescue/Makefile -@@ -5,7 +5,6 @@ - ccflags-y += -O2 $(LINUXINCLUDE) - asflags-y += $(LINUXINCLUDE) - ldflags-y += -T $(srctree)/$(src)/rescue.lds --OBJCOPYFLAGS = -O binary --remove-section=.bss - obj-$(CONFIG_ETRAX_AXISFLASHMAP) = head.o - OBJECT := $(obj)/head.o - diff --git a/target/linux/etrax/patches-2.6.29/200-samsung_flash.patch b/target/linux/etrax/patches-2.6.29/200-samsung_flash.patch deleted file mode 100644 index d04c2794d..000000000 --- a/target/linux/etrax/patches-2.6.29/200-samsung_flash.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/drivers/mtd/chips/cfi_cmdset_0002.c -+++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -374,7 +374,7 @@ struct mtd_info *cfi_cmdset_0002(struct - - cfi_fixup_major_minor(cfi, extp); - -- if (extp->MajorVersion != '1' || -+ if (extp->MajorVersion < '1' || extp->MajorVersion > '3' || - (extp->MinorVersion < '0' || extp->MinorVersion > '4')) { - if (cfi->mfr == MANUFACTURER_SAMSUNG && - (extp->MajorVersion == '3' && extp->MinorVersion == '3')) { diff --git a/target/linux/etrax/patches-2.6.29/201-flashsize.patch b/target/linux/etrax/patches-2.6.29/201-flashsize.patch deleted file mode 100644 index 42a467f74..000000000 --- a/target/linux/etrax/patches-2.6.29/201-flashsize.patch +++ /dev/null @@ -1,88 +0,0 @@ ---- 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 -@@ -293,6 +293,31 @@ static int __init init_axis_flash(void) - 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; - ptable_head = (struct partitiontable_head *)(FLASH_CACHED_ADDR + ---- 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 diff --git a/target/linux/etrax/patches-2.6.29/300-sysfs.patch b/target/linux/etrax/patches-2.6.29/300-sysfs.patch deleted file mode 100644 index ffaec3675..000000000 --- a/target/linux/etrax/patches-2.6.29/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 - #include - #include -+#include - - #include - #include -@@ -4393,6 +4394,7 @@ static const struct tty_operations rs_op - .tiocmset = rs_tiocmset - }; - -+static struct class *rs_class; - static int __init - rs_init(void) - { -@@ -4527,6 +4529,24 @@ rs_init(void) - #endif - #endif /* CONFIG_SVINTO_SIM */ - -+ rs_class = class_create(THIS_MODULE, "rs_tty"); -+#ifdef CONFIG_ETRAX_SERIAL_PORT0 -+ device_create(rs_class, NULL, -+ MKDEV(TTY_MAJOR, 64), NULL, "ttyS0"); -+#endif -+#ifdef CONFIG_ETRAX_SERIAL_PORT1 -+ device_create(rs_class, NULL, -+ MKDEV(TTY_MAJOR, 65), NULL, "ttyS1"); -+#endif -+#ifdef CONFIG_ETRAX_SERIAL_PORT2 -+ device_create(rs_class, NULL, -+ MKDEV(TTY_MAJOR, 66), NULL, "ttyS2"); -+#endif -+#ifdef CONFIG_ETRAX_SERIAL_PORT3 -+ device_create(rs_class, NULL, -+ MKDEV(TTY_MAJOR, 67), NULL, "ttyS3"); -+#endif -+ - return 0; - } - diff --git a/target/linux/etrax/patches-2.6.29/400-Kconfig_source.patch b/target/linux/etrax/patches-2.6.29/400-Kconfig_source.patch deleted file mode 100644 index ed2bfe459..000000000 --- a/target/linux/etrax/patches-2.6.29/400-Kconfig_source.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/arch/cris/Kconfig -+++ b/arch/cris/Kconfig -@@ -662,6 +662,12 @@ source "drivers/block/Kconfig" - - source "drivers/ide/Kconfig" - -+source "drivers/scsi/Kconfig" -+ -+source "drivers/media/Kconfig" -+ -+source "sound/Kconfig" -+ - source "drivers/net/Kconfig" - - source "drivers/i2c/Kconfig" diff --git a/target/linux/etrax/patches-2.6.29/500-i2c_gvc.patch b/target/linux/etrax/patches-2.6.29/500-i2c_gvc.patch deleted file mode 100644 index dc63165c5..000000000 --- a/target/linux/etrax/patches-2.6.29/500-i2c_gvc.patch +++ /dev/null @@ -1,41 +0,0 @@ ---- a/arch/cris/arch-v10/drivers/Kconfig -+++ b/arch/cris/arch-v10/drivers/Kconfig -@@ -450,11 +450,18 @@ config ETRAX_I2C - 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_CLK_PORT - - 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. ---- a/arch/cris/arch-v10/drivers/Makefile -+++ b/arch/cris/arch-v10/drivers/Makefile -@@ -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 diff --git a/target/linux/etrax/patches-2.6.29/600-fix_serial_cris.patch b/target/linux/etrax/patches-2.6.29/600-fix_serial_cris.patch deleted file mode 100644 index 403255066..000000000 --- a/target/linux/etrax/patches-2.6.29/600-fix_serial_cris.patch +++ /dev/null @@ -1,263 +0,0 @@ ---- a/drivers/serial/crisv10.c -+++ b/drivers/serial/crisv10.c -@@ -28,12 +28,15 @@ static char *serial_version = "$Revision - #include - #include - #include -+#include -+#include -+#include -+#include -+#include - --#include - #include - #include - #include --#include - - #include - -@@ -457,7 +460,6 @@ static struct e100_serial rs_table[] = { - - #define NR_PORTS (sizeof(rs_table)/sizeof(struct e100_serial)) - --static struct ktermios *serial_termios[NR_PORTS]; - #ifdef CONFIG_ETRAX_SERIAL_FAST_TIMER - static struct fast_timer fast_timers[NR_PORTS]; - #endif -@@ -4221,151 +4223,132 @@ rs_open(struct tty_struct *tty, struct f - return 0; - } - -+#ifdef CONFIG_PROC_FS - /* - * /proc fs routines.... - */ - --static int line_info(char *buf, struct e100_serial *info) -+static void seq_line_info(struct seq_file *m, struct e100_serial *info) - { -- char stat_buf[30]; -- int ret; - unsigned long tmp; - -- ret = sprintf(buf, "%d: uart:E100 port:%lX irq:%d", -- info->line, (unsigned long)info->ioport, info->irq); -+ seq_printf(m, "%d: uart:E100 port:%lX irq:%d", -+ info->line, (unsigned long)info->ioport, info->irq); - - if (!info->ioport || (info->type == PORT_UNKNOWN)) { -- ret += sprintf(buf+ret, "\n"); -- return ret; -+ seq_printf(m, "\n"); -+ return; - } - -- stat_buf[0] = 0; -- stat_buf[1] = 0; -- if (!E100_RTS_GET(info)) -- strcat(stat_buf, "|RTS"); -- if (!E100_CTS_GET(info)) -- strcat(stat_buf, "|CTS"); -- if (!E100_DTR_GET(info)) -- strcat(stat_buf, "|DTR"); -- if (!E100_DSR_GET(info)) -- strcat(stat_buf, "|DSR"); -- if (!E100_CD_GET(info)) -- strcat(stat_buf, "|CD"); -- if (!E100_RI_GET(info)) -- strcat(stat_buf, "|RI"); -- -- ret += sprintf(buf+ret, " baud:%d", info->baud); -- -- ret += sprintf(buf+ret, " tx:%lu rx:%lu", -+ seq_printf(m, " baud:%d", info->baud); -+ seq_printf(m, " tx:%lu rx:%lu", - (unsigned long)info->icount.tx, - (unsigned long)info->icount.rx); - tmp = CIRC_CNT(info->xmit.head, info->xmit.tail, SERIAL_XMIT_SIZE); -- if (tmp) { -- ret += sprintf(buf+ret, " tx_pend:%lu/%lu", -- (unsigned long)tmp, -- (unsigned long)SERIAL_XMIT_SIZE); -- } -- -- ret += sprintf(buf+ret, " rx_pend:%lu/%lu", -- (unsigned long)info->recv_cnt, -- (unsigned long)info->max_recv_cnt); -+ if (tmp) -+ seq_printf(m, " tx_pend:%lu/%lu", -+ (unsigned long)tmp, -+ (unsigned long)SERIAL_XMIT_SIZE); -+ -+ seq_printf(m, " rx_pend:%lu/%lu", -+ (unsigned long)info->recv_cnt, -+ (unsigned long)info->max_recv_cnt); - - #if 1 - if (info->port.tty) { -- - if (info->port.tty->stopped) -- ret += sprintf(buf+ret, " stopped:%i", -- (int)info->port.tty->stopped); -+ seq_printf(m, " stopped:%i", -+ (int)info->port.tty->stopped); - if (info->port.tty->hw_stopped) -- ret += sprintf(buf+ret, " hw_stopped:%i", -- (int)info->port.tty->hw_stopped); -+ seq_printf(m, " hw_stopped:%i", -+ (int)info->port.tty->hw_stopped); - } - - { - unsigned char rstat = info->ioport[REG_STATUS]; -- if (rstat & IO_MASK(R_SERIAL0_STATUS, xoff_detect) ) -- ret += sprintf(buf+ret, " xoff_detect:1"); -+ if (rstat & IO_MASK(R_SERIAL0_STATUS, xoff_detect)) -+ seq_printf(m, " xoff_detect:1"); - } - - #endif - -- -- -- - if (info->icount.frame) -- ret += sprintf(buf+ret, " fe:%lu", -- (unsigned long)info->icount.frame); -+ seq_printf(m, " fe:%lu", (unsigned long)info->icount.frame); - - if (info->icount.parity) -- ret += sprintf(buf+ret, " pe:%lu", -- (unsigned long)info->icount.parity); -+ seq_printf(m, " pe:%lu", (unsigned long)info->icount.parity); - - if (info->icount.brk) -- ret += sprintf(buf+ret, " brk:%lu", -- (unsigned long)info->icount.brk); -+ seq_printf(m, " brk:%lu", (unsigned long)info->icount.brk); - - if (info->icount.overrun) -- ret += sprintf(buf+ret, " oe:%lu", -- (unsigned long)info->icount.overrun); -+ seq_printf(m, " oe:%lu", (unsigned long)info->icount.overrun); - - /* - * Last thing is the RS-232 status lines - */ -- ret += sprintf(buf+ret, " %s\n", stat_buf+1); -- return ret; -+ if (!E100_RTS_GET(info)) -+ seq_puts(m, "|RTS"); -+ if (!E100_CTS_GET(info)) -+ seq_puts(m, "|CTS"); -+ if (!E100_DTR_GET(info)) -+ seq_puts(m, "|DTR"); -+ if (!E100_DSR_GET(info)) -+ seq_puts(m, "|DSR"); -+ if (!E100_CD_GET(info)) -+ seq_puts(m, "|CD"); -+ if (!E100_RI_GET(info)) -+ seq_puts(m, "|RI"); -+ seq_puts(m, "\n"); - } - --int rs_read_proc(char *page, char **start, off_t off, int count, -- int *eof, void *data) -+ -+static int crisv10_proc_show(struct seq_file *m, void *v) - { -- int i, len = 0, l; -- off_t begin = 0; -+ int i; -+ -+ seq_printf(m, "serinfo:1.0 driver:%s\n", serial_version); - -- len += sprintf(page, "serinfo:1.0 driver:%s\n", -- serial_version); -- for (i = 0; i < NR_PORTS && len < 4000; i++) { -+ for (i = 0; i < NR_PORTS; i++) { - if (!rs_table[i].enabled) - continue; -- l = line_info(page + len, &rs_table[i]); -- len += l; -- if (len+begin > off+count) -- goto done; -- if (len+begin < off) { -- begin += len; -- len = 0; -- } -+ seq_line_info(m, &rs_table[i]); - } - #ifdef DEBUG_LOG_INCLUDED - for (i = 0; i < debug_log_pos; i++) { -- len += sprintf(page + len, "%-4i %lu.%lu ", i, debug_log[i].time, timer_data_to_ns(debug_log[i].timer_data)); -- len += sprintf(page + len, debug_log[i].string, debug_log[i].value); -- if (len+begin > off+count) -- goto done; -- if (len+begin < off) { -- begin += len; -- len = 0; -- } -+ seq_printf(m, "%-4i %lu.%lu ", -+ i, debug_log[i].time, -+ timer_data_to_ns(debug_log[i].timer_data)); -+ seq_printf(m, debug_log[i].string, debug_log[i].value); - } -- len += sprintf(page + len, "debug_log %i/%i %li bytes\n", -- i, DEBUG_LOG_SIZE, begin+len); -+ seq_printf(m, "debug_log %i/%i\n", i, DEBUG_LOG_SIZE); - debug_log_pos = 0; - #endif -+ return 0; -+} - -- *eof = 1; --done: -- if (off >= len+begin) -- return 0; -- *start = page + (off-begin); -- return ((count < begin+len-off) ? count : begin+len-off); -+static int crisv10_proc_open(struct inode *inode, struct file *file) -+{ -+ return single_open(file, crisv10_proc_show, NULL); - } - -+static const struct file_operations crisv10_proc_fops = { -+ .owner = THIS_MODULE, -+ .open = crisv10_proc_open, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = single_release, -+}; -+#endif -+ -+ - /* Finally, routines used to initialize the serial driver. */ - --static void --show_serial_version(void) -+static void show_serial_version(void) - { - printk(KERN_INFO -- "ETRAX 100LX serial-driver %s, (c) 2000-2004 Axis Communications AB\r\n", -+ "ETRAX 100LX serial-driver %s, " -+ "(c) 2000-2004 Axis Communications AB\r\n", - &serial_version[11]); /* "$Revision: x.yy" */ - } - -@@ -4389,9 +4372,11 @@ static const struct tty_operations rs_op - .break_ctl = rs_break, - .send_xchar = rs_send_xchar, - .wait_until_sent = rs_wait_until_sent, -- .read_proc = rs_read_proc, - .tiocmget = rs_tiocmget, -- .tiocmset = rs_tiocmset -+ .tiocmset = rs_tiocmset, -+#ifdef CONFIG_PROC_FS -+ .proc_fops = &crisv10_proc_fops, -+#endif - }; - - static struct class *rs_class; -- cgit v1.2.3