* [PATCH 0/6] gpu: simplify getting .driver_data
@ 2018-10-21 20:00 Wolfram Sang
2018-10-21 20:00 ` [PATCH 1/6] gpu: drm: msm: adreno: adreno_device: " Wolfram Sang
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: Wolfram Sang @ 2018-10-21 20:00 UTC (permalink / raw)
To: linux-kernel
Cc: linux-renesas-soc, Wolfram Sang, dri-devel, freedreno, linux-arm-msm
I got tired of fixing this in Renesas drivers manually, so I took the big
hammer. Remove this cumbersome code pattern which got copy-pasted too much
already:
- struct platform_device *pdev = to_platform_device(dev);
- struct ep93xx_keypad *keypad = platform_get_drvdata(pdev);
+ struct ep93xx_keypad *keypad = dev_get_drvdata(dev);
A branch, tested by buildbot, can be found here:
git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git coccinelle/get_drvdata
I have been asked if it couldn't be done for dev_set_drvdata as well. I checked
it and did not find one occasion where it could be simplified like this. Not
much of a surprise because driver_data is usually set in probe() functions
which access struct platform_device in many other ways.
I am open for other comments, suggestions, too, of course.
Here is the cocci-script I created:
@@
struct device* d;
identifier pdev;
expression *ptr;
@@
(
- struct platform_device *pdev = to_platform_device(d);
|
- struct platform_device *pdev;
...
- pdev = to_platform_device(d);
)
<... when != pdev
- &pdev->dev
+ d
...>
ptr =
- platform_get_drvdata(pdev)
+ dev_get_drvdata(d)
<... when != pdev
- &pdev->dev
+ d
...>
Kind regards,
Wolfram
Wolfram Sang (6):
gpu: drm: msm: adreno: adreno_device: simplify getting .driver_data
gpu: drm: msm: disp: dpu1: dpu_kms: simplify getting .driver_data
gpu: drm: msm: disp: mdp5: mdp5_kms: simplify getting .driver_data
gpu: drm: msm: dsi: dsi_host: simplify getting .driver_data
gpu: drm: msm: msm_drv: simplify getting .driver_data
gpu: drm: omapdrm: displays: panel-dsi-cm: simplify getting
.driver_data
drivers/gpu/drm/msm/adreno/adreno_device.c | 6 ++----
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 6 ++----
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 +--
.../gpu/drm/omapdrm/displays/panel-dsi-cm.c | 18 ++++++------------
6 files changed, 15 insertions(+), 30 deletions(-)
--
2.19.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/6] gpu: drm: msm: adreno: adreno_device: simplify getting .driver_data
2018-10-21 20:00 [PATCH 0/6] gpu: simplify getting .driver_data Wolfram Sang
@ 2018-10-21 20:00 ` Wolfram Sang
2018-10-21 20:00 ` [PATCH 2/6] gpu: drm: msm: disp: dpu1: dpu_kms: " Wolfram Sang
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Wolfram Sang @ 2018-10-21 20:00 UTC (permalink / raw)
To: linux-kernel
Cc: linux-renesas-soc, Wolfram Sang, Rob Clark, David Airlie,
linux-arm-msm, dri-devel, freedreno
We should get 'driver_data' from 'struct device' directly. Going via
platform_device is an unneeded step back and forth.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
Build tested only. buildbot is happy.
drivers/gpu/drm/msm/adreno/adreno_device.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/msm/adreno/adreno_device.c b/drivers/gpu/drm/msm/adreno/adreno_device.c
index 86abdb2b3a9c..5871e41f85be 100644
--- a/drivers/gpu/drm/msm/adreno/adreno_device.c
+++ b/drivers/gpu/drm/msm/adreno/adreno_device.c
@@ -345,16 +345,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);
}
--
2.19.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/6] gpu: drm: msm: disp: dpu1: dpu_kms: simplify getting .driver_data
2018-10-21 20:00 [PATCH 0/6] gpu: simplify getting .driver_data Wolfram Sang
2018-10-21 20:00 ` [PATCH 1/6] gpu: drm: msm: adreno: adreno_device: " Wolfram Sang
@ 2018-10-21 20:00 ` Wolfram Sang
2018-10-21 20:00 ` [PATCH 3/6] gpu: drm: msm: disp: mdp5: mdp5_kms: " Wolfram Sang
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Wolfram Sang @ 2018-10-21 20:00 UTC (permalink / raw)
To: linux-kernel
Cc: linux-renesas-soc, Wolfram Sang, Rob Clark, David Airlie,
linux-arm-msm, dri-devel, freedreno
We should get 'driver_data' from 'struct device' directly. Going via
platform_device is an unneeded step back and forth.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
Build tested only. buildbot is happy.
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
index 0a683e65a9f3..d1a69b490fd1 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
@@ -1270,8 +1270,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;
@@ -1297,8 +1296,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_device *ddev;
struct dss_module_power *mp = &dpu_kms->mp;
--
2.19.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/6] gpu: drm: msm: disp: mdp5: mdp5_kms: simplify getting .driver_data
2018-10-21 20:00 [PATCH 0/6] gpu: simplify getting .driver_data Wolfram Sang
2018-10-21 20:00 ` [PATCH 1/6] gpu: drm: msm: adreno: adreno_device: " Wolfram Sang
2018-10-21 20:00 ` [PATCH 2/6] gpu: drm: msm: disp: dpu1: dpu_kms: " Wolfram Sang
@ 2018-10-21 20:00 ` Wolfram Sang
2018-10-21 20:00 ` [PATCH 4/6] gpu: drm: msm: dsi: dsi_host: " Wolfram Sang
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Wolfram Sang @ 2018-10-21 20:00 UTC (permalink / raw)
To: linux-kernel
Cc: linux-renesas-soc, Wolfram Sang, Rob Clark, David Airlie,
linux-arm-msm, dri-devel, freedreno
We should get 'driver_data' from 'struct device' directly. Going via
platform_device is an unneeded step back and forth.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
Build tested only. buildbot is happy.
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
index bddd625ab91b..100f166c1ac2 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
@@ -1063,8 +1063,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("");
@@ -1073,8 +1072,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("");
--
2.19.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 4/6] gpu: drm: msm: dsi: dsi_host: simplify getting .driver_data
2018-10-21 20:00 [PATCH 0/6] gpu: simplify getting .driver_data Wolfram Sang
` (2 preceding siblings ...)
2018-10-21 20:00 ` [PATCH 3/6] gpu: drm: msm: disp: mdp5: mdp5_kms: " Wolfram Sang
@ 2018-10-21 20:00 ` Wolfram Sang
2018-10-21 20:00 ` [PATCH 5/6] gpu: drm: msm: msm_drv: " Wolfram Sang
2018-10-21 20:00 ` [PATCH 6/6] gpu: drm: omapdrm: displays: panel-dsi-cm: " Wolfram Sang
5 siblings, 0 replies; 7+ messages in thread
From: Wolfram Sang @ 2018-10-21 20:00 UTC (permalink / raw)
To: linux-kernel
Cc: linux-renesas-soc, Wolfram Sang, Rob Clark, David Airlie,
linux-arm-msm, dri-devel, freedreno
We should get 'driver_data' from 'struct device' directly. Going via
platform_device is an unneeded step back and forth.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
Build tested only. buildbot is happy.
drivers/gpu/drm/msm/dsi/dsi_host.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c
index 9c6c523eacdc..0df8c7da84bd 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_host.c
+++ b/drivers/gpu/drm/msm/dsi/dsi_host.c
@@ -485,8 +485,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);
@@ -500,8 +499,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);
--
2.19.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 5/6] gpu: drm: msm: msm_drv: simplify getting .driver_data
2018-10-21 20:00 [PATCH 0/6] gpu: simplify getting .driver_data Wolfram Sang
` (3 preceding siblings ...)
2018-10-21 20:00 ` [PATCH 4/6] gpu: drm: msm: dsi: dsi_host: " Wolfram Sang
@ 2018-10-21 20:00 ` Wolfram Sang
2018-10-21 20:00 ` [PATCH 6/6] gpu: drm: omapdrm: displays: panel-dsi-cm: " Wolfram Sang
5 siblings, 0 replies; 7+ messages in thread
From: Wolfram Sang @ 2018-10-21 20:00 UTC (permalink / raw)
To: linux-kernel
Cc: linux-renesas-soc, Wolfram Sang, Rob Clark, David Airlie,
linux-arm-msm, dri-devel, freedreno
We should get 'driver_data' from 'struct device' directly. Going via
platform_device is an unneeded step back and forth.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
Build tested only. buildbot is happy.
drivers/gpu/drm/msm/msm_drv.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
index 4904d0d41409..1ca3a3445b67 100644
--- a/drivers/gpu/drm/msm/msm_drv.c
+++ b/drivers/gpu/drm/msm/msm_drv.c
@@ -265,8 +265,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;
--
2.19.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 6/6] gpu: drm: omapdrm: displays: panel-dsi-cm: simplify getting .driver_data
2018-10-21 20:00 [PATCH 0/6] gpu: simplify getting .driver_data Wolfram Sang
` (4 preceding siblings ...)
2018-10-21 20:00 ` [PATCH 5/6] gpu: drm: msm: msm_drv: " Wolfram Sang
@ 2018-10-21 20:00 ` Wolfram Sang
5 siblings, 0 replies; 7+ messages in thread
From: Wolfram Sang @ 2018-10-21 20:00 UTC (permalink / raw)
To: linux-kernel
Cc: linux-renesas-soc, Wolfram Sang, Tomi Valkeinen, David Airlie, dri-devel
We should get 'driver_data' from 'struct device' directly. Going via
platform_device is an unneeded step back and forth.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
Build tested only. buildbot is happy.
.../gpu/drm/omapdrm/displays/panel-dsi-cm.c | 18 ++++++------------
1 file changed, 6 insertions(+), 12 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
index 29692a5217c5..88d4b0c60689 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
@@ -412,8 +412,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->dssdev.src;
u8 errors = 0;
int r;
@@ -444,8 +443,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->dssdev.src;
u8 id1, id2, id3;
int r;
@@ -476,8 +474,7 @@ static ssize_t dsicm_store_ulps(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->dssdev.src;
unsigned long t;
int r;
@@ -511,8 +508,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);
@@ -526,8 +522,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->dssdev.src;
unsigned long t;
int r;
@@ -558,8 +553,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);
--
2.19.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2018-10-21 20:05 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-21 20:00 [PATCH 0/6] gpu: simplify getting .driver_data Wolfram Sang
2018-10-21 20:00 ` [PATCH 1/6] gpu: drm: msm: adreno: adreno_device: " Wolfram Sang
2018-10-21 20:00 ` [PATCH 2/6] gpu: drm: msm: disp: dpu1: dpu_kms: " Wolfram Sang
2018-10-21 20:00 ` [PATCH 3/6] gpu: drm: msm: disp: mdp5: mdp5_kms: " Wolfram Sang
2018-10-21 20:00 ` [PATCH 4/6] gpu: drm: msm: dsi: dsi_host: " Wolfram Sang
2018-10-21 20:00 ` [PATCH 5/6] gpu: drm: msm: msm_drv: " Wolfram Sang
2018-10-21 20:00 ` [PATCH 6/6] gpu: drm: omapdrm: displays: panel-dsi-cm: " Wolfram Sang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).