diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-01-31 04:44:35 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-01-31 04:44:35 +0000 |
commit | 697e06b22580013c25f0f170925fa5f02879345b (patch) | |
tree | 2ea99e192074677d53b80c2e88d8f929d825c180 /target/linux/atheros/files | |
parent | 18a605bf0b48420b0385f75c886d43c81435f532 (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')
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 5256a548ce..d790a88073 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 ebb4a5afef..ccbda48546 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 403c931acf..250507046c 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 b6e2dcab35..a2bd7e5b6e 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 0000000000..354c6e6fd1 --- /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 */ |