From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751682AbeAPNpg (ORCPT + 1 other); Tue, 16 Jan 2018 08:45:36 -0500 Received: from mout.kundenserver.de ([212.227.17.13]:56737 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750868AbeAPNpf (ORCPT ); Tue, 16 Jan 2018 08:45:35 -0500 From: Arnd Bergmann To: Ben Skeggs Cc: Karol Herbst , Arnd Bergmann , David Airlie , dri-devel@lists.freedesktop.org, nouveau@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH] [RESEND v2] drm/nouveau/clk: fix gcc-7 -Wint-in-bool-context warning Date: Tue, 16 Jan 2018 14:44:50 +0100 Message-Id: <20180116134507.3856450-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:1aNey5RHVn0QHB2uDe5O5qzTKCfAdHz5ARC4IQ1t3e5NfOfk7/i zvJp+ZlmPirS91O9Gm1NIDtJQizy7w1bwA83u7LvqsQXV57Ngdi0kGC8X9fqnDUJtVPHOnS zO96Y1yeaEaP4iE2HVSd2Cou69wGCmfiUIYC5glqD5UtJZnlRilPiNriTS6eNwQKiju60x/ Q1I8Z8D0+8Y4r67O7iZAg== X-UI-Out-Filterresults: notjunk:1;V01:K0:wQ7IlIIVMZo=:n0//aOBm5VulfKCW36Exjj wuVRIwfdesgKpXVg9TrEj3ZCpEzTEGXJOpMd1c3tJGPahRK/kqDUxZiM+GknO8k14pQ8ZyjUD hlzt43wfYLV/R/lrcqYt43iBxPEZbTFEtWkCZ+FndG5Ceq3jagTP8rNuZ/Nq0R8Rk2zoOXibO ZxogjNquP6NgG3WvId3FeqgKOmrEIy3iQBfo4eocWIFkLWEcT7JZCRU3zy2vxU4NINWwTlAWb 6p8C7hRmWY1Zst+taww0LbPIDrD3tDG53hwOYZSfF0R+fKFxo8181fhxPKx5vQWGQFkNz0L1A HWnqAvkp7SeC1ry/Xx5pduI68+0k/kbyNHG4Mu10/kb+xShXfISFbXFp2K6HGe1SfJx0AajNO 0IOdXNgN5qTx48sPLN2dCXnMVY5CB5KYEP0u/IDOXUYJNwKV9ktnbhDCjkfK16BedjTvNCJaA cXXsTxzCtMKPGrxZOx+DCoDWyvNbVfSGustrsoDftECLRurWkiZbxQuJZBY/HQwDOFkM/AGyP u1R6v3AiE96TZCabkPRu8Gvq+//0KXPgb4iR1PRScmcs6lt53xoIePowUfOQjoVIWTBPmKGBb OnSZGdU6kh60uBnR9x+I83WwvdHuVKDVZ7gtN/JHehSQUViFWcso2mhb2lgjtp+piDmMsAPUN PaVQfVqk9abRJ5M3Vtt+yITi/QOH/paFSHF0SsqvRx8ul1bKOyJcJPr4BGe4r9dPDgMLks7c/ 4Je0eaQHGdHO8GGicj2addEZhkg90scATvGnOw== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: gcc thinks that interpreting a multiplication result as a bool is confusing: drivers/gpu/drm/nouveau/nvkm/subdev/clk/gt215.c: In function 'read_pll': drivers/gpu/drm/nouveau/nvkm/subdev/clk/gt215.c:133:8: error: '*' in boolean context, suggest '&&' instead [-Werror=int-in-bool-context] Adding a temporary variable to contain the divisor helps make it clear what is going on and avoids that warning. Fixes: 7632b30e4b8b ("drm/nouveau/clk: namespace + nvidia gpu names (no binary change)") Signed-off-by: Arnd Bergmann --- Originally submitted on July 14, but no reply. Resent on Sep 6, got one comment and sent an updated version, which again got no other replies. This is the v2 version again. The warning is currently disabled in mainline, but I think we can turn it back on in the future, and this change here seems harmless. v2: use a temporary variable as suggested by Karol Herbst. --- drivers/gpu/drm/nouveau/nvkm/subdev/clk/gt215.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/clk/gt215.c b/drivers/gpu/drm/nouveau/nvkm/subdev/clk/gt215.c index 96e0941c8edd..f0a26881d9b9 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/clk/gt215.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/clk/gt215.c @@ -110,6 +110,7 @@ read_pll(struct gt215_clk *clk, int idx, u32 pll) struct nvkm_device *device = clk->base.subdev.device; u32 ctrl = nvkm_rd32(device, pll + 0); u32 sclk = 0, P = 1, N = 1, M = 1; + u32 MP; if (!(ctrl & 0x00000008)) { if (ctrl & 0x00000001) { @@ -130,10 +131,12 @@ read_pll(struct gt215_clk *clk, int idx, u32 pll) sclk = read_clk(clk, 0x10 + idx, false); } - if (M * P) - return sclk * N / (M * P); + MP = M * P; - return 0; + if (!MP) + return 0; + + return sclk * N / MP; } static int -- 2.9.0