Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1186451

[PATCH 09/18] ARM/lpc32xx/timer: Migrate to new 'set-state' interface

Path csiph.com!aioe.org!bofh.it!news.nic.it!robomod
From Viresh Kumar <viresh.kumar@linaro.org>
Newsgroups linux.kernel
Subject [PATCH 09/18] ARM/lpc32xx/timer: Migrate to new 'set-state' interface
Date Fri, 17 Jul 2015 07:20:01 +0200
Message-ID <pN6dX-4dF-5@gated-at.bofh.it> (permalink)
References <pN6dX-4dF-3@gated-at.bofh.it>
X-Original-To arm@kernel.org, olof@lixom.net
X-Google-Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=c2f9VDdicFQaxuaNRxpyf+efNZkbeSM2C+4jwipp1Ak=; b=j1EgY/kvbAVeO4a+CMel9OYsP14qYqcTFzvw+9w6YCpMY29R+Y0kpLK8ztvdqg8mXo 2tVXCPEvfA7V0a8cG/YPKDPmAoLDGr65pNjVx9GHl+v2Knbr/YeX22BVGEF2sktyDxKi tMkhsWMaBWQOJoElQ0g3nIyz9m0F1hMbhhqcpcNA2rtCWIYaY7ZHpxnJUBJgZU424W/m 8koikbztdmZGvXoA1OE2j+yPo6QQ4iSn0tbrluC5mOzXapJ2QGEkBAKhyl3s0ja9SOCc hbxfJGWvV0xYGU05NaYS/vAmNdInqUbt9PP5E35gi3VZtrR5M8cU5KcYhhVtlk7MbBPP J9pQ==
X-Gm-Message-State ALoCoQmehk/v4ikzrRLVSI0Z/u7rd9729TbdBPei3ZDkvW7HONIN75TmsY/aHo5oRAPaSlOa5pej
X-Received by 10.70.96.2 with SMTP id do2mr25693160pdb.67.1437109936960; Thu, 16 Jul 2015 22:12:16 -0700 (PDT)
X-Mailer git-send-email 2.4.0
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 76
Organization linux.* mail to news gateway
X-Original-Cc linaro-kernel@lists.linaro.org, arnd.bergmann@linaro.org, linux-arm-kernel@lists.infradead.org, Viresh Kumar <viresh.kumar@linaro.org>, Roland Stigge <stigge@antcom.de>, linux-kernel@vger.kernel.org (open list), Russell King <linux@arm.linux.org.uk>
X-Original-Date Fri, 17 Jul 2015 10:41:03 +0530
X-Original-Message-ID <9325a3a896b611454f6ab3dcedf69c5799dd5617.1437101996.git.viresh.kumar@linaro.org>
X-Original-References <cover.1437101996.git.viresh.kumar@linaro.org>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref aioe.org linux.kernel:1186451

Show key headers only | View raw


Migrate lpc32xx 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: Roland Stigge <stigge@antcom.de>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 arch/arm/mach-lpc32xx/timer.c | 40 ++++++++++++++--------------------------
 1 file changed, 14 insertions(+), 26 deletions(-)

diff --git a/arch/arm/mach-lpc32xx/timer.c b/arch/arm/mach-lpc32xx/timer.c
index 4e5837299c04..ff3499d1fb1a 100644
--- a/arch/arm/mach-lpc32xx/timer.c
+++ b/arch/arm/mach-lpc32xx/timer.c
@@ -43,36 +43,24 @@ static int lpc32xx_clkevt_next_event(unsigned long delta,
 	return 0;
 }
 
-static void lpc32xx_clkevt_mode(enum clock_event_mode mode,
-    struct clock_event_device *dev)
+static int lpc32xx_shutdown(struct clock_event_device *evt)
 {
-	switch (mode) {
-	case CLOCK_EVT_MODE_PERIODIC:
-		WARN_ON(1);
-		break;
-
-	case CLOCK_EVT_MODE_ONESHOT:
-	case CLOCK_EVT_MODE_SHUTDOWN:
-		/*
-		 * Disable the timer. When using oneshot, we must also
-		 * disable the timer to wait for the first call to
-		 * set_next_event().
-		 */
-		__raw_writel(0, LPC32XX_TIMER_TCR(LPC32XX_TIMER0_BASE));
-		break;
-
-	case CLOCK_EVT_MODE_UNUSED:
-	case CLOCK_EVT_MODE_RESUME:
-		break;
-	}
+	/*
+	 * Disable the timer. When using oneshot, we must also
+	 * disable the timer to wait for the first call to
+	 * set_next_event().
+	 */
+	__raw_writel(0, LPC32XX_TIMER_TCR(LPC32XX_TIMER0_BASE));
+	return 0;
 }
 
 static struct clock_event_device lpc32xx_clkevt = {
-	.name		= "lpc32xx_clkevt",
-	.features	= CLOCK_EVT_FEAT_ONESHOT,
-	.rating		= 300,
-	.set_next_event	= lpc32xx_clkevt_next_event,
-	.set_mode	= lpc32xx_clkevt_mode,
+	.name			= "lpc32xx_clkevt",
+	.features		= CLOCK_EVT_FEAT_ONESHOT,
+	.rating			= 300,
+	.set_next_event		= lpc32xx_clkevt_next_event,
+	.set_state_shutdown	= lpc32xx_shutdown,
+	.set_state_oneshot	= lpc32xx_shutdown,
 };
 
 static irqreturn_t lpc32xx_timer_interrupt(int irq, void *dev_id)
-- 
2.4.0

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

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

[PATCH 09/18] ARM/lpc32xx/timer: Migrate to new 'set-state' interface Viresh Kumar <viresh.kumar@linaro.org> - 2015-07-17 07:20 +0200

csiph-web