hexagon/time: Migrate to new 'set-state' interface
Migrate hexagon driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Cc: linux-hexagon@vger.kernel.org Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
This commit is contained in:
Родитель
64291f7db5
Коммит
d70e22d5bc
|
@ -97,20 +97,6 @@ static int set_next_event(unsigned long delta, struct clock_event_device *evt)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Sets the mode (periodic, shutdown, oneshot, etc) of a timer.
|
|
||||||
*/
|
|
||||||
static void set_mode(enum clock_event_mode mode,
|
|
||||||
struct clock_event_device *evt)
|
|
||||||
{
|
|
||||||
switch (mode) {
|
|
||||||
case CLOCK_EVT_MODE_SHUTDOWN:
|
|
||||||
/* XXX implement me */
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
/* Broadcast mechanism */
|
/* Broadcast mechanism */
|
||||||
static void broadcast(const struct cpumask *mask)
|
static void broadcast(const struct cpumask *mask)
|
||||||
|
@ -119,13 +105,13 @@ static void broadcast(const struct cpumask *mask)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* XXX Implement set_state_shutdown() */
|
||||||
static struct clock_event_device hexagon_clockevent_dev = {
|
static struct clock_event_device hexagon_clockevent_dev = {
|
||||||
.name = "clockevent",
|
.name = "clockevent",
|
||||||
.features = CLOCK_EVT_FEAT_ONESHOT,
|
.features = CLOCK_EVT_FEAT_ONESHOT,
|
||||||
.rating = 400,
|
.rating = 400,
|
||||||
.irq = RTOS_TIMER_INT,
|
.irq = RTOS_TIMER_INT,
|
||||||
.set_next_event = set_next_event,
|
.set_next_event = set_next_event,
|
||||||
.set_mode = set_mode,
|
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
.broadcast = broadcast,
|
.broadcast = broadcast,
|
||||||
#endif
|
#endif
|
||||||
|
@ -146,7 +132,6 @@ void setup_percpu_clockdev(void)
|
||||||
|
|
||||||
dummy_clock_dev->features = CLOCK_EVT_FEAT_DUMMY;
|
dummy_clock_dev->features = CLOCK_EVT_FEAT_DUMMY;
|
||||||
dummy_clock_dev->cpumask = cpumask_of(cpu);
|
dummy_clock_dev->cpumask = cpumask_of(cpu);
|
||||||
dummy_clock_dev->mode = CLOCK_EVT_MODE_UNUSED;
|
|
||||||
|
|
||||||
clockevents_register_device(dummy_clock_dev);
|
clockevents_register_device(dummy_clock_dev);
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче