clocksource/drivers/tango-xtal: Replace code by clocksource_mmio_init
The current code to initialize, register and read the clocksource is already factored out in mmio.c via the clocksource_mmio_init function. Factor out the code with the clocksource_mmio_init function. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
This commit is contained in:
parent
46e7c3c6e5
commit
0881841f7e
@ -351,6 +351,7 @@ config CLKSRC_TANGO_XTAL
|
|||||||
bool "Clocksource for Tango SoC" if COMPILE_TEST
|
bool "Clocksource for Tango SoC" if COMPILE_TEST
|
||||||
depends on ARM
|
depends on ARM
|
||||||
select CLKSRC_OF
|
select CLKSRC_OF
|
||||||
|
select CLKSRC_MMIO
|
||||||
help
|
help
|
||||||
This enables the clocksource for Tango SoC
|
This enables the clocksource for Tango SoC
|
||||||
|
|
||||||
|
@ -19,19 +19,6 @@ static u64 notrace read_sched_clock(void)
|
|||||||
return read_xtal_counter();
|
return read_xtal_counter();
|
||||||
}
|
}
|
||||||
|
|
||||||
static cycle_t read_clocksource(struct clocksource *cs)
|
|
||||||
{
|
|
||||||
return read_xtal_counter();
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct clocksource tango_xtal = {
|
|
||||||
.name = "tango-xtal",
|
|
||||||
.rating = 350,
|
|
||||||
.read = read_clocksource,
|
|
||||||
.mask = CLOCKSOURCE_MASK(32),
|
|
||||||
.flags = CLOCK_SOURCE_IS_CONTINUOUS,
|
|
||||||
};
|
|
||||||
|
|
||||||
static void __init tango_clocksource_init(struct device_node *np)
|
static void __init tango_clocksource_init(struct device_node *np)
|
||||||
{
|
{
|
||||||
struct clk *clk;
|
struct clk *clk;
|
||||||
@ -53,8 +40,9 @@ static void __init tango_clocksource_init(struct device_node *np)
|
|||||||
delay_timer.freq = xtal_freq;
|
delay_timer.freq = xtal_freq;
|
||||||
delay_timer.read_current_timer = read_xtal_counter;
|
delay_timer.read_current_timer = read_xtal_counter;
|
||||||
|
|
||||||
ret = clocksource_register_hz(&tango_xtal, xtal_freq);
|
ret = clocksource_mmio_init(xtal_in_cnt, "tango-xtal", xtal_freq, 350,
|
||||||
if (ret != 0) {
|
32, clocksource_mmio_readl_up);
|
||||||
|
if (!ret) {
|
||||||
pr_err("%s: registration failed\n", np->full_name);
|
pr_err("%s: registration failed\n", np->full_name);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user