diff options
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 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 */ |