All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: mingo@kernel.org
Cc: tglx@linutronix.de, linux-kernel@vger.kernel.org,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>,
	Gregory Clement <gregory.clement@free-electrons.com>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Subject: [PATCH 34/74] clockevents/drivers/time-armada-370-xp: Migrate to new 'set-state' interface
Date: Mon, 10 Aug 2015 11:51:51 +0200	[thread overview]
Message-ID: <1439200352-26767-34-git-send-email-daniel.lezcano@linaro.org> (raw)
In-Reply-To: <1439200352-26767-1-git-send-email-daniel.lezcano@linaro.org>

From: Viresh Kumar <viresh.kumar@linaro.org>

Migrate time-armada-370-xp 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.

Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Gregory Clement <gregory.clement@free-electrons.com>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
 drivers/clocksource/time-armada-370-xp.c | 53 +++++++++++++++++---------------
 1 file changed, 28 insertions(+), 25 deletions(-)

diff --git a/drivers/clocksource/time-armada-370-xp.c b/drivers/clocksource/time-armada-370-xp.c
index 0c8c5e3..2162796 100644
--- a/drivers/clocksource/time-armada-370-xp.c
+++ b/drivers/clocksource/time-armada-370-xp.c
@@ -121,33 +121,33 @@ armada_370_xp_clkevt_next_event(unsigned long delta,
 	return 0;
 }
 
-static void
-armada_370_xp_clkevt_mode(enum clock_event_mode mode,
-			  struct clock_event_device *dev)
+static int armada_370_xp_clkevt_shutdown(struct clock_event_device *evt)
 {
-	if (mode == CLOCK_EVT_MODE_PERIODIC) {
+	/*
+	 * Disable timer.
+	 */
+	local_timer_ctrl_clrset(TIMER0_EN, 0);
 
-		/*
-		 * Setup timer to fire at 1/HZ intervals.
-		 */
-		writel(ticks_per_jiffy - 1, local_base + TIMER0_RELOAD_OFF);
-		writel(ticks_per_jiffy - 1, local_base + TIMER0_VAL_OFF);
+	/*
+	 * ACK pending timer interrupt.
+	 */
+	writel(TIMER0_CLR_MASK, local_base + LCL_TIMER_EVENTS_STATUS);
+	return 0;
+}
 
-		/*
-		 * Enable timer.
-		 */
-		local_timer_ctrl_clrset(0, TIMER0_RELOAD_EN | enable_mask);
-	} else {
-		/*
-		 * Disable timer.
-		 */
-		local_timer_ctrl_clrset(TIMER0_EN, 0);
+static int armada_370_xp_clkevt_set_periodic(struct clock_event_device *evt)
+{
+	/*
+	 * Setup timer to fire at 1/HZ intervals.
+	 */
+	writel(ticks_per_jiffy - 1, local_base + TIMER0_RELOAD_OFF);
+	writel(ticks_per_jiffy - 1, local_base + TIMER0_VAL_OFF);
 
-		/*
-		 * ACK pending timer interrupt.
-		 */
-		writel(TIMER0_CLR_MASK, local_base + LCL_TIMER_EVENTS_STATUS);
-	}
+	/*
+	 * Enable timer.
+	 */
+	local_timer_ctrl_clrset(0, TIMER0_RELOAD_EN | enable_mask);
+	return 0;
 }
 
 static int armada_370_xp_clkevt_irq;
@@ -185,7 +185,10 @@ static int armada_370_xp_timer_setup(struct clock_event_device *evt)
 	evt->shift		= 32,
 	evt->rating		= 300,
 	evt->set_next_event	= armada_370_xp_clkevt_next_event,
-	evt->set_mode		= armada_370_xp_clkevt_mode,
+	evt->set_state_shutdown	= armada_370_xp_clkevt_shutdown;
+	evt->set_state_periodic	= armada_370_xp_clkevt_set_periodic;
+	evt->set_state_oneshot	= armada_370_xp_clkevt_shutdown;
+	evt->tick_resume	= armada_370_xp_clkevt_shutdown;
 	evt->irq		= armada_370_xp_clkevt_irq;
 	evt->cpumask		= cpumask_of(cpu);
 
