From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752341AbbE0WwV (ORCPT ); Wed, 27 May 2015 18:52:21 -0400 Received: from mail-wg0-f45.google.com ([74.125.82.45]:33543 "EHLO mail-wg0-f45.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751679AbbE0WwT (ORCPT ); Wed, 27 May 2015 18:52:19 -0400 Date: Thu, 28 May 2015 00:52:14 +0200 From: Luc Van Oostenryck To: Maxime Coquelin Cc: Daniel Lezcano , Thomas Gleixner , linux-kernel@vger.kernel.org, fengguang.wu@intel.com Subject: Re: [PATCH] clockevents: timer-stm32: Fix build warning spotted by kbuild test robot Message-ID: <20150527225213.GA4001@macpro.local> References: <1432744883-30070-1-git-send-email-mcoquelin.stm32@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1432744883-30070-1-git-send-email-mcoquelin.stm32@gmail.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, May 27, 2015 at 06:41:23PM +0200, Maxime Coquelin wrote: > This patch fixes below warning spotted by kbuild test robot when building > with ARCH=powerpc: > > drivers/clocksource/timer-stm32.c: In function 'stm32_clockevent_init': > >> drivers/clocksource/timer-stm32.c:140:9: warning: large integer implicitly truncated to unsigned type [-Woverflow] > writel_relaxed(~0UL, data->base + TIM_ARR); > > The fix consists in casting the value to u32. > > Reported-by: kbuild test robot > Signed-off-by: Maxime Coquelin > --- > drivers/clocksource/timer-stm32.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/clocksource/timer-stm32.c b/drivers/clocksource/timer-stm32.c > index fad2e2e..c9578d8 100644 > --- a/drivers/clocksource/timer-stm32.c > +++ b/drivers/clocksource/timer-stm32.c > @@ -137,7 +137,7 @@ static void __init stm32_clockevent_init(struct device_node *np) > } > > /* Detect whether the timer is 16 or 32 bits */ > - writel_relaxed(~0UL, data->base + TIM_ARR); > + writel_relaxed((u32)~0UL, data->base + TIM_ARR); > max_delta = readl_relaxed(data->base + TIM_ARR); > if (max_delta == ~0UL) { > prescaler = 1; Since the warning come from using a unsigned long constant while writel() expect an unsigned int, why not simply use ~0U ? Luc Van Oostenryck