more AR7 cleanups & fixes

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@8758 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Matteo Croce 2007-09-11 23:50:02 +00:00
parent 54801484c2
commit d807fe3642
6 changed files with 84 additions and 103 deletions

View File

@ -59,7 +59,7 @@ static int create_mtd_partitions(struct mtd_info *master,
ar7_parts[1].size = master->erasesize; ar7_parts[1].size = master->erasesize;
ar7_parts[1].mask_flags = 0; ar7_parts[1].mask_flags = 0;
do { do { /* Try 10 blocks starting from master->erasesize */
offset = pre_size; offset = pre_size;
master->read(master, offset, master->read(master, offset,
sizeof(header), &len, (u_char *)&header); sizeof(header), &len, (u_char *)&header);

View File

@ -1089,7 +1089,6 @@ static int __devinit cpmac_probe(struct platform_device *pdev)
dev->weight = min(rx_ring_size, 64); dev->weight = min(rx_ring_size, 64);
} }
memset(priv, 0, sizeof(struct cpmac_priv));
spin_lock_init(&priv->lock); spin_lock_init(&priv->lock);
priv->msg_enable = netif_msg_init(NETIF_MSG_WOL, 0x3fff); priv->msg_enable = netif_msg_init(NETIF_MSG_WOL, 0x3fff);
priv->config = pdata; priv->config = pdata;

View File

@ -26,37 +26,31 @@ diff -urN linux-2.6.22/arch/mips/Kconfig linux-2.6.22.new/arch/mips/Kconfig
diff -urN linux-2.6.22/arch/mips/kernel/traps.c linux-2.6.22.new/arch/mips/kernel/traps.c diff -urN linux-2.6.22/arch/mips/kernel/traps.c linux-2.6.22.new/arch/mips/kernel/traps.c
--- linux-2.6.22/arch/mips/kernel/traps.c 2007-07-09 01:32:17.000000000 +0200 --- linux-2.6.22/arch/mips/kernel/traps.c 2007-07-09 01:32:17.000000000 +0200
+++ linux-2.6.22.new/arch/mips/kernel/traps.c 2007-07-11 02:32:39.000000000 +0200 +++ linux-2.6.22.new/arch/mips/kernel/traps.c 2007-07-11 02:32:39.000000000 +0200
@@ -1051,11 +1051,6 @@ @@ -1075,9 +1075,23 @@ void *set_except_vector(int n, void *addr)
unsigned long exception_handlers[32];
unsigned long vi_handlers[64];
-/*
- * As a side effect of the way this is implemented we're limited
- * to interrupt handlers in the address range from
- * KSEG0 <= x < KSEG0 + 256mb on the Nevada. Oh well ...
- */
void *set_except_vector(int n, void *addr)
{
unsigned long handler = (unsigned long) addr;
@@ -1063,9 +1058,15 @@
exception_handlers[n] = handler; exception_handlers[n] = handler;
if (n == 0 && cpu_has_divec) { if (n == 0 && cpu_has_divec) {
- *(volatile u32 *)(ebase + 0x200) = 0x08000000 | +#ifdef CONFIG_AR7
- (0x03ffffff & (handler >> 2));
- flush_icache_range(ebase + 0x200, ebase + 0x204);
+ /* lui k0, 0x0000 */ + /* lui k0, 0x0000 */
+ *(volatile u32 *)(CAC_BASE+0x200) = 0x3c1a0000 | (handler >> 16); + *(volatile u32 *)(CAC_BASE+0x200) =
+ 0x3c1a0000 | (handler >> 16);
+ /* ori k0, 0x0000 */ + /* ori k0, 0x0000 */
+ *(volatile u32 *)(CAC_BASE+0x204) = 0x375a0000 | (handler & 0xffff); + *(volatile u32 *)(CAC_BASE+0x204) =
+ 0x375a0000 | (handler & 0xffff);
+ /* jr k0 */ + /* jr k0 */
+ *(volatile u32 *)(CAC_BASE+0x208) = 0x03400008; + *(volatile u32 *)(CAC_BASE+0x208) = 0x03400008;
+ /* nop */ + /* nop */
+ *(volatile u32 *)(CAC_BASE+0x20C) = 0x00000000; + *(volatile u32 *)(CAC_BASE+0x20C) = 0x00000000;
+ flush_icache_range(CAC_BASE+0x200, CAC_BASE+0x210); + flush_icache_range(CAC_BASE+0x200, CAC_BASE+0x210);
+#else
*(volatile u32 *)(ebase + 0x200) = 0x08000000 |
(0x03ffffff & (handler >> 2));
flush_icache_range(ebase + 0x200, ebase + 0x204);
+#endif
} }
return (void *)old_handler; return (void *)old_handler;
} }
diff -urN linux-2.6.22/arch/mips/Makefile linux-2.6.22.new/arch/mips/Makefile diff -urN linux-2.6.22/arch/mips/Makefile linux-2.6.22.new/arch/mips/Makefile
--- linux-2.6.22/arch/mips/Makefile 2007-07-09 01:32:17.000000000 +0200 --- linux-2.6.22/arch/mips/Makefile 2007-07-09 01:32:17.000000000 +0200
+++ linux-2.6.22.new/arch/mips/Makefile 2007-07-11 02:32:39.000000000 +0200 +++ linux-2.6.22.new/arch/mips/Makefile 2007-07-11 02:32:39.000000000 +0200

View File

@ -48,15 +48,3 @@ diff -urN linux-2.6.22.orig/include/linux/serialP.h linux-2.6.22/include/linux/s
#else #else
#define ALPHA_KLUDGE_MCR 0 #define ALPHA_KLUDGE_MCR 0
#endif #endif
diff -urN linux-2.6.22.orig/scripts/setlocalversion linux-2.6.22/scripts/setlocalversion
--- linux-2.6.22.orig/scripts/setlocalversion 2007-07-09 01:32:17.000000000 +0200
+++ linux-2.6.22/scripts/setlocalversion 2007-07-11 03:08:57.000000000 +0200
@@ -1,6 +1,8 @@
#!/bin/sh
# Print additional version information for non-release trees.
+exit 0
+
usage() {
echo "Usage: $0 [srctree]" >&2
exit 1