Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp996560ybb; Wed, 8 Apr 2020 14:13:38 -0700 (PDT) X-Google-Smtp-Source: APiQypKCTWqpbYilXnav186r2myvZ9jDZfwsPiSS+z0pRHUv2fBGxPstP+Ijq7HPmcjj2aCv75D/ X-Received: by 2002:a9d:7452:: with SMTP id p18mr6957628otk.122.1586380418080; Wed, 08 Apr 2020 14:13:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1586380418; cv=none; d=google.com; s=arc-20160816; b=WVrZy1I2Z9fLSmgb+ozlZ0LkRHDhk0VH6RSzMxb2ggMZzKseZiY0TOmXiYJswRcMT3 d73K8sL8bH121vWy2vy3P8vd3ra7Y5Z75JnSaVXxof+tuY6VeatnjP74y7J0pLJv7aDC wDv+oyM/2pSrXhsKNCSQ8W30Gi5RtQ8jYZ/Z8XPd+2TExLtlS3E3E8p/2cnyQiG0MoRp HY4Pcx7G4suhNCoI89pMn6RCCVqkYQ5KNJRPSOj1wF88hv2YxuaPkz+3K8MXMdtcv/ZO B/XUDq7fpAXHJtKYew0S2dHAVgrRsmzE8wsQFp9AOOPtj9cU5mTgrdOUb8wRjh3xe08W 4CCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=nd63z04bY0JUHDacqFbmCJyYxc9hiVGAGyXYI1Ri028=; b=aad+tmxQY6HBsE7iyNonFvp8YegiurgESgh02XNVLl5P0Rpcf9hCysZRYK4j5JiMvm yzIKUJdwYEKnim7E2d6y9J7FoKxPFTs30Be1plWZtmhG/D+xDodzn4zxgayLktiVkK50 mEMWxZZFIeFi1F90I5ZKZ92+BtkMUXv/gCpl9yZ6PxBNO5dQ/LqJnf8+BVPdHOJK1QKL XPISA/8rZdLCIk1PeSDYtAhrnqCayVOhAlLXBWX4qjmodGGit7S2l3gDhM9NnDhe92FR tcYvyGY6WCFAmyUHl6m1YB054vxfB25ZDj2Irsfz0zyzqphfWQAn1MZw5ydwMHQjLZ5W pkSA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=tOm63dXx; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y62si1150196otb.292.2020.04.08.14.13.25; Wed, 08 Apr 2020 14:13:38 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=tOm63dXx; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729111AbgDHRQb (ORCPT + 99 others); Wed, 8 Apr 2020 13:16:31 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:33552 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727327AbgDHRQb (ORCPT ); Wed, 8 Apr 2020 13:16:31 -0400 Received: from pendragon.ideasonboard.com (81-175-216-236.bb.dnainternet.fi [81.175.216.236]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 71593522; Wed, 8 Apr 2020 19:16:28 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1586366188; bh=9a89VhfQ+zxzqddEwHku2aXm8nngszld3qBqTJA/+iY=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=tOm63dXxNpKCIPk7dyAxYsjhfQ02dpkLbDtpcn2t2sY5CYcsNAQMZdzScCVXnSNe1 I7hslD0nYn2m1Tq9FiHG9rIMNbAmokfgh6Xicis9C3h5TicZEsqQDDaIzJbU8bx339 ORQHmva9tuPEHqjnEIr7yCqmyD6KO3ZnXKWPPFTc= Date: Wed, 8 Apr 2020 20:16:18 +0300 From: Laurent Pinchart To: Arnd Bergmann Cc: Bartlomiej Zolnierkiewicz , linux-fbdev@vger.kernel.org, Jani Nikula , Daniel Vetter , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Enrico Weigelt Subject: Re: [PATCH] fbdev: mx3fb: avoid warning about psABI change Message-ID: <20200408171618.GK4881@pendragon.ideasonboard.com> References: <20200408162551.3928330-1-arnd@arndb.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20200408162551.3928330-1-arnd@arndb.de> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Arnd, Thank you for the patch. On Wed, Apr 08, 2020 at 06:25:38PM +0200, Arnd Bergmann wrote: > The arm64 gcc-9 release warns about a change in the calling > conventions: > > drivers/video/fbdev/mx3fb.c: In function 'sdc_init_panel': > drivers/video/fbdev/mx3fb.c:506:12: note: parameter passing for argument of type 'struct ipu_di_signal_cfg' changed in GCC 9.1 > 506 | static int sdc_init_panel(struct mx3fb_data *mx3fb, enum ipu_panel panel, > | ^~~~~~~~~~~~~~ > drivers/video/fbdev/mx3fb.c: In function '__set_par': > drivers/video/fbdev/mx3fb.c:848:7: note: parameter passing for argument of type 'struct ipu_di_signal_cfg' changed in GCC 9.1 > > Change the file to just pass the struct by reference, which is > unambiguous and avoids the warning. > > Signed-off-by: Arnd Bergmann > --- > drivers/video/fbdev/mx3fb.c | 20 ++++++++++---------- > 1 file changed, 10 insertions(+), 10 deletions(-) > > diff --git a/drivers/video/fbdev/mx3fb.c b/drivers/video/fbdev/mx3fb.c > index 4af28e4421e5..e13fea3a292f 100644 > --- a/drivers/video/fbdev/mx3fb.c > +++ b/drivers/video/fbdev/mx3fb.c > @@ -509,7 +509,7 @@ static int sdc_init_panel(struct mx3fb_data *mx3fb, enum ipu_panel panel, > uint16_t h_start_width, uint16_t h_sync_width, > uint16_t h_end_width, uint16_t v_start_width, > uint16_t v_sync_width, uint16_t v_end_width, > - struct ipu_di_signal_cfg sig) > + struct ipu_di_signal_cfg *sig) How about making it a const pointer ? The current code doesn't change the contents of the caller's structure as it passes it by value, let's ensure that stays the same. With this fixed, Reviewed-by: Laurent Pinchart > { > unsigned long lock_flags; > uint32_t reg; > @@ -591,17 +591,17 @@ static int sdc_init_panel(struct mx3fb_data *mx3fb, enum ipu_panel panel, > > /* DI settings */ > old_conf = mx3fb_read_reg(mx3fb, DI_DISP_IF_CONF) & 0x78FFFFFF; > - old_conf |= sig.datamask_en << DI_D3_DATAMSK_SHIFT | > - sig.clksel_en << DI_D3_CLK_SEL_SHIFT | > - sig.clkidle_en << DI_D3_CLK_IDLE_SHIFT; > + old_conf |= sig->datamask_en << DI_D3_DATAMSK_SHIFT | > + sig->clksel_en << DI_D3_CLK_SEL_SHIFT | > + sig->clkidle_en << DI_D3_CLK_IDLE_SHIFT; > mx3fb_write_reg(mx3fb, old_conf, DI_DISP_IF_CONF); > > old_conf = mx3fb_read_reg(mx3fb, DI_DISP_SIG_POL) & 0xE0FFFFFF; > - old_conf |= sig.data_pol << DI_D3_DATA_POL_SHIFT | > - sig.clk_pol << DI_D3_CLK_POL_SHIFT | > - sig.enable_pol << DI_D3_DRDY_SHARP_POL_SHIFT | > - sig.Hsync_pol << DI_D3_HSYNC_POL_SHIFT | > - sig.Vsync_pol << DI_D3_VSYNC_POL_SHIFT; > + old_conf |= sig->data_pol << DI_D3_DATA_POL_SHIFT | > + sig->clk_pol << DI_D3_CLK_POL_SHIFT | > + sig->enable_pol << DI_D3_DRDY_SHARP_POL_SHIFT | > + sig->Hsync_pol << DI_D3_HSYNC_POL_SHIFT | > + sig->Vsync_pol << DI_D3_VSYNC_POL_SHIFT; > mx3fb_write_reg(mx3fb, old_conf, DI_DISP_SIG_POL); > > map = &di_mappings[mx3fb->disp_data_fmt]; > @@ -855,7 +855,7 @@ static int __set_par(struct fb_info *fbi, bool lock) > fbi->var.upper_margin, > fbi->var.vsync_len, > fbi->var.lower_margin + > - fbi->var.vsync_len, sig_cfg) != 0) { > + fbi->var.vsync_len, &sig_cfg) != 0) { > dev_err(fbi->device, > "mx3fb: Error initializing panel.\n"); > return -EINVAL; -- Regards, Laurent Pinchart