[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAE_wzQ-+qZAAwEzQDwUZiBnZuy-S5uPauHy9U0Oxzwqko_C+dg@mail.gmail.com>
Date: Fri, 14 Apr 2017 21:02:03 -0700
From: Dmitry Torokhov <dtor@...omium.org>
To: Matthias Kaehlcke <mka@...omium.org>
Cc: John Stultz <john.stultz@...aro.org>,
Thomas Gleixner <tglx@...utronix.de>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Dmitry Torokhov <dtor@...omium.org>,
Grant Grundler <grundler@...omium.org>,
Greg Hackmann <ghackmann@...gle.com>,
Michael Davidson <md@...gle.com>
Subject: Re: [PATCH] clocksource: Use GENMASK_ULL in definition of CLOCKSOURCE_MASK
Hi Matthias,
On Tue, Apr 11, 2017 at 12:17 PM, Matthias Kaehlcke <mka@...omium.org> wrote:
> 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@...omium.org>
> Signed-off-by: Matthias Kaehlcke <mka@...omium.org>
> ---
> 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..06e604b9e9dc 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) (u64)GENMASK_ULL((bits) - 1, 0)
I do not think cast to u64 is needed for GENMASK_ULL.
>
> static inline u32 clocksource_freq2mult(u32 freq, u32 shift_constant, u64 from)
> {
> --
> 2.12.2.715.g7642488e1d-goog
>
Thanks,
Dmitry
Powered by blists - more mailing lists