diff --git a/target/linux/xburst/patches-2.6.27/001-ingenic-patchset.patch b/target/linux/xburst/patches-2.6.27/001-ingenic-patchset.patch index 981861659..ba220c112 100644 --- a/target/linux/xburst/patches-2.6.27/001-ingenic-patchset.patch +++ b/target/linux/xburst/patches-2.6.27/001-ingenic-patchset.patch @@ -284,31 +284,6 @@ diff -ru linux-2.6/arch/mips/kernel/cpu-probe.c /plain/src/qi/linux-2.6.27.git.s default: c->cputype = CPU_UNKNOWN; } -diff -ru linux-2.6/arch/mips/kernel/proc.c /plain/src/qi/linux-2.6.27.git.svn/arch/mips/kernel/proc.c ---- linux-2.6/arch/mips/kernel/proc.c 2009-08-17 23:58:00.000000000 +0200 -+++ /plain/src/qi/linux-2.6.27.git.svn/arch/mips/kernel/proc.c 2009-08-12 10:39:09.000000000 +0200 -@@ -17,6 +17,10 @@ - - unsigned int vced_count, vcei_count; - -+#ifdef CONFIG_JZSOC -+extern const char *get_board_type(void); -+#endif -+ - static int show_cpuinfo(struct seq_file *m, void *v) - { - unsigned long n = (unsigned long) v - 1; -@@ -35,6 +39,10 @@ - if (n == 0) - seq_printf(m, "system type\t\t: %s\n", get_system_type()); - -+#ifdef CONFIG_JZSOC -+ /* Android requires 'Hardware' to setup the init.%hardware%.rc */ -+ seq_printf(m, "Hardware\t\t: %s\n", get_board_type()); -+#endif - seq_printf(m, "processor\t\t: %ld\n", n); - sprintf(fmt, "cpu model\t\t: %%s V%%d.%%d%s\n", - cpu_data[n].options & MIPS_CPU_FPU ? " FPU V%d.%d" : ""); diff -ru linux-2.6/arch/mips/kernel/signal.c /plain/src/qi/linux-2.6.27.git.svn/arch/mips/kernel/signal.c --- linux-2.6/arch/mips/kernel/signal.c 2009-08-17 23:58:00.000000000 +0200 +++ /plain/src/qi/linux-2.6.27.git.svn/arch/mips/kernel/signal.c 2009-08-12 10:39:09.000000000 +0200 @@ -354,17 +329,6 @@ diff -ru linux-2.6/arch/mips/kernel/unaligned.c /plain/src/qi/linux-2.6.27.git.s asmlinkage void do_ade(struct pt_regs *regs) { extern int do_dsemulret(struct pt_regs *); -@@ -534,8 +539,9 @@ - * This is all so but ugly ... - */ - seg = get_fs(); -- if (!user_mode(regs)) -+ if (!user_mode(regs)) { - set_fs(KERNEL_DS); -+ } - emulate_load_store_insn(regs, (void __user *)regs->cp0_badvaddr, pc); - set_fs(seg); - diff -ru linux-2.6/arch/mips/Makefile /plain/src/qi/linux-2.6.27.git.svn/arch/mips/Makefile --- linux-2.6/arch/mips/Makefile 2009-08-17 23:58:00.000000000 +0200 +++ /plain/src/qi/linux-2.6.27.git.svn/arch/mips/Makefile 2009-08-12 10:39:09.000000000 +0200 @@ -498,40 +462,6 @@ diff -ru linux-2.6/arch/mips/mm/c-r4k.c /plain/src/qi/linux-2.6.27.git.svn/arch/ default: if (!(config & MIPS_CONF_M)) panic("Don't know how to probe P-caches on this cpu."); -diff -ru linux-2.6/arch/mips/mm/fault.c /plain/src/qi/linux-2.6.27.git.svn/arch/mips/mm/fault.c ---- linux-2.6/arch/mips/mm/fault.c 2009-08-17 23:58:00.000000000 +0200 -+++ /plain/src/qi/linux-2.6.27.git.svn/arch/mips/mm/fault.c 2009-08-12 10:39:09.000000000 +0200 -@@ -31,6 +31,9 @@ - * and the problem, and then passes it off to one of the appropriate - * routines. - */ -+extern void show_registers(struct pt_regs *); -+extern void show_backtrace(struct task_struct *, const struct pt_regs *); -+ - asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long write, - unsigned long address) - { -@@ -131,14 +134,17 @@ - if (user_mode(regs)) { - tsk->thread.cp0_badvaddr = address; - tsk->thread.error_code = write; --#if 0 -- printk("do_page_fault() #2: sending SIGSEGV to %s for " -- "invalid %s\n%0*lx (epc == %0*lx, ra == %0*lx)\n", -+#if 1 -+ printk("do_page_fault() #2: pid = %d sending SIGSEGV to %s for " -+ "invalid %s\n%0*lx (epc == %0*lx, ra == %0*lx)\n ", -+ tsk->pid, - tsk->comm, - write ? "write access to" : "read access from", - field, address, - field, (unsigned long) regs->cp0_epc, - field, (unsigned long) regs->regs[31]); -+ -+ show_registers(regs); - #endif - info.si_signo = SIGSEGV; - info.si_errno = 0; diff -ru linux-2.6/arch/mips/mm/tlbex.c /plain/src/qi/linux-2.6.27.git.svn/arch/mips/mm/tlbex.c --- linux-2.6/arch/mips/mm/tlbex.c 2009-08-17 23:58:00.000000000 +0200 +++ /plain/src/qi/linux-2.6.27.git.svn/arch/mips/mm/tlbex.c 2009-08-12 10:39:09.000000000 +0200 @@ -2130,14 +2060,6 @@ diff -ru linux-2.6/drivers/mtd/nand/nand_base.c /plain/src/qi/linux-2.6.27.git.s return; /* -@@ -675,7 +827,6 @@ - spin_lock(lock); - - /* Hardware controller shared among independend devices */ -- /* Hardware controller shared among independend devices */ - if (!chip->controller->active) - chip->controller->active = chip; - @@ -878,7 +1029,8 @@ return 0; } @@ -3682,15 +3604,6 @@ diff -ru linux-2.6/drivers/usb/musb/musb_core.c /plain/src/qi/linux-2.6.27.git.s musb_root_disconnect(musb); if (musb->a_wait_bcon != 0) musb_platform_try_idle(musb, jiffies -@@ -896,7 +941,7 @@ - - } else if (is_host_enabled(musb)) { - /* assume ID pin is hard-wired to ground */ -- devctl |= MUSB_DEVCTL_SESSION; -+ devctl |= MUSB_DEVCTL_SESSION; - - } else /* peripheral is enabled */ { - if ((devctl & MUSB_DEVCTL_VBUS) == MUSB_DEVCTL_VBUS) @@ -959,10 +1004,13 @@ spin_lock_irqsave(&musb->lock, flags); musb_platform_disable(musb);