Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
-Index: linux-2.6.32.7/arch/mips/kernel/cevt-r4k.c
-===================================================================
---- linux-2.6.32.7.orig/arch/mips/kernel/cevt-r4k.c 2010-01-29 00:06:20.000000000 +0100
-+++ linux-2.6.32.7/arch/mips/kernel/cevt-r4k.c 2010-02-03 16:59:28.310430064 +0100
-@@ -168,20 +168,23 @@
+--- a/arch/mips/kernel/cevt-r4k.c
++++ b/arch/mips/kernel/cevt-r4k.c
+@@ -168,20 +168,23 @@ int __cpuinit r4k_clockevent_init(void)
struct clock_event_device *cd;
unsigned int irq;
struct clock_event_device *cd;
unsigned int irq;
-Index: linux-2.6.32.7/arch/mips/kernel/cevt-r4k.c
-===================================================================
---- linux-2.6.32.7.orig/arch/mips/kernel/cevt-r4k.c 2010-02-03 16:59:28.310430064 +0100
-+++ linux-2.6.32.7/arch/mips/kernel/cevt-r4k.c 2010-02-03 16:59:54.578430015 +0100
+--- a/arch/mips/kernel/cevt-r4k.c
++++ b/arch/mips/kernel/cevt-r4k.c
@@ -16,6 +16,22 @@
#include <asm/cevt-r4k.h>
@@ -16,6 +16,22 @@
#include <asm/cevt-r4k.h>
* The SMTC Kernel for the 34K, 1004K, et. al. replaces several
* of these routines with SMTC-specific variants.
*/
* The SMTC Kernel for the 34K, 1004K, et. al. replaces several
* of these routines with SMTC-specific variants.
*/
+@@ -31,6 +47,7 @@ static int mips_next_event(unsigned long
cnt = read_c0_count();
cnt += delta;
write_c0_compare(cnt);
cnt = read_c0_count();
cnt += delta;
write_c0_compare(cnt);
res = ((int)(read_c0_count() - cnt) > 0) ? -ETIME : 0;
return res;
}
res = ((int)(read_c0_count() - cnt) > 0) ? -ETIME : 0;
return res;
}
+@@ -100,22 +117,6 @@ static int c0_compare_int_pending(void)
return (read_c0_cause() >> cp0_compare_irq) & 0x100;
}
return (read_c0_cause() >> cp0_compare_irq) & 0x100;
}
-Index: linux-2.6.32.7/arch/mips/Kconfig
-===================================================================
---- linux-2.6.32.7.orig/arch/mips/Kconfig 2010-02-03 16:57:31.290430165 +0100
-+++ linux-2.6.32.7/arch/mips/Kconfig 2010-02-03 17:00:08.814429898 +0100
-@@ -96,6 +96,19 @@
+--- a/arch/mips/Kconfig
++++ b/arch/mips/Kconfig
+@@ -96,6 +96,19 @@ config BCM63XX
help
Support for BCM63XX based boards
help
Support for BCM63XX based boards
config MIPS_COBALT
bool "Cobalt Server"
select CEVT_R4K
config MIPS_COBALT
bool "Cobalt Server"
select CEVT_R4K
+@@ -673,6 +686,7 @@ config CAVIUM_OCTEON_REFERENCE_BOARD
source "arch/mips/alchemy/Kconfig"
source "arch/mips/basler/excite/Kconfig"
source "arch/mips/bcm63xx/Kconfig"
source "arch/mips/alchemy/Kconfig"
source "arch/mips/basler/excite/Kconfig"
source "arch/mips/bcm63xx/Kconfig"
-Index: linux-2.6.32.7/arch/mips/Makefile
-===================================================================
---- linux-2.6.32.7.orig/arch/mips/Makefile 2010-02-03 16:57:31.851429682 +0100
-+++ linux-2.6.32.7/arch/mips/Makefile 2010-02-03 17:00:08.814429898 +0100
-@@ -296,6 +296,13 @@
+--- a/arch/mips/Makefile
++++ b/arch/mips/Makefile
+@@ -298,6 +298,13 @@ cflags-$(CONFIG_SOC_AU1X00) += -I$(srctr
# Cobalt Server
#
core-$(CONFIG_MIPS_COBALT) += arch/mips/cobalt/
# Cobalt Server
#
core-$(CONFIG_MIPS_COBALT) += arch/mips/cobalt/
-Index: linux-2.6.32.7/arch/mips/ar231x/Kconfig
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/arch/mips/ar231x/Kconfig 2010-02-03 17:00:08.814429898 +0100
+--- /dev/null
++++ b/arch/mips/ar231x/Kconfig
@@ -0,0 +1,17 @@
+config ATHEROS_AR5312
+ bool "Atheros 5312/2312+ support"
@@ -0,0 +1,17 @@
+config ATHEROS_AR5312
+ bool "Atheros 5312/2312+ support"
+ select SYS_SUPPORTS_BIG_ENDIAN
+ select GENERIC_GPIO
+ default y
+ select SYS_SUPPORTS_BIG_ENDIAN
+ select GENERIC_GPIO
+ default y
-Index: linux-2.6.32.7/arch/mips/ar231x/Makefile
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/arch/mips/ar231x/Makefile 2010-02-03 17:00:08.814429898 +0100
+--- /dev/null
++++ b/arch/mips/ar231x/Makefile
@@ -0,0 +1,13 @@
+#
+# This file is subject to the terms and conditions of the GNU General Public
@@ -0,0 +1,13 @@
+#
+# This file is subject to the terms and conditions of the GNU General Public
+obj-y += board.o prom.o devices.o
+obj-$(CONFIG_ATHEROS_AR5312) += ar5312.o
+obj-$(CONFIG_ATHEROS_AR2315) += ar2315.o
+obj-y += board.o prom.o devices.o
+obj-$(CONFIG_ATHEROS_AR5312) += ar5312.o
+obj-$(CONFIG_ATHEROS_AR2315) += ar2315.o
-Index: linux-2.6.32.7/arch/mips/ar231x/board.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/arch/mips/ar231x/board.c 2010-02-03 17:00:08.814429898 +0100
+--- /dev/null
++++ b/arch/mips/ar231x/board.c
@@ -0,0 +1,251 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
@@ -0,0 +1,251 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
-Index: linux-2.6.32.7/arch/mips/ar231x/prom.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/arch/mips/ar231x/prom.c 2010-02-03 17:00:08.814429898 +0100
+--- /dev/null
++++ b/arch/mips/ar231x/prom.c
@@ -0,0 +1,37 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
@@ -0,0 +1,37 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
+void __init prom_free_prom_memory(void)
+{
+}
+void __init prom_free_prom_memory(void)
+{
+}
-Index: linux-2.6.32.7/arch/mips/include/asm/mach-ar231x/ar231x_platform.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/arch/mips/include/asm/mach-ar231x/ar231x_platform.h 2010-02-03 17:00:08.814429898 +0100
+--- /dev/null
++++ b/arch/mips/include/asm/mach-ar231x/ar231x_platform.h
@@ -0,0 +1,83 @@
+#ifndef __AR531X_PLATFORM_H
+#define __AR531X_PLATFORM_H
@@ -0,0 +1,83 @@
+#ifndef __AR531X_PLATFORM_H
+#define __AR531X_PLATFORM_H
+};
+
+#endif /* __AR531X_PLATFORM_H */
+};
+
+#endif /* __AR531X_PLATFORM_H */
-Index: linux-2.6.32.7/arch/mips/include/asm/mach-ar231x/cpu-feature-overrides.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/arch/mips/include/asm/mach-ar231x/cpu-feature-overrides.h 2010-02-03 17:00:08.814429898 +0100
+--- /dev/null
++++ b/arch/mips/include/asm/mach-ar231x/cpu-feature-overrides.h
@@ -0,0 +1,84 @@
+/*
+ * Atheros SoC specific CPU feature overrides
@@ -0,0 +1,84 @@
+/*
+ * Atheros SoC specific CPU feature overrides
+/* #define cpu_icache_line_size() ? */
+
+#endif /* __ASM_MACH_ATHEROS_CPU_FEATURE_OVERRIDES_H */
+/* #define cpu_icache_line_size() ? */
+
+#endif /* __ASM_MACH_ATHEROS_CPU_FEATURE_OVERRIDES_H */
-Index: linux-2.6.32.7/arch/mips/include/asm/mach-ar231x/dma-coherence.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/arch/mips/include/asm/mach-ar231x/dma-coherence.h 2010-02-03 17:00:08.814429898 +0100
+--- /dev/null
++++ b/arch/mips/include/asm/mach-ar231x/dma-coherence.h
@@ -0,0 +1,64 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
@@ -0,0 +1,64 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
+}
+
+#endif /* __ASM_MACH_GENERIC_DMA_COHERENCE_H */
+}
+
+#endif /* __ASM_MACH_GENERIC_DMA_COHERENCE_H */
-Index: linux-2.6.32.7/arch/mips/include/asm/mach-ar231x/gpio.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/arch/mips/include/asm/mach-ar231x/gpio.h 2010-02-03 17:00:08.814429898 +0100
+--- /dev/null
++++ b/arch/mips/include/asm/mach-ar231x/gpio.h
@@ -0,0 +1,79 @@
+#ifndef _ATHEROS_GPIO_H_
+#define _ATHEROS_GPIO_H_
@@ -0,0 +1,79 @@
+#ifndef _ATHEROS_GPIO_H_
+#define _ATHEROS_GPIO_H_
+#include <asm-generic/gpio.h> /* cansleep wrappers */
+
+#endif
+#include <asm-generic/gpio.h> /* cansleep wrappers */
+
+#endif
-Index: linux-2.6.32.7/arch/mips/include/asm/mach-ar231x/reset.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/arch/mips/include/asm/mach-ar231x/reset.h 2010-02-03 17:00:08.814429898 +0100
+--- /dev/null
++++ b/arch/mips/include/asm/mach-ar231x/reset.h
@@ -0,0 +1,6 @@
+#ifndef __AR531X_RESET_H
+#define __AR531X_RESET_H
@@ -0,0 +1,6 @@
+#ifndef __AR531X_RESET_H
+#define __AR531X_RESET_H
+void ar531x_disable_reset_button(void);
+
+#endif /* __AR531X_RESET_H */
+void ar531x_disable_reset_button(void);
+
+#endif /* __AR531X_RESET_H */
-Index: linux-2.6.32.7/arch/mips/include/asm/mach-ar231x/war.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/arch/mips/include/asm/mach-ar231x/war.h 2010-02-03 17:00:08.814429898 +0100
+--- /dev/null
++++ b/arch/mips/include/asm/mach-ar231x/war.h
@@ -0,0 +1,25 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
@@ -0,0 +1,25 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
+#define MIPS34K_MISSED_ITLB_WAR 0
+
+#endif /* __ASM_MIPS_MACH_ATHEROS_WAR_H */
+#define MIPS34K_MISSED_ITLB_WAR 0
+
+#endif /* __ASM_MIPS_MACH_ATHEROS_WAR_H */
-Index: linux-2.6.32.7/arch/mips/include/asm/mach-ar231x/ar2315_regs.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/arch/mips/include/asm/mach-ar231x/ar2315_regs.h 2010-02-03 17:00:08.814429898 +0100
+--- /dev/null
++++ b/arch/mips/include/asm/mach-ar231x/ar2315_regs.h
@@ -0,0 +1,580 @@
+/*
+ * Register definitions for AR2315+
@@ -0,0 +1,580 @@
+/*
+ * Register definitions for AR2315+
+#define PCI_DEVICE_MEM_SPACE 0x800000
+
+#endif /* __AR2315_REG_H */
+#define PCI_DEVICE_MEM_SPACE 0x800000
+
+#endif /* __AR2315_REG_H */
-Index: linux-2.6.32.7/arch/mips/include/asm/mach-ar231x/ar5312_regs.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/arch/mips/include/asm/mach-ar231x/ar5312_regs.h 2010-02-03 17:00:08.818431986 +0100
+--- /dev/null
++++ b/arch/mips/include/asm/mach-ar231x/ar5312_regs.h
@@ -0,0 +1,236 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
@@ -0,0 +1,236 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
-Index: linux-2.6.32.7/arch/mips/ar231x/ar5312.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/arch/mips/ar231x/ar5312.c 2010-02-03 17:00:08.818431986 +0100
+--- /dev/null
++++ b/arch/mips/ar231x/ar5312.c
@@ -0,0 +1,547 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
@@ -0,0 +1,547 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
+ ar231x_serial_setup(KSEG1ADDR(AR531X_UART0), ar5312_sys_frequency());
+}
+
+ ar231x_serial_setup(KSEG1ADDR(AR531X_UART0), ar5312_sys_frequency());
+}
+
-Index: linux-2.6.32.7/arch/mips/ar231x/ar2315.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/arch/mips/ar231x/ar2315.c 2010-02-03 17:00:08.818431986 +0100
+--- /dev/null
++++ b/arch/mips/ar231x/ar2315.c
@@ -0,0 +1,658 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
@@ -0,0 +1,658 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
+ _machine_restart = ar2315_restart;
+ ar231x_serial_setup(KSEG1ADDR(AR2315_UART0), ar2315_apb_frequency());
+}
+ _machine_restart = ar2315_restart;
+ ar231x_serial_setup(KSEG1ADDR(AR2315_UART0), ar2315_apb_frequency());
+}
-Index: linux-2.6.32.7/arch/mips/ar231x/ar2315.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/arch/mips/ar231x/ar2315.h 2010-02-03 17:00:08.818431986 +0100
+--- /dev/null
++++ b/arch/mips/ar231x/ar2315.h
@@ -0,0 +1,37 @@
+#ifndef __AR2315_H
+#define __AR2315_H
@@ -0,0 +1,37 @@
+#ifndef __AR2315_H
+#define __AR2315_H
-Index: linux-2.6.32.7/arch/mips/ar231x/ar5312.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/arch/mips/ar231x/ar5312.h 2010-02-03 17:00:08.818431986 +0100
+--- /dev/null
++++ b/arch/mips/ar231x/ar5312.h
@@ -0,0 +1,38 @@
+#ifndef __AR5312_H
+#define __AR5312_H
@@ -0,0 +1,38 @@
+#ifndef __AR5312_H
+#define __AR5312_H
-Index: linux-2.6.32.7/arch/mips/include/asm/mach-ar231x/ar231x.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/arch/mips/include/asm/mach-ar231x/ar231x.h 2010-02-03 17:00:08.818431986 +0100
+--- /dev/null
++++ b/arch/mips/include/asm/mach-ar231x/ar231x.h
@@ -0,0 +1,54 @@
+#ifndef __AR531X_H
+#define __AR531X_H
@@ -0,0 +1,54 @@
+#ifndef __AR531X_H
+#define __AR531X_H
-Index: linux-2.6.32.7/arch/mips/ar231x/devices.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/arch/mips/ar231x/devices.h 2010-02-03 17:00:08.818431986 +0100
+--- /dev/null
++++ b/arch/mips/ar231x/devices.h
@@ -0,0 +1,37 @@
+#ifndef __AR231X_DEVICES_H
+#define __AR231X_DEVICES_H
@@ -0,0 +1,37 @@
+#ifndef __AR231X_DEVICES_H
+#define __AR231X_DEVICES_H
-Index: linux-2.6.32.7/arch/mips/ar231x/devices.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/arch/mips/ar231x/devices.c 2010-02-03 17:00:08.818431986 +0100
+--- /dev/null
++++ b/arch/mips/ar231x/devices.c
@@ -0,0 +1,175 @@
+#include <linux/kernel.h>
+#include <linux/init.h>
@@ -0,0 +1,175 @@
+#include <linux/kernel.h>
+#include <linux/init.h>
-Index: linux-2.6.32.7/arch/mips/ar231x/Makefile
-===================================================================
---- linux-2.6.32.7.orig/arch/mips/ar231x/Makefile 2010-02-03 17:00:08.814429898 +0100
-+++ linux-2.6.32.7/arch/mips/ar231x/Makefile 2010-02-03 17:00:21.031428952 +0100
+--- a/arch/mips/ar231x/Makefile
++++ b/arch/mips/ar231x/Makefile
@@ -11,3 +11,4 @@
obj-y += board.o prom.o devices.o
obj-$(CONFIG_ATHEROS_AR5312) += ar5312.o
obj-$(CONFIG_ATHEROS_AR2315) += ar2315.o
+obj-$(CONFIG_ATHEROS_AR2315_PCI) += pci.o
@@ -11,3 +11,4 @@
obj-y += board.o prom.o devices.o
obj-$(CONFIG_ATHEROS_AR5312) += ar5312.o
obj-$(CONFIG_ATHEROS_AR2315) += ar2315.o
+obj-$(CONFIG_ATHEROS_AR2315_PCI) += pci.o
-Index: linux-2.6.32.7/arch/mips/ar231x/pci.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/arch/mips/ar231x/pci.c 2010-02-03 17:00:21.031428952 +0100
+--- /dev/null
++++ b/arch/mips/ar231x/pci.c
@@ -0,0 +1,230 @@
+/*
+ * This program is free software; you can redistribute it and/or
@@ -0,0 +1,230 @@
+/*
+ * This program is free software; you can redistribute it and/or
+}
+
+arch_initcall(ar2315_pci_init);
+}
+
+arch_initcall(ar2315_pci_init);
-Index: linux-2.6.32.7/arch/mips/ar231x/Kconfig
-===================================================================
---- linux-2.6.32.7.orig/arch/mips/ar231x/Kconfig 2010-02-03 17:00:08.814429898 +0100
-+++ linux-2.6.32.7/arch/mips/ar231x/Kconfig 2010-02-03 17:00:21.031428952 +0100
-@@ -15,3 +15,13 @@
+--- a/arch/mips/ar231x/Kconfig
++++ b/arch/mips/ar231x/Kconfig
+@@ -15,3 +15,13 @@ config ATHEROS_AR2315
select SYS_SUPPORTS_BIG_ENDIAN
select GENERIC_GPIO
default y
select SYS_SUPPORTS_BIG_ENDIAN
select GENERIC_GPIO
default y
+ select USB_ARCH_HAS_OHCI
+ select USB_ARCH_HAS_EHCI
+ default y
+ select USB_ARCH_HAS_OHCI
+ select USB_ARCH_HAS_EHCI
+ default y
-Index: linux-2.6.32.7/arch/mips/ar231x/ar2315.c
-===================================================================
---- linux-2.6.32.7.orig/arch/mips/ar231x/ar2315.c 2010-02-03 17:00:08.818431986 +0100
-+++ linux-2.6.32.7/arch/mips/ar231x/ar2315.c 2010-02-03 17:00:21.031428952 +0100
-@@ -63,6 +63,27 @@
+--- a/arch/mips/ar231x/ar2315.c
++++ b/arch/mips/ar231x/ar2315.c
+@@ -63,6 +63,27 @@ static inline void ar2315_gpio_irq(void)
do_IRQ(AR531X_GPIO_IRQ_BASE + bit);
}
do_IRQ(AR531X_GPIO_IRQ_BASE + bit);
}
/*
* Called when an interrupt is received, this function
/*
* Called when an interrupt is received, this function
+@@ -81,6 +102,10 @@ ar2315_irq_dispatch(void)
do_IRQ(AR2315_IRQ_WLAN0_INTRS);
else if (pending & CAUSEF_IP4)
do_IRQ(AR2315_IRQ_ENET0_INTRS);
do_IRQ(AR2315_IRQ_WLAN0_INTRS);
else if (pending & CAUSEF_IP4)
do_IRQ(AR2315_IRQ_ENET0_INTRS);
-Index: linux-2.6.32.7/drivers/net/Kconfig
-===================================================================
---- linux-2.6.32.7.orig/drivers/net/Kconfig 2010-02-03 16:57:31.714431054 +0100
-+++ linux-2.6.32.7/drivers/net/Kconfig 2010-02-03 17:00:35.870429264 +0100
-@@ -359,6 +359,12 @@
+--- a/drivers/net/Kconfig
++++ b/drivers/net/Kconfig
+@@ -359,6 +359,12 @@ config AX88796_93CX6
help
Select this if your platform comes with an external 93CX6 eeprom.
help
Select this if your platform comes with an external 93CX6 eeprom.
config MACE
tristate "MACE (Power Mac ethernet) support"
depends on PPC_PMAC && PPC32
config MACE
tristate "MACE (Power Mac ethernet) support"
depends on PPC_PMAC && PPC32
-Index: linux-2.6.32.7/drivers/net/Makefile
-===================================================================
---- linux-2.6.32.7.orig/drivers/net/Makefile 2010-02-03 16:57:31.714431054 +0100
-+++ linux-2.6.32.7/drivers/net/Makefile 2010-02-03 17:00:35.870429264 +0100
-@@ -216,6 +216,7 @@
+--- a/drivers/net/Makefile
++++ b/drivers/net/Makefile
+@@ -216,6 +216,7 @@ obj-$(CONFIG_EQUALIZER) += eql.o
obj-$(CONFIG_KORINA) += korina.o
obj-$(CONFIG_MIPS_JAZZ_SONIC) += jazzsonic.o
obj-$(CONFIG_MIPS_AU1X00_ENET) += au1000_eth.o
obj-$(CONFIG_KORINA) += korina.o
obj-$(CONFIG_MIPS_JAZZ_SONIC) += jazzsonic.o
obj-$(CONFIG_MIPS_AU1X00_ENET) += au1000_eth.o
obj-$(CONFIG_MIPS_SIM_NET) += mipsnet.o
obj-$(CONFIG_SGI_IOC3_ETH) += ioc3-eth.o
obj-$(CONFIG_DECLANCE) += declance.o
obj-$(CONFIG_MIPS_SIM_NET) += mipsnet.o
obj-$(CONFIG_SGI_IOC3_ETH) += ioc3-eth.o
obj-$(CONFIG_DECLANCE) += declance.o
-Index: linux-2.6.32.7/drivers/net/ar231x.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/drivers/net/ar231x.c 2010-02-03 17:00:35.874430230 +0100
+--- /dev/null
++++ b/drivers/net/ar231x.c
@@ -0,0 +1,1263 @@
+/*
+ * ar231x.c: Linux driver for the Atheros AR231x Ethernet device.
@@ -0,0 +1,1263 @@
+/*
+ * ar231x.c: Linux driver for the Atheros AR231x Ethernet device.
-Index: linux-2.6.32.7/drivers/net/ar231x.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/drivers/net/ar231x.h 2010-02-03 17:00:35.874430230 +0100
+--- /dev/null
++++ b/drivers/net/ar231x.h
@@ -0,0 +1,302 @@
+/*
+ * ar231x.h: Linux driver for the Atheros AR231x Ethernet device.
@@ -0,0 +1,302 @@
+/*
+ * ar231x.h: Linux driver for the Atheros AR231x Ethernet device.
-Index: linux-2.6.32.7/drivers/mtd/devices/Kconfig
-===================================================================
---- linux-2.6.32.7.orig/drivers/mtd/devices/Kconfig 2010-01-29 00:06:20.000000000 +0100
-+++ linux-2.6.32.7/drivers/mtd/devices/Kconfig 2010-02-03 17:01:08.858429535 +0100
-@@ -114,6 +114,10 @@
+--- a/drivers/mtd/devices/Kconfig
++++ b/drivers/mtd/devices/Kconfig
+@@ -114,6 +114,10 @@ config MTD_SST25L
Set up your spi devices with the right board-specific platform data,
if you want to specify device partitioning.
Set up your spi devices with the right board-specific platform data,
if you want to specify device partitioning.
config MTD_SLRAM
tristate "Uncached system RAM"
help
config MTD_SLRAM
tristate "Uncached system RAM"
help
-Index: linux-2.6.32.7/drivers/mtd/devices/Makefile
-===================================================================
---- linux-2.6.32.7.orig/drivers/mtd/devices/Makefile 2010-01-29 00:06:20.000000000 +0100
-+++ linux-2.6.32.7/drivers/mtd/devices/Makefile 2010-02-03 17:01:30.282430590 +0100
-@@ -17,3 +17,4 @@
+--- a/drivers/mtd/devices/Makefile
++++ b/drivers/mtd/devices/Makefile
+@@ -17,3 +17,4 @@ obj-$(CONFIG_MTD_BLOCK2MTD) += block2mtd
obj-$(CONFIG_MTD_DATAFLASH) += mtd_dataflash.o
obj-$(CONFIG_MTD_M25P80) += m25p80.o
obj-$(CONFIG_MTD_SST25L) += sst25l.o
+obj-$(CONFIG_MTD_AR2315) += ar2315.o
obj-$(CONFIG_MTD_DATAFLASH) += mtd_dataflash.o
obj-$(CONFIG_MTD_M25P80) += m25p80.o
obj-$(CONFIG_MTD_SST25L) += sst25l.o
+obj-$(CONFIG_MTD_AR2315) += ar2315.o
-Index: linux-2.6.32.7/drivers/mtd/devices/ar2315.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/drivers/mtd/devices/ar2315.c 2010-02-03 17:01:08.858429535 +0100
+--- /dev/null
++++ b/drivers/mtd/devices/ar2315.c
+MODULE_AUTHOR("OpenWrt.org, Atheros Communications Inc");
+MODULE_DESCRIPTION("MTD driver for SPI Flash on Atheros SOC");
+
+MODULE_AUTHOR("OpenWrt.org, Atheros Communications Inc");
+MODULE_DESCRIPTION("MTD driver for SPI Flash on Atheros SOC");
+
-Index: linux-2.6.32.7/arch/mips/include/asm/mach-ar231x/ar2315_spiflash.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/arch/mips/include/asm/mach-ar231x/ar2315_spiflash.h 2010-02-03 17:01:08.858429535 +0100
+--- /dev/null
++++ b/arch/mips/include/asm/mach-ar231x/ar2315_spiflash.h
@@ -0,0 +1,116 @@
+/*
+ * SPI Flash Memory support header file.
@@ -0,0 +1,116 @@
+/*
+ * SPI Flash Memory support header file.
-Index: linux-2.6.32.7/drivers/watchdog/ar2315-wtd.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/drivers/watchdog/ar2315-wtd.c 2010-02-03 17:01:46.074429108 +0100
+--- /dev/null
++++ b/drivers/watchdog/ar2315-wtd.c
@@ -0,0 +1,200 @@
+/*
+ * This program is free software; you can redistribute it and/or modify
@@ -0,0 +1,200 @@
+/*
+ * This program is free software; you can redistribute it and/or modify
+
+module_init(init_ar2315_wdt);
+module_exit(exit_ar2315_wdt);
+
+module_init(init_ar2315_wdt);
+module_exit(exit_ar2315_wdt);
-Index: linux-2.6.32.7/drivers/watchdog/Kconfig
-===================================================================
---- linux-2.6.32.7.orig/drivers/watchdog/Kconfig 2010-01-29 00:06:20.000000000 +0100
-+++ linux-2.6.32.7/drivers/watchdog/Kconfig 2010-02-03 17:01:46.078429135 +0100
-@@ -850,6 +850,12 @@
+--- a/drivers/watchdog/Kconfig
++++ b/drivers/watchdog/Kconfig
+@@ -850,6 +850,12 @@ config TXX9_WDT
help
Hardware driver for the built-in watchdog timer on TXx9 MIPS SoCs.
help
Hardware driver for the built-in watchdog timer on TXx9 MIPS SoCs.
# PARISC Architecture
# POWERPC Architecture
# PARISC Architecture
# POWERPC Architecture
-Index: linux-2.6.32.7/drivers/watchdog/Makefile
-===================================================================
---- linux-2.6.32.7.orig/drivers/watchdog/Makefile 2010-01-29 00:06:20.000000000 +0100
-+++ linux-2.6.32.7/drivers/watchdog/Makefile 2010-02-03 17:01:46.078429135 +0100
-@@ -113,6 +113,7 @@
+--- a/drivers/watchdog/Makefile
++++ b/drivers/watchdog/Makefile
+@@ -113,6 +113,7 @@ obj-$(CONFIG_WDT_RM9K_GPI) += rm9k_wdt.o
obj-$(CONFIG_SIBYTE_WDOG) += sb_wdog.o
obj-$(CONFIG_AR7_WDT) += ar7_wdt.o
obj-$(CONFIG_TXX9_WDT) += txx9wdt.o
obj-$(CONFIG_SIBYTE_WDOG) += sb_wdog.o
obj-$(CONFIG_AR7_WDT) += ar7_wdt.o
obj-$(CONFIG_TXX9_WDT) += txx9wdt.o
-Index: linux-2.6.32.7/drivers/mtd/redboot.c
-===================================================================
---- linux-2.6.32.7.orig/drivers/mtd/redboot.c 2010-02-03 16:57:31.582429139 +0100
-+++ linux-2.6.32.7/drivers/mtd/redboot.c 2010-02-03 17:01:57.067429178 +0100
-@@ -60,31 +60,32 @@
+--- a/drivers/mtd/redboot.c
++++ b/drivers/mtd/redboot.c
+@@ -60,31 +60,32 @@ static int parse_redboot_partitions(stru
static char nullstring[] = "unallocated";
#endif
static char nullstring[] = "unallocated";
#endif
printk(KERN_NOTICE "Searching for RedBoot partition table in %s at offset 0x%lx\n",
master->name, offset);
printk(KERN_NOTICE "Searching for RedBoot partition table in %s at offset 0x%lx\n",
master->name, offset);
+@@ -156,6 +157,11 @@ static int parse_redboot_partitions(stru
}
if (i == numslots) {
/* Didn't find it */
}
if (i == numslots) {
/* Didn't find it */
-Index: linux-2.6.32.7/drivers/net/ar231x.c
-===================================================================
---- linux-2.6.32.7.orig/drivers/net/ar231x.c 2010-02-03 17:00:35.874430230 +0100
-+++ linux-2.6.32.7/drivers/net/ar231x.c 2010-02-03 17:02:28.998430523 +0100
-@@ -735,6 +735,7 @@
+--- a/drivers/net/ar231x.c
++++ b/drivers/net/ar231x.c
+@@ -735,6 +735,7 @@ static void ar231x_load_rx_ring(struct n
for (i = 0; i < nr_bufs; i++) {
struct sk_buff *skb;
ar231x_descr_t *rd;
for (i = 0; i < nr_bufs; i++) {
struct sk_buff *skb;
ar231x_descr_t *rd;
if (sp->rx_skb[idx])
break;
if (sp->rx_skb[idx])
break;
+@@ -750,7 +751,9 @@ static void ar231x_load_rx_ring(struct n
* Make sure IP header starts on a fresh cache line.
*/
skb->dev = dev;
* Make sure IP header starts on a fresh cache line.
*/
skb->dev = dev;
sp->rx_skb[idx] = skb;
rd = (ar231x_descr_t *) & sp->rx_ring[idx];
sp->rx_skb[idx] = skb;
rd = (ar231x_descr_t *) & sp->rx_ring[idx];
+@@ -824,20 +827,23 @@ static int ar231x_rx_int(struct net_devi
/* alloc new buffer. */
skb_new = netdev_alloc_skb(dev, AR2313_BUFSIZE + RX_OFFSET);
if (skb_new != NULL) {
/* alloc new buffer. */
skb_new = netdev_alloc_skb(dev, AR2313_BUFSIZE + RX_OFFSET);
if (skb_new != NULL) {
/* reset descriptor's curr_addr */
rxdesc->addr = virt_to_phys(skb_new->data);
/* reset descriptor's curr_addr */
rxdesc->addr = virt_to_phys(skb_new->data);
+@@ -1239,6 +1245,8 @@ static int ar231x_mdiobus_probe (struct
return PTR_ERR(phydev);
}
return PTR_ERR(phydev);
}
/* mask with MAC supported features */
phydev->supported &= (SUPPORTED_10baseT_Half
| SUPPORTED_10baseT_Full
/* mask with MAC supported features */
phydev->supported &= (SUPPORTED_10baseT_Half
| SUPPORTED_10baseT_Full
-Index: linux-2.6.32.7/drivers/net/ar231x.h
-===================================================================
---- linux-2.6.32.7.orig/drivers/net/ar231x.h 2010-02-03 17:00:35.874430230 +0100
-+++ linux-2.6.32.7/drivers/net/ar231x.h 2010-02-03 17:02:28.998430523 +0100
-@@ -221,6 +221,8 @@
+--- a/drivers/net/ar231x.h
++++ b/drivers/net/ar231x.h
+@@ -221,6 +221,8 @@ typedef struct {
*/
struct ar231x_private {
struct net_device *dev;
*/
struct ar231x_private {
struct net_device *dev;
-Index: linux-2.6.32.7/arch/mips/ar231x/Makefile
-===================================================================
---- linux-2.6.32.7.orig/arch/mips/ar231x/Makefile 2010-02-03 17:00:21.031428952 +0100
-+++ linux-2.6.32.7/arch/mips/ar231x/Makefile 2010-02-03 17:02:36.795429223 +0100
+--- a/arch/mips/ar231x/Makefile
++++ b/arch/mips/ar231x/Makefile
@@ -8,7 +8,7 @@
# Copyright (C) 2006-2009 Felix Fietkau <nbd@openwrt.org>
#
@@ -8,7 +8,7 @@
# Copyright (C) 2006-2009 Felix Fietkau <nbd@openwrt.org>
#
obj-$(CONFIG_ATHEROS_AR5312) += ar5312.o
obj-$(CONFIG_ATHEROS_AR2315) += ar2315.o
obj-$(CONFIG_ATHEROS_AR2315_PCI) += pci.o
obj-$(CONFIG_ATHEROS_AR5312) += ar5312.o
obj-$(CONFIG_ATHEROS_AR2315) += ar2315.o
obj-$(CONFIG_ATHEROS_AR2315_PCI) += pci.o
-Index: linux-2.6.32.7/arch/mips/ar231x/reset.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/arch/mips/ar231x/reset.c 2010-02-03 17:02:36.795429223 +0100
+--- /dev/null
++++ b/arch/mips/ar231x/reset.c
@@ -0,0 +1,160 @@
+#include <linux/init.h>
+#include <linux/module.h>
@@ -0,0 +1,160 @@
+#include <linux/init.h>
+#include <linux/module.h>
-Index: linux-2.6.32.7/drivers/net/ar231x.c
-===================================================================
---- linux-2.6.32.7.orig/drivers/net/ar231x.c 2010-02-03 17:02:28.998430523 +0100
-+++ linux-2.6.32.7/drivers/net/ar231x.c 2010-02-03 17:03:01.346429245 +0100
-@@ -148,6 +148,7 @@
+--- a/drivers/net/ar231x.c
++++ b/drivers/net/ar231x.c
+@@ -148,6 +148,7 @@ static int ar231x_mdiobus_write(struct m
static int ar231x_mdiobus_reset(struct mii_bus *bus);
static int ar231x_mdiobus_probe (struct net_device *dev);
static void ar231x_adjust_link(struct net_device *dev);
static int ar231x_mdiobus_reset(struct mii_bus *bus);
static int ar231x_mdiobus_probe (struct net_device *dev);
static void ar231x_adjust_link(struct net_device *dev);
#ifndef ERR
#define ERR(fmt, args...) printk("%s: " fmt, __func__, ##args)
#ifndef ERR
#define ERR(fmt, args...) printk("%s: " fmt, __func__, ##args)
+@@ -278,6 +279,21 @@ int __init ar231x_probe(struct platform_
mdiobus_register(sp->mii_bus);
mdiobus_register(sp->mii_bus);
if (ar231x_mdiobus_probe(dev) != 0) {
printk(KERN_ERR "%s: mdiobus_probe failed\n", dev->name);
rx_tasklet_cleanup(dev);
if (ar231x_mdiobus_probe(dev) != 0) {
printk(KERN_ERR "%s: mdiobus_probe failed\n", dev->name);
rx_tasklet_cleanup(dev);
+@@ -334,8 +350,10 @@ static int __exit ar231x_remove(struct p
rx_tasklet_cleanup(dev);
ar231x_init_cleanup(dev);
unregister_netdev(dev);
rx_tasklet_cleanup(dev);
ar231x_init_cleanup(dev);
unregister_netdev(dev);
+@@ -836,7 +854,12 @@ static int ar231x_rx_int(struct net_devi
dev->stats.rx_bytes += skb->len;
/* pass the packet to upper layers */
dev->stats.rx_bytes += skb->len;
/* pass the packet to upper layers */
skb_new->dev = dev;
/* 16 bit align */
skb_new->dev = dev;
/* 16 bit align */
+@@ -1123,6 +1146,9 @@ static int ar231x_ioctl(struct net_devic
struct ar231x_private *sp = netdev_priv(dev);
int ret;
struct ar231x_private *sp = netdev_priv(dev);
int ret;