drm/stm: fix warning about multiplication in condition
authorArnd Bergmann <arnd@arndb.de>
Wed, 6 Sep 2017 13:13:07 +0000 (15:13 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 8 Sep 2017 08:29:11 +0000 (10:29 +0200)
gcc-7 complains about multiplying within a condition being
suspicious:

drivers/gpu/drm/stm/dw_mipi_dsi-stm.c: In function 'dsi_pll_get_clkout_khz':
drivers/gpu/drm/stm/dw_mipi_dsi-stm.c:117:10: error: '*' in boolean context, suggest '&&' instead [-Werror=int-in-bool-context]

The code here is correct, but can be easily rephrased to make
that more obvious. I also swap out the error handling and the normal
code path for clarity.

Fixes: b0f09a3c69d9 ("drm/stm: Add STM32 DSI controller driver")
Acked-by: Philippe Cornu <philippe.cornu@st.com>
Tested-by: Philippe Cornu <philippe.cornu@st.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20170906131331.2691300-1-arnd@arndb.de
drivers/gpu/drm/stm/dw_mipi_dsi-stm.c

index 568c5d0461eab411171d4386c241cbb46e02991d..e5b6310240fe6b7e19a8bc216fdde2bc6a06dd67 100644 (file)
@@ -113,11 +113,13 @@ static enum dsi_color dsi_color_from_mipi(enum mipi_dsi_pixel_format fmt)
 
 static int dsi_pll_get_clkout_khz(int clkin_khz, int idf, int ndiv, int odf)
 {
+       int divisor = idf * odf;
+
        /* prevent from division by 0 */
-       if (idf * odf)
-               return DIV_ROUND_CLOSEST(clkin_khz * ndiv, idf * odf);
+       if (!divisor)
+               return 0;
 
-       return 0;
+       return DIV_ROUND_CLOSEST(clkin_khz * ndiv, divisor);
 }
 
 static int dsi_pll_get_params(int clkin_khz, int clkout_khz,