From: Viresh Kumar <viresh.kumar@linaro.org>
To: Thomas Gleixner <tglx@linutronix.de>,
Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: linaro-kernel@lists.linaro.org, linux-kernel@vger.kernel.org,
Viresh Kumar <viresh.kumar@linaro.org>,
Mark Salter <msalter@redhat.com>,
Aurelien Jacquiot <a-jacquiot@ti.com>,
linux-c6x-dev@linux-c6x.org
Subject: [PATCH 05/23] c6x/timer64: Migrate to new 'set-state' interface
Date: Thu, 16 Jul 2015 16:56:17 +0530 [thread overview]
Message-ID: <ab2e948070ccae93513e9928afbf6ec64cac3bb5.1437044517.git.viresh.kumar@linaro.org> (raw)
In-Reply-To: <cover.1437044517.git.viresh.kumar@linaro.org>
In-Reply-To: <cover.1437044517.git.viresh.kumar@linaro.org>
Migrate c6x 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 ->set_mode(RESUME) and so tick_resume()
isn't implemented.
Cc: Mark Salter <msalter@redhat.com>
Cc: Aurelien Jacquiot <a-jacquiot@ti.com>
Cc: linux-c6x-dev@linux-c6x.org
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
arch/c6x/platforms/timer64.c | 52 +++++++++++++++++++++++---------------------
1 file changed, 27 insertions(+), 25 deletions(-)
diff --git a/arch/c6x/platforms/timer64.c b/arch/c6x/platforms/timer64.c
index 3c73d74a4674..c19901e5f055 100644
--- a/arch/c6x/platforms/timer64.c
+++ b/arch/c6x/platforms/timer64.c
@@ -126,35 +126,37 @@ static int next_event(unsigned long delta,
return 0;
}
-static void set_clock_mode(enum clock_event_mode mode,
- struct clock_event_device *evt)
+static int set_periodic(struct clock_event_device *evt)
{
- switch (mode) {
- case CLOCK_EVT_MODE_PERIODIC:
- timer64_enable();
- timer64_mode = TIMER64_MODE_PERIODIC;
- timer64_config(TIMER64_RATE / HZ);
- break;
- case CLOCK_EVT_MODE_ONESHOT:
- timer64_enable();
- timer64_mode = TIMER64_MODE_ONE_SHOT;
- break;
- case CLOCK_EVT_MODE_UNUSED:
- case CLOCK_EVT_MODE_SHUTDOWN:
- timer64_mode = TIMER64_MODE_DISABLED;
- timer64_disable();
- break;
- case CLOCK_EVT_MODE_RESUME:
- break;
- }
+ timer64_enable();
+ timer64_mode = TIMER64_MODE_PERIODIC;
+ timer64_config(TIMER64_RATE / HZ);
+ return 0;
+}
+
+static int set_oneshot(struct clock_event_device *evt)
+{
+ timer64_enable();
+ timer64_mode = TIMER64_MODE_ONE_SHOT;
+ return 0;
+}
+
+static int shutdown(struct clock_event_device *evt)
+{
+ timer64_mode = TIMER64_MODE_DISABLED;
+ timer64_disable();
+ return 0;
}
static struct clock_event_device t64_clockevent_device = {
- .name = "TIMER64_EVT32_TIMER",
- .features = CLOCK_EVT_FEAT_ONESHOT | CLOCK_EVT_FEAT_PERIODIC,
- .rating = 200,
- .set_mode = set_clock_mode,
- .set_next_event = next_event,
+ .name = "TIMER64_EVT32_TIMER",
+ .features = CLOCK_EVT_FEAT_ONESHOT |
+ CLOCK_EVT_FEAT_PERIODIC,
+ .rating = 200,
+ .set_state_shutdown = shutdown,
+ .set_state_periodic = set_periodic,
+ .set_state_oneshot = set_oneshot,
+ .set_next_event = next_event,
};
static irqreturn_t timer_interrupt(int irq, void *dev_id)
--
2.4.0
next prev parent reply other threads:[~2015-07-16 11:36 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-16 11:26 [PATCH 00/23] ARCH: Migrate clockevent drivers to 'set-state' interface Viresh Kumar
2015-07-16 11:26 ` [PATCH 01/23] alpha/time: Migrate to new " Viresh Kumar
2015-07-16 11:26 ` [PATCH 02/23] ARC/time: " Viresh Kumar
2015-07-20 10:55 ` Vineet Gupta
2015-07-16 11:26 ` [PATCH 03/23] AVR32/time: " Viresh Kumar
2015-07-20 7:40 ` Hans-Christian Egtvedt
2015-07-16 11:26 ` [PATCH 04/23] blackfin/time-ts: " Viresh Kumar
2015-07-16 11:26 ` Viresh Kumar [this message]
2015-07-16 11:26 ` [PATCH 06/23] cris/time: " Viresh Kumar
2015-07-17 18:47 ` Rabin Vincent
2015-07-16 11:26 ` [PATCH 07/23] hexagon/time: " Viresh Kumar
2015-07-21 22:28 ` rkuo
2015-07-16 11:26 ` [PATCH 08/23] m68k/coldfire/pit: " Viresh Kumar
2015-07-16 12:42 ` Greg Ungerer
2015-07-16 11:26 ` [PATCH 09/23] microblaze/timer: " Viresh Kumar
2015-07-16 11:26 ` [PATCH 10/23] mn10300/cevt-mn10300: " Viresh Kumar
2015-07-16 11:26 ` [PATCH 11/23] nios2/time: " Viresh Kumar
2015-07-17 9:01 ` Tobias Klauser
2015-07-21 10:03 ` [Nios2-dev] " Ley Foon Tan
2015-07-16 11:26 ` [PATCH 12/23] openrisc/time: " Viresh Kumar
2015-07-16 13:42 ` Jonas Bonn
2015-07-16 11:26 ` [PATCH 13/23] powerpc/time: " Viresh Kumar
2015-07-16 11:26 ` [PATCH 14/23] s390/time: " Viresh Kumar
2015-07-16 11:26 ` [PATCH 15/23] score/time: " Viresh Kumar
2015-07-16 11:26 ` [PATCH 16/23] sh/localtimer: " Viresh Kumar
2015-07-16 11:26 ` [PATCH 17/23] sparc/time: " Viresh Kumar
2015-07-16 18:13 ` David Miller
2015-07-16 11:26 ` [PATCH 18/23] tile/time: " Viresh Kumar
2015-07-20 21:02 ` Chris Metcalf
2015-07-21 13:11 ` Chris Metcalf
2015-07-21 14:09 ` Viresh Kumar
2015-07-16 11:26 ` [PATCH 19/23] um/time: " Viresh Kumar
2015-07-16 11:26 ` [PATCH 20/23] unicore/time: " Viresh Kumar
2015-07-16 11:26 ` [PATCH 21/23] xtensa/time: " Viresh Kumar
2015-07-16 11:26 ` [PATCH 22/23] drivers/hv: " Viresh Kumar
2015-07-16 11:26 ` [PATCH 23/23] kernel: broadcast-hrtimer: " Viresh Kumar
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=ab2e948070ccae93513e9928afbf6ec64cac3bb5.1437044517.git.viresh.kumar@linaro.org \
--to=viresh.kumar@linaro.org \
--cc=a-jacquiot@ti.com \
--cc=daniel.lezcano@linaro.org \
--cc=linaro-kernel@lists.linaro.org \
--cc=linux-c6x-dev@linux-c6x.org \
--cc=linux-kernel@vger.kernel.org \
--cc=msalter@redhat.com \
--cc=tglx@linutronix.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).