Migrate bcm_kona driver to the new 'set-state' interface provided by
the 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.

Oneshot callback isn't required as it was empty.

Acked-by: Ray Jui <r...@broadcom.com>
Cc: Florian Fainelli <f.faine...@gmail.com>
Cc: Ray Jui <r...@broadcom.com>
Cc: Scott Branden <sbran...@broadcom.com>
Cc: bcm-kernel-feedback-l...@broadcom.com
Signed-off-by: Viresh Kumar <viresh.ku...@linaro.org>
---
 drivers/clocksource/bcm_kona_timer.c | 17 +++++------------
 1 file changed, 5 insertions(+), 12 deletions(-)

diff --git a/drivers/clocksource/bcm_kona_timer.c 
b/drivers/clocksource/bcm_kona_timer.c
index f1e33d08dd83..e717e87df9bc 100644
--- a/drivers/clocksource/bcm_kona_timer.c
+++ b/drivers/clocksource/bcm_kona_timer.c
@@ -127,25 +127,18 @@ static int kona_timer_set_next_event(unsigned long clc,
        return 0;
 }
 
-static void kona_timer_set_mode(enum clock_event_mode mode,
-                            struct clock_event_device *unused)
+static int kona_timer_shutdown(struct clock_event_device *evt)
 {
-       switch (mode) {
-       case CLOCK_EVT_MODE_ONESHOT:
-               /* by default mode is one shot don't do any thing */
-               break;
-       case CLOCK_EVT_MODE_UNUSED:
-       case CLOCK_EVT_MODE_SHUTDOWN:
-       default:
-               kona_timer_disable_and_clear(timers.tmr_regs);
-       }
+       kona_timer_disable_and_clear(timers.tmr_regs);
+       return 0;
 }
 
 static struct clock_event_device kona_clockevent_timer = {
        .name = "timer 1",
        .features = CLOCK_EVT_FEAT_ONESHOT,
        .set_next_event = kona_timer_set_next_event,
-       .set_mode = kona_timer_set_mode
+       .set_state_shutdown = kona_timer_shutdown,
+       .tick_resume = kona_timer_shutdown,
 };
 
 static void __init kona_timer_clockevents_init(void)
-- 
2.4.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to