Message ID | 20170725154130.332221-1-arnd@arndb.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, 2017-07-25 at 17:40 +0200, Arnd Bergmann wrote: > 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. Thanks, the new code does read much better. > diff --git a/drivers/gpu/drm/stm/dw_mipi_dsi-stm.c b/drivers/gpu/drm/stm/dw_mipi_dsi-stm.c [] > @@ -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,
On 07/25/2017 05:40 PM, Arnd Bergmann wrote: > 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. Hi Arnd, And many thanks for this new & much better code. Acked-by: Philippe Cornu <philippe.cornu@st.com> Tested-by: Philippe Cornu <philippe.cornu@st.com> Philippe :-) > > Fixes: b0f09a3c69d9 ("drm/stm: Add STM32 DSI controller driver") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > drivers/gpu/drm/stm/dw_mipi_dsi-stm.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/stm/dw_mipi_dsi-stm.c b/drivers/gpu/drm/stm/dw_mipi_dsi-stm.c > index 568c5d0461ea..e5b6310240fe 100644 > --- a/drivers/gpu/drm/stm/dw_mipi_dsi-stm.c > +++ b/drivers/gpu/drm/stm/dw_mipi_dsi-stm.c > @@ -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, >
diff --git a/drivers/gpu/drm/stm/dw_mipi_dsi-stm.c b/drivers/gpu/drm/stm/dw_mipi_dsi-stm.c index 568c5d0461ea..e5b6310240fe 100644 --- a/drivers/gpu/drm/stm/dw_mipi_dsi-stm.c +++ b/drivers/gpu/drm/stm/dw_mipi_dsi-stm.c @@ -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,
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") Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- drivers/gpu/drm/stm/dw_mipi_dsi-stm.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)