From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1423139AbcFMUjm (ORCPT ); Mon, 13 Jun 2016 16:39:42 -0400 Received: from mout.kundenserver.de ([212.227.126.135]:54639 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1161183AbcFMUjl (ORCPT ); Mon, 13 Jun 2016 16:39:41 -0400 From: Arnd Bergmann To: Daniel Lezcano , Thomas Gleixner Cc: Arnd Bergmann , Florian Fainelli , Ray Jui , Scott Branden , Viresh Kumar , bcm-kernel-feedback-list@broadcom.com, linux-kernel@vger.kernel.org Subject: [PATCH] clocksource: kona: avoid bogus warning Date: Mon, 13 Jun 2016 22:40:36 +0200 Message-Id: <1465850461-3533361-1-git-send-email-arnd@arndb.de> X-Mailer: git-send-email 2.7.0 X-Provags-ID: V03:K0:2LAyMkULtDivGXJr2MWSwOXvKEkhsgjcUjo2pNzsDkaYj1gGmf3 bvxCFzUnnRjWfTI8gTIlQNXPrt8hBcBkjU2fahx7Yi5o+8U5dtGgCAfowT79v/OVk0MlwkJ vJQ+BRi2tWL6Hru90ipOCskW+dBLgFAJtVuB+no+vAXICQzSBNZp/8SM7ZqFnn7DiSD8kOX sIwzt3cDFXgsVQ019mNwA== X-UI-Out-Filterresults: notjunk:1;V01:K0:FECAEbh+q4k=:Lyr9V0FAd1ERTsdXGYvjCb tJPxg6Oga+eOfIbHHYHsWCzZ/zphnP29s1W6XWpShufQ933mLMMHPalrUzjmMA5oA72QI6l0x rboz5e4YE32j7ugNAuy6vfiEOgbJ1S+/nWvyCr7hKPXRpJ5FXi9IWHJghLHXWfHOW71KyBXfg Uw5u75bwUP9WrrqOGnjaV9XQJz+vR2KZVjg+f/AZ/HWcNFQg4s0k+dcP5KouTpIUcELKsp4oD uEpq4AfjjvZJhsHOv4V4NmpokVVsC6HZDmfRzpiPM1K4CuRLtqs9VhS5WWekX9fIEXdHA5gx/ TD3B49Twngm5J44r2x8jIMenCgNhhkqgJLQTT1Y8/7paObSXlo8q0Jwz1WTAgdcevmDsM6HOq ScNXHcq6r646KPMkmzwvHSxSjAMtmpcVz18rwamaTDo66nCew8+ilLoSuaAGzq9+/mWW5KF97 Z3kQUujK9VFzq23rJL39KHBhL0LdGVfo36TqtVJ8H7tESUUdJeXK9Jdsy2ZbiStbSQp08N8te 79bptMG3ie1XuxMM9c7FdO/Ja9IJd7UIwgwP6yYsZrlP0jctvOqFKDMzF8dLkFkO80+etQfor KdbeSr7cn/odxrFXLyxtneCpBXZL1Zf8WxN2EfuWbwRogJ8kPBVAf+XZy+2vdfLt6nMJHvOYk ti2uywOhkIBz8ZNDvFK1wkh8Ek6CiRW3vTfPhen2oJHNS6RXIUDSYB7Xrqqkx7lVZnE4= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org I could not figure out why, but gcc cannot prove that the kona_timer_init function always initializes its two outputs, and we get a warning for the use of the 'lsw' variable later, which is obviously correct. drivers/clocksource/bcm_kona_timer.c: In function 'kona_timer_init': drivers/clocksource/bcm_kona_timer.c:119:13: error: 'lsw' may be used uninitialized in this function [-Werror=maybe-uninitialized] Slightly reordering the loop makes the warning disappear, after it becomes more obvious to the compiler that the loop is always entered on the first iteration. Signed-off-by: Arnd Bergmann --- drivers/clocksource/bcm_kona_timer.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/clocksource/bcm_kona_timer.c b/drivers/clocksource/bcm_kona_timer.c index 70d9c1e482dd..bbbfb03b46dd 100644 --- a/drivers/clocksource/bcm_kona_timer.c +++ b/drivers/clocksource/bcm_kona_timer.c @@ -69,7 +69,7 @@ static void kona_timer_disable_and_clear(void __iomem *base) static void kona_timer_get_counter(void __iomem *timer_base, uint32_t *msw, uint32_t *lsw) { - int loop_limit = 4; + int loop_limit = 3; /* * Read 64-bit free running counter @@ -83,12 +83,12 @@ kona_timer_get_counter(void __iomem *timer_base, uint32_t *msw, uint32_t *lsw) * if new hi-word is equal to previously read hi-word then stop. */ - while (--loop_limit) { + do { *msw = readl(timer_base + KONA_GPTIMER_STCHI_OFFSET); *lsw = readl(timer_base + KONA_GPTIMER_STCLO_OFFSET); if (*msw == readl(timer_base + KONA_GPTIMER_STCHI_OFFSET)) break; - } + } while (--loop_limit); if (!loop_limit) { pr_err("bcm_kona_timer: getting counter failed.\n"); pr_err(" Timer will be impacted\n"); -- 2.7.0