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


Groups > linux.kernel > #1299723

[PATCH v2 RESEND 2/3] clocksource/vt8500: Remove the 'loops' variable

From Roman Volkov <v1ron@mail.ru>
Newsgroups linux.kernel
Subject [PATCH v2 RESEND 2/3] clocksource/vt8500: Remove the 'loops' variable
Date 2015-12-31 19:10 +0100
Message-ID <qLPPJ-7P9-33@gated-at.bofh.it> (permalink)
References <qLPPJ-7P9-17@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


From: Roman Volkov <rvolkov@v1ros.org>

The purpose of the 'loops' variable is unclear. vt8500 hardware does not
require any protections, in case if these variables intended for preventing
infinite loops (identical PXA timer works perfectly without these ones).

Signed-off-by: Roman Volkov <rvolkov@v1ros.org>
---
 drivers/clocksource/vt8500_timer.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/drivers/clocksource/vt8500_timer.c b/drivers/clocksource/vt8500_timer.c
index dfc3bb4..eb08d96 100644
--- a/drivers/clocksource/vt8500_timer.c
+++ b/drivers/clocksource/vt8500_timer.c
@@ -48,18 +48,14 @@
 #define TIMER_COUNT_W_ACTIVE	(1 << 4)	/* not ready for write */
 #define TIMER_MATCH_W_ACTIVE	(1 << 0)	/* not ready for write */
 
-#define msecs_to_loops(t) (loops_per_jiffy / 1000 * HZ * t)
-
 #define MIN_OSCR_DELTA		16
 
 static void __iomem *regbase;
 
 static cycle_t vt8500_timer_read(struct clocksource *cs)
 {
-	int loops = msecs_to_loops(10);
 	writel(3, regbase + TIMER_CTRL_VAL);
-	while ((readl((regbase + TIMER_AS_VAL)) & TIMER_COUNT_R_ACTIVE)
-						&& --loops)
+	while (readl(regbase + TIMER_AS_VAL) & TIMER_COUNT_R_ACTIVE)
 		cpu_relax();
 	return readl(regbase + TIMER_COUNT_VAL);
 }
@@ -75,10 +71,8 @@ static struct clocksource clocksource = {
 static int vt8500_timer_set_next_event(unsigned long cycles,
 				    struct clock_event_device *evt)
 {
-	int loops = msecs_to_loops(10);
 	cycle_t alarm = clocksource.read(&clocksource) + cycles;
-	while ((readl(regbase + TIMER_AS_VAL) & TIMER_MATCH_W_ACTIVE)
-						&& --loops)
+	while (readl(regbase + TIMER_AS_VAL) & TIMER_MATCH_W_ACTIVE)
 		cpu_relax();
 	writel((unsigned long)alarm, regbase + TIMER_MATCH_VAL);
 
-- 
2.6.2

--
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 | NextPrevious in thread | Find similar | Unroll thread


Thread

[PATCH v2 RESEND 0/3] clocksource/vt8500: Fix hangs in small delays Roman Volkov <v1ron@mail.ru> - 2015-12-31 19:10 +0100
  [PATCH v2 RESEND 3/3] clocksource/vt8500: Add register R/W functions Roman Volkov <v1ron@mail.ru> - 2015-12-31 19:10 +0100
  [PATCH v2 RESEND 1/3] clocksource/vt8500: Use MIN_OSCR_DELTA from PXA Roman Volkov <v1ron@mail.ru> - 2015-12-31 19:10 +0100
    Re: [PATCH v2 RESEND 1/3] clocksource/vt8500: Use MIN_OSCR_DELTA  from PXA Thomas Gleixner <tglx@linutronix.de> - 2015-12-31 23:40 +0100
      Re: [PATCH v2 RESEND 1/3] clocksource/vt8500: Use MIN_OSCR_DELTA  from PXA Roman Volkov <v1ron@mail.ru> - 2016-01-01 00:40 +0100
        Re: [PATCH v2 RESEND 1/3] clocksource/vt8500: Use MIN_OSCR_DELTA from PXA Robert Jarzmik <robert.jarzmik@free.fr> - 2016-01-01 21:30 +0100
    Re: [PATCH v2 RESEND 1/3] clocksource/vt8500: Use MIN_OSCR_DELTA  from PXA Thomas Gleixner <tglx@linutronix.de> - 2016-01-01 11:10 +0100
  [PATCH v2 RESEND 2/3] clocksource/vt8500: Remove the 'loops' variable Roman Volkov <v1ron@mail.ru> - 2015-12-31 19:10 +0100

csiph-web