All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] clocksource: Use GENMASK_ULL in definition of CLOCKSOURCE_MASK
@ 2017-04-18 23:30 Matthias Kaehlcke
  2017-04-20 13:12 ` [tip:timers/core] " tip-bot for Matthias Kaehlcke
  0 siblings, 1 reply; 2+ messages in thread
From: Matthias Kaehlcke @ 2017-04-18 23:30 UTC (permalink / raw)
  To: John Stultz, Thomas Gleixner
  Cc: linux-kernel, Dmitry Torokhov, Grant Grundler, Greg Hackmann,
	Michael Davidson, Matthias Kaehlcke

Besides reusing existing code this removes the special case handling
for 64-bit masks, which causes clang to raise a shift count overflow
warning due to https://bugs.llvm.org//show_bug.cgi?id=10030.

Suggested-by: Dmitry Torokhov <dtor@chromium.org>
Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
---
Changes in v2:
- Remove unnecessary cast to u64

 include/linux/clocksource.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h
index cfc75848a35d..f2b10d9ebd04 100644
--- a/include/linux/clocksource.h
+++ b/include/linux/clocksource.h
@@ -120,7 +120,7 @@ struct clocksource {
 #define CLOCK_SOURCE_RESELECT			0x100
 
 /* simplify initialization of mask field */
-#define CLOCKSOURCE_MASK(bits) (u64)((bits) < 64 ? ((1ULL<<(bits))-1) : -1)
+#define CLOCKSOURCE_MASK(bits) GENMASK_ULL((bits) - 1, 0)
 
 static inline u32 clocksource_freq2mult(u32 freq, u32 shift_constant, u64 from)
 {
-- 
2.12.2.816.g2cccc81164-goog

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [tip:timers/core] clocksource: Use GENMASK_ULL in definition of CLOCKSOURCE_MASK
  2017-04-18 23:30 [PATCH v2] clocksource: Use GENMASK_ULL in definition of CLOCKSOURCE_MASK Matthias Kaehlcke
@ 2017-04-20 13:12 ` tip-bot for Matthias Kaehlcke
  0 siblings, 0 replies; 2+ messages in thread
From: tip-bot for Matthias Kaehlcke @ 2017-04-20 13:12 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: mka, john.stultz, md, mingo, hpa, linux-kernel, grundler, tglx,
	ghackmann, dtor

Commit-ID:  0773cea37470f8e080c510fe720fc356cf35df3a
Gitweb:     http://git.kernel.org/tip/0773cea37470f8e080c510fe720fc356cf35df3a
Author:     Matthias Kaehlcke <mka@chromium.org>
AuthorDate: Tue, 18 Apr 2017 16:30:37 -0700
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Thu, 20 Apr 2017 14:56:58 +0200

clocksource: Use GENMASK_ULL in definition of CLOCKSOURCE_MASK

Besides reusing existing code this removes the special case handling
for 64-bit masks, which causes clang to raise a shift count overflow
warning due to https://bugs.llvm.org//show_bug.cgi?id=10030.

Suggested-by: Dmitry Torokhov <dtor@chromium.org>
Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
Cc: Grant Grundler <grundler@chromium.org>
Cc: Greg Hackmann <ghackmann@google.com>
Cc: Michael Davidson <md@google.com>
Cc: John Stultz <john.stultz@linaro.org>
Link: http://lkml.kernel.org/r/20170418233037.70990-1-mka@chromium.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

---
 include/linux/clocksource.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h
index cfc7584..f2b10d9 100644
--- a/include/linux/clocksource.h
+++ b/include/linux/clocksource.h
@@ -120,7 +120,7 @@ struct clocksource {
 #define CLOCK_SOURCE_RESELECT			0x100
 
 /* simplify initialization of mask field */
-#define CLOCKSOURCE_MASK(bits) (u64)((bits) < 64 ? ((1ULL<<(bits))-1) : -1)
+#define CLOCKSOURCE_MASK(bits) GENMASK_ULL((bits) - 1, 0)
 
 static inline u32 clocksource_freq2mult(u32 freq, u32 shift_constant, u64 from)
 {

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-04-20 13:17 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-18 23:30 [PATCH v2] clocksource: Use GENMASK_ULL in definition of CLOCKSOURCE_MASK Matthias Kaehlcke
2017-04-20 13:12 ` [tip:timers/core] " tip-bot for Matthias Kaehlcke

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.