From b7276b236dcf400003179e77f5b4b4c05e1fb29c Mon Sep 17 00:00:00 2001 From: Linus Walleij Date: Thu, 5 Aug 2010 07:58:58 +0100 Subject: ARM: 6296/1: clock U300 intcon and timer properly This removes the quirks to clock the U300 VIC and timer by custom hooks and moves the control out to the clock framework where it belongs. This is possible now that clocks are available early. Signed-off-by: Linus Walleij Signed-off-by: Russell King --- arch/arm/mach-u300/core.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'arch/arm/mach-u300/core.c') diff --git a/arch/arm/mach-u300/core.c b/arch/arm/mach-u300/core.c index b18976370824..ea41c236be0f 100644 --- a/arch/arm/mach-u300/core.c +++ b/arch/arm/mach-u300/core.c @@ -19,6 +19,8 @@ #include #include #include +#include +#include #include #include @@ -1477,14 +1479,19 @@ static struct platform_device *platform_devs[] __initdata = { void __init u300_init_irq(void) { u32 mask[2] = {0, 0}; + struct clk *clk; int i; /* initialize clocking early, we want to clock the INTCON */ u300_clock_init(); + /* Clock the interrupt controller */ + clk = clk_get_sys("intcon", NULL); + BUG_ON(IS_ERR(clk)); + clk_enable(clk); + for (i = 0; i < NR_IRQS; i++) set_bit(i, (unsigned long *) &mask[0]); - u300_enable_intcon_clock(); vic_init((void __iomem *) U300_INTCON0_VBASE, 0, mask[0], mask[0]); vic_init((void __iomem *) U300_INTCON1_VBASE, 32, mask[1], mask[1]); } -- cgit v1.2.1