Skip to content

Commit

Permalink
clocksource: exynos_mct: remove platform header dependency
Browse files Browse the repository at this point in the history
For the non-DT case, the mct_init() function requires access
to a couple of platform specific constants, but cannot include
the header files in case we are building for multiplatform.

This changes the interface to the platform so we pass all
the necessary data as arguments to mct_init.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: John Stultz <john.stultz@linaro.org>
  • Loading branch information
Arnd Bergmann committed Apr 19, 2013
1 parent 25e56eb commit 034c097
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 17 deletions.
2 changes: 1 addition & 1 deletion arch/arm/mach-exynos/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -416,7 +416,7 @@ void __init exynos_init_time(void)
exynos4_clk_init(NULL, !soc_is_exynos4210(), S5P_VA_CMU, readl(S5P_VA_CHIPID + 8) & 1);
exynos4_clk_register_fixed_ext(xxti_f, xusbxti_f);
#endif
mct_init();
mct_init(S5P_VA_SYSTIMER, EXYNOS4_IRQ_MCT_G0, EXYNOS4_IRQ_MCT_L0, EXYNOS4_IRQ_MCT_L1);
}
}

Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mach-exynos/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

#include <linux/of.h>

extern void mct_init(void);
void mct_init(void __iomem *base, int irq_g0, int irq_l0, int irq_l1);
void exynos_init_time(void);
extern unsigned long xxti_f, xusbxti_f;

Expand Down
21 changes: 6 additions & 15 deletions drivers/clocksource/exynos_mct.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,6 @@

#include <asm/arch_timer.h>
#include <asm/localtimer.h>

#include <plat/cpu.h>

#include <mach/map.h>
#include <mach/irqs.h>
#include <asm/mach/time.h>

#define EXYNOS4_MCTREG(x) (x)
Expand Down Expand Up @@ -511,18 +506,14 @@ static void __init exynos4_timer_resources(struct device_node *np, void __iomem
#endif /* CONFIG_LOCAL_TIMERS */
}

void __init mct_init(void)
void __init mct_init(void __iomem *base, int irq_g0, int irq_l0, int irq_l1)
{
if (soc_is_exynos4210()) {
mct_irqs[MCT_G0_IRQ] = EXYNOS4_IRQ_MCT_G0;
mct_irqs[MCT_L0_IRQ] = EXYNOS4_IRQ_MCT_L0;
mct_irqs[MCT_L1_IRQ] = EXYNOS4_IRQ_MCT_L1;
mct_int_type = MCT_INT_SPI;
} else {
panic("unable to determine mct controller type\n");
}
mct_irqs[MCT_G0_IRQ] = irq_g0;
mct_irqs[MCT_L0_IRQ] = irq_l0;
mct_irqs[MCT_L1_IRQ] = irq_l1;
mct_int_type = MCT_INT_SPI;

exynos4_timer_resources(NULL, S5P_VA_SYSTIMER);
exynos4_timer_resources(NULL, base);
exynos4_clocksource_init();
exynos4_clockevent_init();
}
Expand Down

0 comments on commit 034c097

Please sign in to comment.