summaryrefslogtreecommitdiffstats
path: root/target/linux/atheros/files
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-01-31 04:44:35 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-01-31 04:44:35 +0000
commit697e06b22580013c25f0f170925fa5f02879345b (patch)
tree2ea99e192074677d53b80c2e88d8f929d825c180 /target/linux/atheros/files
parent18a605bf0b48420b0385f75c886d43c81435f532 (diff)
port atheros to 2.6.24 (untested), but do not use the new kernel by default yet
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10335 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/atheros/files')
-rw-r--r--target/linux/atheros/files/arch/mips/atheros/ar531x.h4
-rw-r--r--target/linux/atheros/files/arch/mips/atheros/board.c9
-rw-r--r--target/linux/atheros/files/arch/mips/atheros/prom.c1
-rw-r--r--target/linux/atheros/files/drivers/net/ar2313/ar2313.c1
-rw-r--r--target/linux/atheros/files/include/asm-mips/mach-atheros/war.h25
5 files changed, 38 insertions, 2 deletions
diff --git a/target/linux/atheros/files/arch/mips/atheros/ar531x.h b/target/linux/atheros/files/arch/mips/atheros/ar531x.h
index 5256a548c..d790a8807 100644
--- a/target/linux/atheros/files/arch/mips/atheros/ar531x.h
+++ b/target/linux/atheros/files/arch/mips/atheros/ar531x.h
@@ -1,11 +1,15 @@
#ifndef __AR531X_H
#define __AR531X_H
+#include <linux/version.h>
#include <asm/cpu-info.h>
#include <ar531x_platform.h>
#include "ar5312/ar5312.h"
#include "ar5315/ar5315.h"
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24))
+extern void (*board_time_init)(void);
+#endif
/*
* C access to CLZ instruction
diff --git a/target/linux/atheros/files/arch/mips/atheros/board.c b/target/linux/atheros/files/arch/mips/atheros/board.c
index ebb4a5afe..ccbda4854 100644
--- a/target/linux/atheros/files/arch/mips/atheros/board.c
+++ b/target/linux/atheros/files/arch/mips/atheros/board.c
@@ -180,6 +180,7 @@ const char *get_system_type(void)
return "Atheros (unknown)";
}
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24))
void __init plat_timer_setup(struct irqaction *irq)
{
unsigned int count;
@@ -191,6 +192,7 @@ void __init plat_timer_setup(struct irqaction *irq)
count = read_c0_count();
write_c0_compare(count + 1000);
}
+#endif
asmlinkage void plat_irq_dispatch(void)
{
@@ -198,6 +200,13 @@ asmlinkage void plat_irq_dispatch(void)
DO_AR5315(ar5315_irq_dispatch();)
}
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24))
+void (*board_time_init)(void);
+void __init plat_time_init(void) {
+ board_time_init();
+}
+#endif
+
void __init arch_init_irq(void)
{
clear_c0_status(ST0_IM);
diff --git a/target/linux/atheros/files/arch/mips/atheros/prom.c b/target/linux/atheros/files/arch/mips/atheros/prom.c
index 403c931ac..250507046 100644
--- a/target/linux/atheros/files/arch/mips/atheros/prom.c
+++ b/target/linux/atheros/files/arch/mips/atheros/prom.c
@@ -29,7 +29,6 @@ void __init prom_init(void)
{
char **argv;
- mips_machgroup = MACH_GROUP_ATHEROS;
mips_machtype = -1;
DO_AR5312(ar5312_prom_init();)
diff --git a/target/linux/atheros/files/drivers/net/ar2313/ar2313.c b/target/linux/atheros/files/drivers/net/ar2313/ar2313.c
index b6e2dcab3..a2bd7e5b6 100644
--- a/target/linux/atheros/files/drivers/net/ar2313/ar2313.c
+++ b/target/linux/atheros/files/drivers/net/ar2313/ar2313.c
@@ -186,7 +186,6 @@ int __init ar2313_probe(struct platform_device *pdev)
return -ENOMEM;
}
- SET_MODULE_OWNER(dev);
platform_set_drvdata(pdev, dev);
sp = dev->priv;
diff --git a/target/linux/atheros/files/include/asm-mips/mach-atheros/war.h b/target/linux/atheros/files/include/asm-mips/mach-atheros/war.h
new file mode 100644
index 000000000..354c6e6fd
--- /dev/null
+++ b/target/linux/atheros/files/include/asm-mips/mach-atheros/war.h
@@ -0,0 +1,25 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file "COPYING" in the main directory of this archive
+ * for more details.
+ *
+ * Copyright (C) 2008 Felix Fietkau <nbd@openwrt.org>
+ */
+#ifndef __ASM_MIPS_MACH_ATHEROS_WAR_H
+#define __ASM_MIPS_MACH_ATHEROS_WAR_H
+
+#define R4600_V1_INDEX_ICACHEOP_WAR 0
+#define R4600_V1_HIT_CACHEOP_WAR 0
+#define R4600_V2_HIT_CACHEOP_WAR 0
+#define R5432_CP0_INTERRUPT_WAR 0
+#define BCM1250_M3_WAR 0
+#define SIBYTE_1956_WAR 0
+#define MIPS4K_ICACHE_REFILL_WAR 0
+#define MIPS_CACHE_SYNC_WAR 0
+#define TX49XX_ICACHE_INDEX_INV_WAR 0
+#define RM9000_CDEX_SMP_WAR 0
+#define ICACHE_REFILLS_WORKAROUND_WAR 0
+#define R10000_LLSC_WAR 0
+#define MIPS34K_MISSED_ITLB_WAR 0
+
+#endif /* __ASM_MIPS_MACH_ATHEROS_WAR_H */