@@ -197,7 +200,7 @@ static int armada_370_xp_timer_setup(struct clock_event_device *evt)
 
 static void armada_370_xp_timer_stop(struct clock_event_device *evt)
 {
-	evt->set_mode(CLOCK_EVT_MODE_UNUSED, evt);
+	evt->set_state_shutdown(evt);
 	disable_percpu_irq(evt->irq);
 }
 
-- 
1.9.1


  parent reply	other threads:[~2015-08-10 10:06 UTC|newest]

Thread overview: 107+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-10  9:48 [PULL] clockevents changes for 4.3 Daniel Lezcano
2015-08-10  9:51 ` [PATCH 01/74] clockevents/drivers/arm_arch_timer: Migrate to new 'set-state' interface Daniel Lezcano
2015-08-10  9:51   ` [PATCH 02/74] clockevents/drivers/arm_global_timer: " Daniel Lezcano
2015-08-10  9:51     ` Daniel Lezcano
2015-08-10  9:51   ` [PATCH 03/74] clockevents/drivers/bcm2835: " Daniel Lezcano
2015-08-11 15:31     ` Lee Jones
2015-08-10  9:51   ` [PATCH 04/74] clockevents/drivers/bcm_kona: " Daniel Lezcano
2015-08-12 19:30     ` Scott Branden
2015-08-10  9:51   ` [PATCH 05/74] clockevents/drivers/cs5535: " Daniel Lezcano
2015-08-10  9:51   ` [PATCH 06/74] clockevents/drivers/em_sti: " Daniel Lezcano
2015-08-10  9:51   ` [PATCH 07/74] clockevents/drivers/Kconfig: Replace USE_OF with OF Daniel Lezcano
2015-08-10  9:51   ` [PATCH 08/74] clockevents/drivers/exynos_mct: Remove unneeded container_of() Daniel Lezcano
2015-08-10  9:51     ` Daniel Lezcano
2015-08-10  9:51     ` Daniel Lezcano
2015-08-10  9:51   ` [PATCH 09/74] clockevents/drivers/sh_cmt: Remove obsolete sh-cmt-32-fast platform_device_id entry Daniel Lezcano
2015-08-10  9:51   ` [PATCH 10/74] clockevents/drivers/sh_cmt: Remove obsolete sh-cmt-48-gen2 " Daniel Lezcano
2015-08-10  9:51   ` [PATCH 11/74] clockevents/drivers/asm9260: Migrate to new 'set-state' interface Daniel Lezcano
2015-08-10  9:51   ` [PATCH 12/74] clockevents/drivers/cadence_ttc: " Daniel Lezcano
2015-08-10  9:51     ` Daniel Lezcano
2015-08-10  9:51   ` [PATCH 13/74] clockevents/drivers/clps711x: " Daniel Lezcano
2015-08-10  9:51     ` Daniel Lezcano
2015-08-10  9:51   ` [PATCH 14/74] clockevents/drivers/dummy_timer: " Daniel Lezcano
2015-08-10  9:51   ` [PATCH 15/74] clockevents/drivers/dw_apb: " Daniel Lezcano
2015-08-10  9:51   ` [PATCH 16/74] clockevents/drivers/fsl_ftm: " Daniel Lezcano
2015-08-10  9:51   ` [PATCH 17/74] clockevents/drivers/i8253: " Daniel Lezcano
2015-08-10  9:51   ` [PATCH 18/74] clockevents/drivers/meson6: " Daniel Lezcano
2015-08-10  9:51     ` Daniel Lezcano
2015-08-10  9:51   ` [PATCH 19/74] clockevents/drivers/metag_generic: " Daniel Lezcano
2015-08-10  9:51     ` Daniel Lezcano
2015-08-10  9:51   ` [PATCH 20/74] clockevents/drivers/mips-gic: " Daniel Lezcano
2015-08-10  9:51   ` [PATCH 21/74] clockevents/drivers/moxart: " Daniel Lezcano
2015-08-10  9:51   ` [PATCH 22/74] clockevents/drivers/mtk: " Daniel Lezcano
2015-08-10  9:51     ` Daniel Lezcano
2015-08-10  9:51     ` Daniel Lezcano
2015-08-10  9:51   ` [PATCH 23/74] clockevents/drivers/mxs: " Daniel Lezcano
2015-08-10  9:51   ` [PATCH 24/74] clockevents/drivers/nomadik-mtu: " Daniel Lezcano
2015-08-10  9:51   ` [PATCH 25/74] clockevents/drivers/pxa: " Daniel Lezcano
2015-08-10  9:51   ` [PATCH 26/74] clockevents/drivers/qcom: " Daniel Lezcano
2015-08-10  9:51   ` [PATCH 27/74] clockevents/drivers/rockchip: " Daniel Lezcano
2015-08-10  9:51     ` Daniel Lezcano
2015-08-10  9:51     ` Daniel Lezcano
2015-08-10  9:51   ` [PATCH 28/74] clockevents/drivers/samsung_pwm: " Daniel Lezcano
2015-08-10  9:51   ` [PATCH 29/74] clockevents/drivers/sh_cmt: " Daniel Lezcano
2015-08-10  9:51   ` [PATCH 30/74] clockevents/drivers/sh_mtu2: " Daniel Lezcano
2015-08-10  9:51   ` [PATCH 31/74] clockevents/drivers/sh_tmu: " Daniel Lezcano
2015-08-10  9:51   ` [PATCH 32/74] clockevents/drivers/sun4i: " Daniel Lezcano
2015-08-10  9:51     ` Daniel Lezcano
2015-08-10  9:51   ` [PATCH 33/74] clockevents/drivers/tegra20: " Daniel Lezcano
2015-08-10  9:51     ` Daniel Lezcano
2015-08-10  9:51   ` Daniel Lezcano [this message]
2015-08-10  9:51   ` [PATCH 35/74] clockevents/drivers/efm32: " Daniel Lezcano
2015-08-10  9:51     ` Daniel Lezcano
2015-08-10  9:51   ` [PATCH 36/74] clockevents/drivers/orion: " Daniel Lezcano
2015-08-10  9:51   ` [PATCH 37/74] clockevents/drivers/atlas7: " Daniel Lezcano
2015-08-10  9:51     ` Daniel Lezcano
2015-08-10  9:51   ` [PATCH 38/74] clockevents/drivers/atmel: " Daniel Lezcano
2015-08-10  9:51   ` [PATCH 39/74] clockevents/drivers/atmel-st: " Daniel Lezcano
2015-08-10  9:51   ` [PATCH 40/74] clockevents/drivers/digicolor: " Daniel Lezcano
2015-08-10  9:51     ` Daniel Lezcano
2015-08-10  9:51   ` [PATCH 41/74] clockevents/drivers/integrator: " Daniel Lezcano
2015-08-10  9:51   ` [PATCH 42/74] clockevents/drivers/keystone: " Daniel Lezcano
2015-08-10  9:51     ` Daniel Lezcano
2015-08-10 16:55     ` santosh.shilimkar
2015-08-10 16:55       ` santosh.shilimkar at oracle.com
2015-08-10  9:52   ` [PATCH 43/74] clockevents/drivers/prima2: " Daniel Lezcano
2015-08-10  9:52     ` Daniel Lezcano
2015-08-10  9:52   ` [PATCH 44/74] clockevents/drivers/stm32: " Daniel Lezcano
2015-08-10  9:52     ` Daniel Lezcano
2015-08-10  9:52   ` [PATCH 45/74] clockevents/drivers/sun5i: " Daniel Lezcano
2015-08-10  9:52     ` Daniel Lezcano
2015-08-10  9:52   ` [PATCH 46/74] clockevents/drivers/u300: " Daniel Lezcano
2015-08-10  9:52     ` Daniel Lezcano
2015-08-10  9:52   ` [PATCH 47/74] clockevents/drivers/vf_pit: " Daniel Lezcano
2015-08-10  9:52   ` [PATCH 48/74] clockevents/drivers/vt8500: " Daniel Lezcano
2015-08-10  9:52     ` Daniel Lezcano
2015-08-10  9:52   ` [PATCH 49/74] clockevents/drivers/zevio: " Daniel Lezcano
2015-08-10  9:52   ` [PATCH 50/74] clockevents/drivers/tcb_clksrc: " Daniel Lezcano
2015-08-10  9:52     ` Daniel Lezcano
2015-08-10  9:52   ` [PATCH 51/74] clockevents/drivers/exynos_mct: " Daniel Lezcano
2015-08-10  9:52     ` Daniel Lezcano
2015-08-10  9:52     ` Daniel Lezcano
2015-08-10  9:52   ` [PATCH 52/74] clockevents/drivers/dw_apb_timer: Add dynamic irq flag to the timer Daniel Lezcano
2015-08-10  9:52   ` [PATCH 53/74] clockevents/drivers/sh_cmt: Remove obsolete sh-cmt-48 platform_device_id entry Daniel Lezcano
2015-08-10  9:52   ` [PATCH 54/74] clockevents/drivers/timer-imx-gpt: Migrate to new 'set-state' interface Daniel Lezcano
2015-08-10  9:52   ` [PATCH 55/74] clockevents/drivers/timer-sp804: " Daniel Lezcano
2015-08-10  9:52   ` [PATCH 56/74] clockevents/drivers/timer-atmel-pit: Fix typo in structure initialization Daniel Lezcano
2015-08-10  9:52   ` [PATCH 57/74] clocksource/drivers/sh_tmu: Fix traceback spotted in -next Daniel Lezcano
2015-08-10  9:52   ` [PATCH 58/74] clockevents/drivers/h8300_timer8: Migrate to new 'set-state' interface Daniel Lezcano
2015-08-10  9:52   ` [PATCH 59/74] alpha/time: " Daniel Lezcano
2015-08-10  9:52   ` [PATCH 60/74] blackfin/time-ts: " Daniel Lezcano
2015-08-10  9:52   ` [PATCH 61/74] c6x/timer64: " Daniel Lezcano
2015-08-10  9:52   ` [PATCH 62/74] microblaze/timer: " Daniel Lezcano
2015-08-10  9:52   ` [PATCH 63/74] mn10300/cevt-mn10300: " Daniel Lezcano
2015-08-10  9:52   ` [PATCH 64/74] openrisc/time: " Daniel Lezcano
2015-08-10  9:52   ` [PATCH 65/74] powerpc/time: " Daniel Lezcano
2015-08-10  9:52   ` [PATCH 66/74] s390/time: " Daniel Lezcano
2015-08-10  9:52   ` [PATCH 67/74] score/time: " Daniel Lezcano
2015-08-16 17:04     ` Lennox Wu
2015-08-10  9:52   ` [PATCH 68/74] sh/localtimer: " Daniel Lezcano
2015-08-10  9:52     ` Daniel Lezcano
2015-08-10  9:52   ` [PATCH 69/74] sparc/time: " Daniel Lezcano
2015-08-10  9:52     ` Daniel Lezcano
2015-08-10  9:52   ` [PATCH 70/74] um/time: " Daniel Lezcano
2015-08-10  9:52   ` [PATCH 71/74] unicore/time: " Daniel Lezcano
2015-08-10  9:52   ` [PATCH 72/74] xtensa/time: " Daniel Lezcano
2015-08-10  9:52   ` [PATCH 73/74] kernel: broadcast-hrtimer: " Daniel Lezcano
2015-08-10  9:52   ` [PATCH 74/74] cris/time: " Daniel Lezcano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1439200352-26767-34-git-send-email-daniel.lezcano@linaro.org \
    --to=daniel.lezcano@linaro.org \
    --cc=andrew@lunn.ch \
    --cc=gregory.clement@free-electrons.com \
    --cc=jason@lakedaemon.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=sebastian.hesselbarth@gmail.com \
    --cc=tglx@linutronix.de \
    --cc=viresh.kumar@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.