1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-25 10:04:36 +02:00
openwrt-xburst/target/linux/ar7/patches-2.6.32/170-clocks_init_earlier.patch
florian fba7a3f47e [ar7] initialize clocks earlier for lpj to be correct (#7548)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23746 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-10-31 21:45:49 +00:00

54 lines
1.2 KiB
Diff

--- a/arch/mips/ar7/clock.c
+++ b/arch/mips/ar7/clock.c
@@ -232,12 +232,12 @@ static void tnetd7300_set_clock(u32 shif
calculate(base_clock, frequency, &prediv, &postdiv, &mul);
writel(((prediv - 1) << PREDIV_SHIFT) | (postdiv - 1), &clock->ctrl);
- msleep(1);
+ mdelay(1);
writel(4, &clock->pll);
while (readl(&clock->pll) & PLL_STATUS)
;
writel(((mul - 1) << MUL_SHIFT) | (0xff << 3) | 0x0e, &clock->pll);
- msleep(75);
+ mdelay(75);
}
static void __init tnetd7300_init_clocks(void)
@@ -407,7 +407,7 @@ static void __init tnetd7200_init_clocks
iounmap(bootcr);
}
-int __init ar7_init_clocks(void)
+void __init ar7_init_clocks(void)
{
switch (ar7_chip_id()) {
case AR7_CHIP_7100:
@@ -421,7 +421,4 @@ int __init ar7_init_clocks(void)
default:
break;
}
-
- return 0;
}
-arch_initcall(ar7_init_clocks);
--- a/arch/mips/ar7/time.c
+++ b/arch/mips/ar7/time.c
@@ -26,5 +26,7 @@
void __init plat_time_init(void)
{
+ ar7_init_clocks();
+
mips_hpt_frequency = ar7_cpu_freq() / 2;
}
--- a/arch/mips/include/asm/mach-ar7/ar7.h
+++ b/arch/mips/include/asm/mach-ar7/ar7.h
@@ -178,4 +178,6 @@ static inline void ar7_device_off(u32 bi
msleep(20);
}
+extern void __init ar7_init_clocks(void);
+
#endif /* __AR7_H__ */