Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c602520f authored by Stephen Boyd's avatar Stephen Boyd Committed by David Brown
Browse files

ARM: msm: Migrate msm_timer to CLOCKSOURCE_OF_DECLARE



This allows us to remove the init_time callback in the DT machine
descriptors, shrinking the code.

Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
Signed-off-by: default avatarDavid Brown <davidb@codeaurora.org>
parent 34606f38
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -630,6 +630,7 @@ config ARCH_MSM
	bool "Qualcomm MSM"
	select ARCH_REQUIRE_GPIOLIB
	select CLKDEV_LOOKUP
	select CLKSRC_OF if OF
	select COMMON_CLK
	select GENERIC_CLOCKEVENTS
	help
+0 −1
Original line number Diff line number Diff line
@@ -45,6 +45,5 @@ DT_MACHINE_START(MSM_DT, "Qualcomm MSM (Flattened Device Tree)")
	.smp = smp_ops(msm_smp_ops),
	.init_machine = msm8x60_dt_init,
	.init_late = msm8x60_init_late,
	.init_time	= msm_dt_timer_init,
	.dt_compat = msm8x60_fluid_match,
MACHINE_END
+0 −1
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@ static const char * const msm8960_dt_match[] __initconst = {

DT_MACHINE_START(MSM8960_DT, "Qualcomm MSM (Flattened Device Tree)")
	.smp = smp_ops(msm_smp_ops),
	.init_time	= msm_dt_timer_init,
	.init_machine = msm_dt_init,
	.dt_compat = msm8960_dt_match,
MACHINE_END
+0 −1
Original line number Diff line number Diff line
@@ -14,7 +14,6 @@

extern void msm7x01_timer_init(void);
extern void msm7x30_timer_init(void);
extern void msm_dt_timer_init(void);
extern void qsd8x50_timer_init(void);

extern void msm_map_common_io(void);
+3 −14
Original line number Diff line number Diff line
@@ -219,15 +219,8 @@ static void __init msm_timer_init(u32 dgt_hz, int sched_bits, int irq,
}

#ifdef CONFIG_OF
static const struct of_device_id msm_timer_match[] __initconst = {
	{ .compatible = "qcom,kpss-timer" },
	{ .compatible = "qcom,scss-timer" },
	{ },
};

void __init msm_dt_timer_init(void)
static void __init msm_dt_timer_init(struct device_node *np)
{
	struct device_node *np;
	u32 freq;
	int irq;
	struct resource res;
@@ -235,12 +228,6 @@ void __init msm_dt_timer_init(void)
	void __iomem *base;
	void __iomem *cpu0_base;

	np = of_find_matching_node(NULL, msm_timer_match);
	if (!np) {
		pr_err("Can't find msm timer DT node\n");
		return;
	}

	base = of_iomap(np, 0);
	if (!base) {
		pr_err("Failed to map event base\n");
@@ -283,6 +270,8 @@ void __init msm_dt_timer_init(void)

	msm_timer_init(freq, 32, irq, !!percpu_offset);
}
CLOCKSOURCE_OF_DECLARE(kpss_timer, "qcom,kpss-timer", msm_dt_timer_init);
CLOCKSOURCE_OF_DECLARE(scss_timer, "qcom,scss-timer", msm_dt_timer_init);
#endif

static int __init msm_timer_map(phys_addr_t addr, u32 event, u32 source,