66 lines
2.2 KiB
Diff
66 lines
2.2 KiB
Diff
diff -Naurp a/arch/arm/mach-ixp4xx/common.c b/arch/arm/mach-ixp4xx/common.c
|
|
--- a/arch/arm/mach-ixp4xx/common.c 2007-05-29 21:14:27.000000000 -0600
|
|
+++ b/arch/arm/mach-ixp4xx/common.c 2007-05-29 21:33:08.000000000 -0600
|
|
@@ -284,7 +284,7 @@ static struct irqaction ixp4xx_timer_irq
|
|
.handler = ixp4xx_timer_interrupt,
|
|
};
|
|
|
|
-static void __init ixp4xx_timer_init(void)
|
|
+void __init ixp4xx_timer_init(void)
|
|
{
|
|
/* Reset/disable counter */
|
|
*IXP4XX_OSRT1 = 0;
|
|
diff -Naurp a/arch/arm/mach-ixp4xx/nslu2-setup.c b/arch/arm/mach-ixp4xx/nslu2-setup.c
|
|
--- a/arch/arm/mach-ixp4xx/nslu2-setup.c 2007-05-29 21:14:27.000000000 -0600
|
|
+++ b/arch/arm/mach-ixp4xx/nslu2-setup.c 2007-05-29 21:33:08.000000000 -0600
|
|
@@ -23,6 +23,7 @@
|
|
#include <asm/mach-types.h>
|
|
#include <asm/mach/arch.h>
|
|
#include <asm/mach/flash.h>
|
|
+#include <asm/mach/time.h>
|
|
|
|
static struct flash_platform_data nslu2_flash_data = {
|
|
.map_name = "cfi_probe",
|
|
@@ -212,10 +213,21 @@ static struct mtd_notifier nslu2_flash_n
|
|
.remove = nslu2_flash_remove,
|
|
};
|
|
|
|
-static void __init nslu2_init(void)
|
|
+static void __init nslu2_timer_init(void)
|
|
{
|
|
+ /* The xtal on this machine is non-standard. */
|
|
ixp4xx_timer_freq = NSLU2_FREQ;
|
|
|
|
+ /* Call standard timer_init function. */
|
|
+ ixp4xx_timer_init();
|
|
+}
|
|
+
|
|
+static struct sys_timer nslu2_timer = {
|
|
+ .init = nslu2_timer_init,
|
|
+};
|
|
+
|
|
+static void __init nslu2_init(void)
|
|
+{
|
|
/* The flash has an ethernet MAC embedded in it which we need,
|
|
* that is all this notifier does.
|
|
*/
|
|
@@ -245,6 +257,6 @@ MACHINE_START(NSLU2, "Linksys NSLU2")
|
|
.boot_params = 0x00000100,
|
|
.map_io = ixp4xx_map_io,
|
|
.init_irq = ixp4xx_init_irq,
|
|
- .timer = &ixp4xx_timer,
|
|
+ .timer = &nslu2_timer,
|
|
.init_machine = nslu2_init,
|
|
MACHINE_END
|
|
diff -Naurp a/include/asm-arm/arch-ixp4xx/platform.h b/include/asm-arm/arch-ixp4xx/platform.h
|
|
--- a/include/asm-arm/arch-ixp4xx/platform.h 2007-05-29 21:14:27.000000000 -0600
|
|
+++ b/include/asm-arm/arch-ixp4xx/platform.h 2007-05-29 21:33:08.000000000 -0600
|
|
@@ -132,6 +132,7 @@ extern unsigned long ixp4xx_timer_freq;
|
|
extern void ixp4xx_map_io(void);
|
|
extern void ixp4xx_init_irq(void);
|
|
extern void ixp4xx_sys_init(void);
|
|
+extern void ixp4xx_timer_init(void);
|
|
extern struct sys_timer ixp4xx_timer;
|
|
extern void ixp4xx_pci_preinit(void);
|
|
struct pci_sys_data;
|