Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp2223516ybi; Mon, 1 Jul 2019 08:16:56 -0700 (PDT) X-Google-Smtp-Source: APXvYqy570L5dLF+9pZrwhk9jOTHK5FwkV51BUN1iBsfD+5erAlmObaMCjLBLGWt9HcsDQaDygO0 X-Received: by 2002:a17:902:aa0a:: with SMTP id be10mr29982230plb.27.1561994216772; Mon, 01 Jul 2019 08:16:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1561994216; cv=none; d=google.com; s=arc-20160816; b=TcIuCebSYkiO2Tk8jkMfG6EHX/iPixEb+AR+MAGL9EzpG/7kxPXMHdRGXaR+ACqnBe xb8/Efeazo/oYFSdJPerYGH1psyuUqoyuj1K/Zt3NituDRty5/l3+sgGRNteLTjGqO4D VrY/AMLGdp90a0PiGFyL8VwMCV/uOhUzp/bhKU6GmBmWhJYDFauInlXf+W70W86lKr5o xptZ8mz2xAAjt82C2z+qb3KZNgmEWQc/gQqelzzPD3O4an4i2dPN7QHHSFIddqztCElx yeYfwXVWL/KaPPZhoftclJPr/7dLQqRwJr9zEKPgAR9AjSw8GUJVrY9xcJSFYQgsYunj u4vQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=ARrLJSD4Z2wWCr7DJ4AiXh7skzvI/jKXoA9KZGJE34g=; b=wJ1JjIlAxoqCBn0tgo97Cho81UCYj1qEawp0iCPxwdDN1HaffUZPBUS/IMySunJugN 6iBOOo5TDWkqpB3Z9oEol5N0xRvDpPxyzeRDOfqjdKJ0OkScJbbA1zuSUv1i3Q5Mq9we /Juj4HOlgMJU7AHUDugI4+FFjg3Yl94KGacarq7vkuSLSygKxOJb/rcNHoERAtrxOh8g VjeN0lT52GO3sDF4pNtqaRijWmEkYYiDoHCUsXerUi43AX7Sup1dIYQ/swvVX6JyQJLP gKVw64JkGXXhIRZrME8wme6gzNd3StKlmdZ9ewqog4gO/mT72zN42JOTGlqVMSaxXUlx kiqw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=tdNy+zRb; 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 m22si9828950pgk.361.2019.07.01.08.16.25; Mon, 01 Jul 2019 08:16:56 -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=tdNy+zRb; 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 S1729015AbfGANcU (ORCPT + 99 others); Mon, 1 Jul 2019 09:32:20 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:46212 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727415AbfGANcT (ORCPT ); Mon, 1 Jul 2019 09:32:19 -0400 Received: from pendragon.ideasonboard.com (dfj612yhrgyx302h3jwwy-3.rev.dnainternet.fi [IPv6:2001:14ba:21f5:5b00:ce28:277f:58d7:3ca4]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 8E330524; Mon, 1 Jul 2019 15:32:16 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1561987936; bh=eRrSqx1218RYfQ7CVn4cs6cyjRX6HZ2qWtSqjeIi1TU=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=tdNy+zRb6qmG9iarrCp1t8abxJlZdvRQldKmYi3+q+LIMGY65FPt0A0FP5y2MGSuC yjNY860F2SOdSFhpVeAAr9hLlFss2kURbKD7DjiI1LKrbuYYFF9oHT937lcDmqaxNV 2kpOiKYjwlB7Ny167B6msamcMO4I7d0wSBuRJai0= Date: Mon, 1 Jul 2019 16:31:57 +0300 From: Laurent Pinchart To: Fuqian Huang Cc: Rob Clark , Sean Paul , David Airlie , Daniel Vetter , Tomi Valkeinen , Rob Herring , Tomeu Vizoso , Jordan Crouse , Jonathan Marek , Greg Kroah-Hartman , Enrico Weigelt , Mamta Shukla , Daniel Mack , Thomas Gleixner , Jeykumar Sankaran , Sravanthi Kollukuduru , Bruce Wang , Rajesh Yadav , Sibi Sankar , Abhinav Kumar , Chandan Uddaraju , Laurent Pinchart , Sebastian Reichel , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/4] gpu: Use dev_get_drvdata() Message-ID: <20190701133157.GE5018@pendragon.ideasonboard.com> References: <20190701032245.25906-1-huangfq.daxian@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20190701032245.25906-1-huangfq.daxian@gmail.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Fuqian, Thank you for the pach. On Mon, Jul 01, 2019 at 11:22:35AM +0800, Fuqian Huang wrote: > Using dev_get_drvdata directly. This could be expanded a bit. Maybe "Several drivers cast a struct device pointer to a struct platform_device pointer only to then call platform_get_drvdata(). These constructs can be simplified by using dev_get_drvdata() directly." I would also replace the "gpu: " prefix with "drm: " in the subject line. With these small issues addressed, Reviewed-by: Laurent Pinchart > Signed-off-by: Fuqian Huang > --- > drivers/gpu/drm/msm/adreno/adreno_device.c | 6 ++---- > drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 13 +++++-------- > drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c | 6 ++---- > drivers/gpu/drm/msm/dsi/dsi_host.c | 6 ++---- > drivers/gpu/drm/msm/msm_drv.c | 3 +-- > drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 15 +++++---------- > drivers/gpu/drm/panfrost/panfrost_device.c | 6 ++---- > 7 files changed, 19 insertions(+), 36 deletions(-) > > diff --git a/drivers/gpu/drm/msm/adreno/adreno_device.c b/drivers/gpu/drm/msm/adreno/adreno_device.c > index b3deb346a42b..fafd00d2574a 100644 > --- a/drivers/gpu/drm/msm/adreno/adreno_device.c > +++ b/drivers/gpu/drm/msm/adreno/adreno_device.c > @@ -403,16 +403,14 @@ static const struct of_device_id dt_match[] = { > #ifdef CONFIG_PM > static int adreno_resume(struct device *dev) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct msm_gpu *gpu = platform_get_drvdata(pdev); > + struct msm_gpu *gpu = dev_get_drvdata(dev); > > return gpu->funcs->pm_resume(gpu); > } > > static int adreno_suspend(struct device *dev) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct msm_gpu *gpu = platform_get_drvdata(pdev); > + struct msm_gpu *gpu = dev_get_drvdata(dev); > > return gpu->funcs->pm_suspend(gpu); > } > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c > index ae885e5dd07d..6c6f8ca9380f 100644 > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c > @@ -1025,16 +1025,15 @@ static int dpu_bind(struct device *dev, struct device *master, void *data) > > static void dpu_unbind(struct device *dev, struct device *master, void *data) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct dpu_kms *dpu_kms = platform_get_drvdata(pdev); > + struct dpu_kms *dpu_kms = dev_get_drvdata(dev); > struct dss_module_power *mp = &dpu_kms->mp; > > msm_dss_put_clk(mp->clk_config, mp->num_clk); > - devm_kfree(&pdev->dev, mp->clk_config); > + devm_kfree(dev, mp->clk_config); > mp->num_clk = 0; > > if (dpu_kms->rpm_enabled) > - pm_runtime_disable(&pdev->dev); > + pm_runtime_disable(dev); > } > > static const struct component_ops dpu_ops = { > @@ -1056,8 +1055,7 @@ static int dpu_dev_remove(struct platform_device *pdev) > static int __maybe_unused dpu_runtime_suspend(struct device *dev) > { > int rc = -1; > - struct platform_device *pdev = to_platform_device(dev); > - struct dpu_kms *dpu_kms = platform_get_drvdata(pdev); > + struct dpu_kms *dpu_kms = dev_get_drvdata(dev); > struct drm_device *ddev; > struct dss_module_power *mp = &dpu_kms->mp; > > @@ -1077,8 +1075,7 @@ static int __maybe_unused dpu_runtime_suspend(struct device *dev) > static int __maybe_unused dpu_runtime_resume(struct device *dev) > { > int rc = -1; > - struct platform_device *pdev = to_platform_device(dev); > - struct dpu_kms *dpu_kms = platform_get_drvdata(pdev); > + struct dpu_kms *dpu_kms = dev_get_drvdata(dev); > struct drm_encoder *encoder; > struct drm_device *ddev; > struct dss_module_power *mp = &dpu_kms->mp; > diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c > index 901009e1f219..25d1ebb32e73 100644 > --- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c > +++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c > @@ -1052,8 +1052,7 @@ static int mdp5_dev_remove(struct platform_device *pdev) > > static __maybe_unused int mdp5_runtime_suspend(struct device *dev) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct mdp5_kms *mdp5_kms = platform_get_drvdata(pdev); > + struct mdp5_kms *mdp5_kms = dev_get_drvdata(dev); > > DBG(""); > > @@ -1062,8 +1061,7 @@ static __maybe_unused int mdp5_runtime_suspend(struct device *dev) > > static __maybe_unused int mdp5_runtime_resume(struct device *dev) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct mdp5_kms *mdp5_kms = platform_get_drvdata(pdev); > + struct mdp5_kms *mdp5_kms = dev_get_drvdata(dev); > > DBG(""); > > diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c > index dbf490176c2c..882f13725819 100644 > --- a/drivers/gpu/drm/msm/dsi/dsi_host.c > +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c > @@ -477,8 +477,7 @@ static void dsi_bus_clk_disable(struct msm_dsi_host *msm_host) > > int msm_dsi_runtime_suspend(struct device *dev) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct msm_dsi *msm_dsi = platform_get_drvdata(pdev); > + struct msm_dsi *msm_dsi = dev_get_drvdata(dev); > struct mipi_dsi_host *host = msm_dsi->host; > struct msm_dsi_host *msm_host = to_msm_dsi_host(host); > > @@ -492,8 +491,7 @@ int msm_dsi_runtime_suspend(struct device *dev) > > int msm_dsi_runtime_resume(struct device *dev) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct msm_dsi *msm_dsi = platform_get_drvdata(pdev); > + struct msm_dsi *msm_dsi = dev_get_drvdata(dev); > struct mipi_dsi_host *host = msm_dsi->host; > struct msm_dsi_host *msm_host = to_msm_dsi_host(host); > > diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c > index f38d7367bd3b..0d9e46561609 100644 > --- a/drivers/gpu/drm/msm/msm_drv.c > +++ b/drivers/gpu/drm/msm/msm_drv.c > @@ -241,8 +241,7 @@ static int vblank_ctrl_queue_work(struct msm_drm_private *priv, > > static int msm_drm_uninit(struct device *dev) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct drm_device *ddev = platform_get_drvdata(pdev); > + struct drm_device *ddev = dev_get_drvdata(dev); > struct msm_drm_private *priv = ddev->dev_private; > struct msm_kms *kms = priv->kms; > struct msm_mdss *mdss = priv->mdss; > diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c > index 8edef8ef23b0..53240da139b1 100644 > --- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c > +++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c > @@ -407,8 +407,7 @@ static const struct backlight_ops dsicm_bl_ops = { > static ssize_t dsicm_num_errors_show(struct device *dev, > struct device_attribute *attr, char *buf) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct panel_drv_data *ddata = platform_get_drvdata(pdev); > + struct panel_drv_data *ddata = dev_get_drvdata(dev); > struct omap_dss_device *src = ddata->src; > u8 errors = 0; > int r; > @@ -439,8 +438,7 @@ static ssize_t dsicm_num_errors_show(struct device *dev, > static ssize_t dsicm_hw_revision_show(struct device *dev, > struct device_attribute *attr, char *buf) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct panel_drv_data *ddata = platform_get_drvdata(pdev); > + struct panel_drv_data *ddata = dev_get_drvdata(dev); > struct omap_dss_device *src = ddata->src; > u8 id1, id2, id3; > int r; > @@ -506,8 +504,7 @@ static ssize_t dsicm_show_ulps(struct device *dev, > struct device_attribute *attr, > char *buf) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct panel_drv_data *ddata = platform_get_drvdata(pdev); > + struct panel_drv_data *ddata = dev_get_drvdata(dev); > unsigned int t; > > mutex_lock(&ddata->lock); > @@ -521,8 +518,7 @@ static ssize_t dsicm_store_ulps_timeout(struct device *dev, > struct device_attribute *attr, > const char *buf, size_t count) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct panel_drv_data *ddata = platform_get_drvdata(pdev); > + struct panel_drv_data *ddata = dev_get_drvdata(dev); > struct omap_dss_device *src = ddata->src; > unsigned long t; > int r; > @@ -553,8 +549,7 @@ static ssize_t dsicm_show_ulps_timeout(struct device *dev, > struct device_attribute *attr, > char *buf) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct panel_drv_data *ddata = platform_get_drvdata(pdev); > + struct panel_drv_data *ddata = dev_get_drvdata(dev); > unsigned int t; > > mutex_lock(&ddata->lock); > diff --git a/drivers/gpu/drm/panfrost/panfrost_device.c b/drivers/gpu/drm/panfrost/panfrost_device.c > index 3b2bced1b015..ed187648e6d8 100644 > --- a/drivers/gpu/drm/panfrost/panfrost_device.c > +++ b/drivers/gpu/drm/panfrost/panfrost_device.c > @@ -227,8 +227,7 @@ const char *panfrost_exception_name(struct panfrost_device *pfdev, u32 exception > #ifdef CONFIG_PM > int panfrost_device_resume(struct device *dev) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct panfrost_device *pfdev = platform_get_drvdata(pdev); > + struct panfrost_device *pfdev = dev_get_drvdata(dev); > > panfrost_gpu_soft_reset(pfdev); > > @@ -243,8 +242,7 @@ int panfrost_device_resume(struct device *dev) > > int panfrost_device_suspend(struct device *dev) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct panfrost_device *pfdev = platform_get_drvdata(pdev); > + struct panfrost_device *pfdev = dev_get_drvdata(dev); > > if (!panfrost_job_is_idle(pfdev)) > return -EBUSY; -- Regards, Laurent Pinchart