Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751505AbeAPO51 (ORCPT + 1 other); Tue, 16 Jan 2018 09:57:27 -0500 Received: from mout.kundenserver.de ([212.227.126.135]:60256 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750822AbeAPO50 (ORCPT ); Tue, 16 Jan 2018 09:57:26 -0500 From: Arnd Bergmann To: Patrik Jakobsson , David Airlie Cc: Arnd Bergmann , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH] [RESEND] drm/gma500: initialize gma_clock_t structures Date: Tue, 16 Jan 2018 15:57:10 +0100 Message-Id: <20180116145720.2348043-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:P/KFwj9Gg650HWYC6sH5JDddZxLPAU9wzvF9otjaO0jWKmPmb0Y 0Om7MmJINY1UGm/QUqcAtPhMpfm1dvS4XYiIpDfr4C32oDX04FQ1r/M69G8DT3y6MWSV1I2 xxL88So0hnvEcxzTHhSvxTHCt0a6vif981ZUWyCf2dhg3ovBpcDSYqow6LpL1ZqFJTYGtSM hGC4D2Bh01LVBhKACY6Ng== X-UI-Out-Filterresults: notjunk:1;V01:K0:juOakUkU7Es=:37Mh6ANXWfxB4uV0S4nPBI GUnzqjMmArk+smCwkFLfgmfqidCqIbqlCo1E0EK2HPmoVcQLsp9RULo0IcdTbOjh85Ao0CkjV oc5uXBfAVEBueZGBtACkVJ4J1upn71yC+W2j5SnBl4VRmqfBwSmwFhP0sw7BDbhZ4KGjY+8WT PctlgTSrpoxPKKiMefjqiz7roIup4Lee2MVqoby4SN4j1DTYTdYNhQ64beeCQ9sp552SoE/my WnQ0Eyi0ZVNIoUI+c/kHvvmN9lkjinHyVkTlAf84B4sWHxRJbsEEfE/pHvMeki2GgTRJfjaQJ eDE+peg740R/hVTPvugb6MDjanlzdtI2wGexLXzX6ckffOpExa/3P9+9eAd18FyNDMY6tKqub Ba3v2sbKQRp3C21+T5/BWndDWzzK/fI+Chk0bcAbE28Nipn24o919ITUupUa2esuiPm8sL8TX wIWHrjWSDio8S8mk0azintJgGexzUr5HTT9YY7pR+nTQ6DeOONcwN2xKo39FbmhO0qM17aeLt yzAb6a4BJTJk11jl7+LEtFpJ6RwUIt2XFO4Ch/QlgeYYnFvINUf6SRcpccMdFHVrJf1g8T4HF hwyOvFPtC5/a8d0hd4b5FQpRBEMAh1yYYIsCmhcD7ScCFu1wTjZalORGGpHlaXCeZxfCs0TxN vNoMSzKZtEEbB4IUkk9D4Yp2Qy///d03MkQTkA4vDMXBKt2cIMsFKjp/Jmb1XsJ9iDi1z/OP1 WSDElG5ltTw1c/I5C/UaNhz9YjKmPUJNhZGtjg== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: The two functions pass a partially initialized structure back to the caller after a memset() on the destination. This is not entirely well-defined, most compilers are sensible enough to either keep the zero-initialization for the uninitialized members, but gcc-4.4 does not, and it warns about this: drivers/gpu/drm/gma500/oaktrail_crtc.c: In function 'mrst_sdvo_find_best_pll': drivers/gpu/drm/gma500/oaktrail_crtc.c:175: warning: 'clock.vco' may be used uninitialized in this function drivers/gpu/drm/gma500/oaktrail_crtc.c:175: warning: 'clock.dot' may be used uninitialized in this function drivers/gpu/drm/gma500/oaktrail_crtc.c:175: warning: 'clock.p2' may be used uninitialized in this function drivers/gpu/drm/gma500/oaktrail_crtc.c:175: warning: 'clock.m2' may be used uninitialized in this function drivers/gpu/drm/gma500/oaktrail_crtc.c:175: warning: 'clock.m1' may be used uninitialized in this function drivers/gpu/drm/gma500/oaktrail_crtc.c: In function 'mrst_lvds_find_best_pll': drivers/gpu/drm/gma500/oaktrail_crtc.c:208: warning: 'clock.p' may be used uninitialized in this function drivers/gpu/drm/gma500/oaktrail_crtc.c:208: warning: 'clock.vco' may be used uninitialized in this function drivers/gpu/drm/gma500/oaktrail_crtc.c:208: warning: 'clock.p2' may be used uninitialized in this function drivers/gpu/drm/gma500/oaktrail_crtc.c:208: warning: 'clock.m2' may be used uninitialized in this function drivers/gpu/drm/gma500/oaktrail_crtc.c:208: warning: 'clock.m1' may be used uninitialized in this function drivers/gpu/drm/gma500/oaktrail_crtc.c:208: warning: 'clock.n' may be used uninitialized in this function This adds an initialization at declaration time to avoid the warning and make it well-defined on all compiler versions. Signed-off-by: Arnd Bergmann --- Originally submitted on Sep 15, 2017, but got no reply. Resending unchanged. --- drivers/gpu/drm/gma500/oaktrail_crtc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/gma500/oaktrail_crtc.c b/drivers/gpu/drm/gma500/oaktrail_crtc.c index 0fff269d3fe6..b49fe79c3f44 100644 --- a/drivers/gpu/drm/gma500/oaktrail_crtc.c +++ b/drivers/gpu/drm/gma500/oaktrail_crtc.c @@ -134,7 +134,7 @@ static bool mrst_sdvo_find_best_pll(const struct gma_limit_t *limit, struct drm_crtc *crtc, int target, int refclk, struct gma_clock_t *best_clock) { - struct gma_clock_t clock; + struct gma_clock_t clock = {}; u32 target_vco, actual_freq; s32 freq_error, min_error = 100000; @@ -191,7 +191,7 @@ static bool mrst_lvds_find_best_pll(const struct gma_limit_t *limit, struct drm_crtc *crtc, int target, int refclk, struct gma_clock_t *best_clock) { - struct gma_clock_t clock; + struct gma_clock_t clock = {}; int err = target; memset(best_clock, 0, sizeof(*best_clock)); -- 2.9.0