Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752275AbeAQIXz (ORCPT + 1 other); Wed, 17 Jan 2018 03:23:55 -0500 Received: from mail-it0-f67.google.com ([209.85.214.67]:46035 "EHLO mail-it0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750846AbeAQIXx (ORCPT ); Wed, 17 Jan 2018 03:23:53 -0500 X-Google-Smtp-Source: ACJfBotmiQoh2zhO0fZj6lt+ZCaUE6OweU4aa0DNNT2g8OHAmH4B0TVTuUehuICYwfDvZtTByFhNAtr/lEPbjv8ugk8= MIME-Version: 1.0 In-Reply-To: <20180116145720.2348043-1-arnd@arndb.de> References: <20180116145720.2348043-1-arnd@arndb.de> From: Patrik Jakobsson Date: Wed, 17 Jan 2018 09:23:52 +0100 Message-ID: Subject: Re: [PATCH] [RESEND] drm/gma500: initialize gma_clock_t structures To: Arnd Bergmann Cc: David Airlie , dri-devel , linux-kernel , Daniel Vetter Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On Tue, Jan 16, 2018 at 3:57 PM, Arnd Bergmann wrote: > 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 Dave or Daniel, I'm on sick leave and will be for some time to come. Can one of you pick up this patch? Thanks. Reviewed-by: Patrik Jakobsson > --- > 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 >