From 2361535088eea77bbdf58c118afd83112d837331 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 31 Jan 2008 04:44:35 +0000 Subject: port atheros to 2.6.24 (untested), but do not use the new kernel by default yet SVN-Revision: 10335 --- .../linux/atheros/files/arch/mips/atheros/ar531x.h | 4 ++++ .../linux/atheros/files/arch/mips/atheros/board.c | 9 ++++++++ .../linux/atheros/files/arch/mips/atheros/prom.c | 1 - .../atheros/files/drivers/net/ar2313/ar2313.c | 1 - .../files/include/asm-mips/mach-atheros/war.h | 25 ++++++++++++++++++++++ 5 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 target/linux/atheros/files/include/asm-mips/mach-atheros/war.h (limited to 'target/linux/atheros/files') 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 #include #include #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 + */ +#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 */ -- cgit v1.2.3