dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/10] drm/panel: Use dev_err_probe() to simplify code
@ 2022-09-24  1:56 Yuan Can
  2022-09-24  1:56 ` [PATCH 01/10] drm/panel: himax8279d: " Yuan Can
                   ` (9 more replies)
  0 siblings, 10 replies; 14+ messages in thread
From: Yuan Can @ 2022-09-24  1:56 UTC (permalink / raw)
  To: thierry.reding, sam, airlied, daniel, laurent.pinchart, dianders,
	hanxu5, dri-devel

This series simplify the error handling in probe function by
switching from dev_err() to dev_err_probe().

Yuan Can (10):
  drm/panel: himax8279d: Use dev_err_probe() to simplify code
  drm/panel: panel-edp: Use dev_err_probe() to simplify code
  drm/panel: elida-kd35t133: Use dev_err_probe() to simplify code
  drm/panel: leadtek-ltk050h3146w: Use dev_err_probe() to simplify code
  drm/panel: leadtek-ltk500hd1829: Use dev_err_probe() to simplify code
  drm/panel: lvds: Use dev_err_probe() to simplify code
  drm/panel: otm8009a: Use dev_err_probe() to simplify code
  drm/panel: rm68200: Use dev_err_probe() to simplify code
  drm/panel: s6d16d0: Use dev_err_probe() to simplify code
  drm/panel: simple: Use dev_err_probe() to simplify code

 drivers/gpu/drm/panel/panel-boe-himax8279d.c  | 27 +++++++------------
 drivers/gpu/drm/panel/panel-edp.c             | 13 +++------
 drivers/gpu/drm/panel/panel-elida-kd35t133.c  | 18 +++++--------
 .../drm/panel/panel-leadtek-ltk050h3146w.c    | 18 +++++--------
 .../drm/panel/panel-leadtek-ltk500hd1829.c    | 18 +++++--------
 drivers/gpu/drm/panel/panel-lvds.c            |  9 +++----
 .../gpu/drm/panel/panel-orisetech-otm8009a.c  |  9 +++----
 drivers/gpu/drm/panel/panel-raydium-rm68200.c |  9 +++----
 drivers/gpu/drm/panel/panel-samsung-s6d16d0.c |  9 +++----
 drivers/gpu/drm/panel/panel-simple.c          |  9 +++----
 10 files changed, 45 insertions(+), 94 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 01/10] drm/panel: himax8279d: Use dev_err_probe() to simplify code
  2022-09-24  1:56 [PATCH 00/10] drm/panel: Use dev_err_probe() to simplify code Yuan Can
@ 2022-09-24  1:56 ` Yuan Can
  2022-09-24  1:56 ` [PATCH 02/10] drm/panel: panel-edp: " Yuan Can
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: Yuan Can @ 2022-09-24  1:56 UTC (permalink / raw)
  To: thierry.reding, sam, airlied, daniel, laurent.pinchart, dianders,
	hanxu5, dri-devel

In the probe path, dev_err() can be replaced with dev_err_probe()
which will check if error code is -EPROBE_DEFER and prints the
error name. It also sets the defer probe reason which can be
checked later through debugfs.

Signed-off-by: Yuan Can <yuancan@huawei.com>
---
 drivers/gpu/drm/panel/panel-boe-himax8279d.c | 27 +++++++-------------
 1 file changed, 9 insertions(+), 18 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-boe-himax8279d.c b/drivers/gpu/drm/panel/panel-boe-himax8279d.c
index d879b3b14c48..6a6ba351bde7 100644
--- a/drivers/gpu/drm/panel/panel-boe-himax8279d.c
+++ b/drivers/gpu/drm/panel/panel-boe-himax8279d.c
@@ -854,28 +854,19 @@ static int panel_add(struct panel_info *pinfo)
 	int ret;
 
 	pinfo->pp18_gpio = devm_gpiod_get(dev, "pp18", GPIOD_OUT_HIGH);
-	if (IS_ERR(pinfo->pp18_gpio)) {
-		ret = PTR_ERR(pinfo->pp18_gpio);
-		if (ret != -EPROBE_DEFER)
-			dev_err(dev, "failed to get pp18 gpio: %d\n", ret);
-		return ret;
-	}
+	if (IS_ERR(pinfo->pp18_gpio))
+		return dev_err_probe(dev, PTR_ERR(pinfo->pp18_gpio),
+				     "failed to get pp18 gpio\n");
 
 	pinfo->pp33_gpio = devm_gpiod_get(dev, "pp33", GPIOD_OUT_HIGH);
-	if (IS_ERR(pinfo->pp33_gpio)) {
-		ret = PTR_ERR(pinfo->pp33_gpio);
-		if (ret != -EPROBE_DEFER)
-			dev_err(dev, "failed to get pp33 gpio: %d\n", ret);
-		return ret;
-	}
+	if (IS_ERR(pinfo->pp33_gpio))
+		return dev_err_probe(dev, PTR_ERR(pinfo->pp33_gpio),
+				     "failed to get pp33 gpio\n");
 
 	pinfo->enable_gpio = devm_gpiod_get(dev, "enable", GPIOD_OUT_HIGH);
-	if (IS_ERR(pinfo->enable_gpio)) {
-		ret = PTR_ERR(pinfo->enable_gpio);
-		if (ret != -EPROBE_DEFER)
-			dev_err(dev, "failed to get enable gpio: %d\n", ret);
-		return ret;
-	}
+	if (IS_ERR(pinfo->enable_gpio))
+		return dev_err_probe(dev, PTR_ERR(pinfo->enable_gpio),
+				     "failed to get enable gpio\n");
 
 	drm_panel_init(&pinfo->base, dev, &panel_funcs,
 		       DRM_MODE_CONNECTOR_DSI);
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 02/10] drm/panel: panel-edp: Use dev_err_probe() to simplify code
  2022-09-24  1:56 [PATCH 00/10] drm/panel: Use dev_err_probe() to simplify code Yuan Can
  2022-09-24  1:56 ` [PATCH 01/10] drm/panel: himax8279d: " Yuan Can
@ 2022-09-24  1:56 ` Yuan Can
  2022-09-28 23:00   ` Doug Anderson
  2022-09-24  1:56 ` [PATCH 03/10] drm/panel: elida-kd35t133: " Yuan Can
                   ` (7 subsequent siblings)
  9 siblings, 1 reply; 14+ messages in thread
From: Yuan Can @ 2022-09-24  1:56 UTC (permalink / raw)
  To: thierry.reding, sam, airlied, daniel, laurent.pinchart, dianders,
	hanxu5, dri-devel

In the probe path, dev_err() can be replaced with dev_err_probe()
which will check if error code is -EPROBE_DEFER and prints the
error name. It also sets the defer probe reason which can be
checked later through debugfs.

Signed-off-by: Yuan Can <yuancan@huawei.com>
---
 drivers/gpu/drm/panel/panel-edp.c | 13 +++----------
 1 file changed, 3 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
index c57e8f9e2d47..84557ec19a16 100644
--- a/drivers/gpu/drm/panel/panel-edp.c
+++ b/drivers/gpu/drm/panel/panel-edp.c
@@ -403,17 +403,10 @@ static int panel_edp_unprepare(struct drm_panel *panel)
 
 static int panel_edp_get_hpd_gpio(struct device *dev, struct panel_edp *p)
 {
-	int err;
-
 	p->hpd_gpio = devm_gpiod_get_optional(dev, "hpd", GPIOD_IN);
-	if (IS_ERR(p->hpd_gpio)) {
-		err = PTR_ERR(p->hpd_gpio);
-
-		if (err != -EPROBE_DEFER)
-			dev_err(dev, "failed to get 'hpd' GPIO: %d\n", err);
-
-		return err;
-	}
+	if (IS_ERR(p->hpd_gpio))
+		return dev_err_probe(dev, PTR_ERR(p->hpd_gpio),
+				     "failed to get 'hpd' GPIO\n");
 
 	return 0;
 }
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 03/10] drm/panel: elida-kd35t133: Use dev_err_probe() to simplify code
  2022-09-24  1:56 [PATCH 00/10] drm/panel: Use dev_err_probe() to simplify code Yuan Can
  2022-09-24  1:56 ` [PATCH 01/10] drm/panel: himax8279d: " Yuan Can
  2022-09-24  1:56 ` [PATCH 02/10] drm/panel: panel-edp: " Yuan Can
@ 2022-09-24  1:56 ` Yuan Can
  2022-09-24  1:56 ` [PATCH 04/10] drm/panel: leadtek-ltk050h3146w: " Yuan Can
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: Yuan Can @ 2022-09-24  1:56 UTC (permalink / raw)
  To: thierry.reding, sam, airlied, daniel, laurent.pinchart, dianders,
	hanxu5, dri-devel

In the probe path, dev_err() can be replaced with dev_err_probe()
which will check if error code is -EPROBE_DEFER and prints the
error name. It also sets the defer probe reason which can be
checked later through debugfs.

Signed-off-by: Yuan Can <yuancan@huawei.com>
---
 drivers/gpu/drm/panel/panel-elida-kd35t133.c | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-elida-kd35t133.c b/drivers/gpu/drm/panel/panel-elida-kd35t133.c
index eee714cf3f49..ffed705201af 100644
--- a/drivers/gpu/drm/panel/panel-elida-kd35t133.c
+++ b/drivers/gpu/drm/panel/panel-elida-kd35t133.c
@@ -257,20 +257,14 @@ static int kd35t133_probe(struct mipi_dsi_device *dsi)
 	}
 
 	ctx->vdd = devm_regulator_get(dev, "vdd");
-	if (IS_ERR(ctx->vdd)) {
-		ret = PTR_ERR(ctx->vdd);
-		if (ret != -EPROBE_DEFER)
-			dev_err(dev, "Failed to request vdd regulator: %d\n", ret);
-		return ret;
-	}
+	if (IS_ERR(ctx->vdd))
+		return dev_err_probe(dev, PTR_ERR(ctx->vdd),
+				     "Failed to request vdd regulator\n");
 
 	ctx->iovcc = devm_regulator_get(dev, "iovcc");
-	if (IS_ERR(ctx->iovcc)) {
-		ret = PTR_ERR(ctx->iovcc);
-		if (ret != -EPROBE_DEFER)
-			dev_err(dev, "Failed to request iovcc regulator: %d\n", ret);
-		return ret;
-	}
+	if (IS_ERR(ctx->iovcc))
+		return dev_err_probe(dev, PTR_ERR(ctx->iovcc),
+				     "Failed to request iovcc regulator\n");
 
 	ret = of_drm_get_panel_orientation(dev->of_node, &ctx->orientation);
 	if (ret < 0) {
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 04/10] drm/panel: leadtek-ltk050h3146w: Use dev_err_probe() to simplify code
  2022-09-24  1:56 [PATCH 00/10] drm/panel: Use dev_err_probe() to simplify code Yuan Can
                   ` (2 preceding siblings ...)
  2022-09-24  1:56 ` [PATCH 03/10] drm/panel: elida-kd35t133: " Yuan Can
@ 2022-09-24  1:56 ` Yuan Can
  2022-09-24  1:56 ` [PATCH 05/10] drm/panel: leadtek-ltk500hd1829: " Yuan Can
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: Yuan Can @ 2022-09-24  1:56 UTC (permalink / raw)
  To: thierry.reding, sam, airlied, daniel, laurent.pinchart, dianders,
	hanxu5, dri-devel

In the probe path, dev_err() can be replaced with dev_err_probe()
which will check if error code is -EPROBE_DEFER and prints the
error name. It also sets the defer probe reason which can be
checked later through debugfs.

Signed-off-by: Yuan Can <yuancan@huawei.com>
---
 .../gpu/drm/panel/panel-leadtek-ltk050h3146w.c | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c b/drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c
index 5619f186d28c..9b59edfbc98b 100644
--- a/drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c
+++ b/drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c
@@ -571,20 +571,14 @@ static int ltk050h3146w_probe(struct mipi_dsi_device *dsi)
 	}
 
 	ctx->vci = devm_regulator_get(dev, "vci");
-	if (IS_ERR(ctx->vci)) {
-		ret = PTR_ERR(ctx->vci);
-		if (ret != -EPROBE_DEFER)
-			dev_err(dev, "Failed to request vci regulator: %d\n", ret);
-		return ret;
-	}
+	if (IS_ERR(ctx->vci))
+		return dev_err_probe(dev, PTR_ERR(ctx->vci),
+				     "Failed to request vci regulator\n");
 
 	ctx->iovcc = devm_regulator_get(dev, "iovcc");
-	if (IS_ERR(ctx->iovcc)) {
-		ret = PTR_ERR(ctx->iovcc);
-		if (ret != -EPROBE_DEFER)
-			dev_err(dev, "Failed to request iovcc regulator: %d\n", ret);
-		return ret;
-	}
+	if (IS_ERR(ctx->iovcc))
+		return dev_err_probe(dev, PTR_ERR(ctx->iovcc),
+				     "Failed to request iovcc regulator\n");
 
 	mipi_dsi_set_drvdata(dsi, ctx);
 
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 05/10] drm/panel: leadtek-ltk500hd1829: Use dev_err_probe() to simplify code
  2022-09-24  1:56 [PATCH 00/10] drm/panel: Use dev_err_probe() to simplify code Yuan Can
                   ` (3 preceding siblings ...)
  2022-09-24  1:56 ` [PATCH 04/10] drm/panel: leadtek-ltk050h3146w: " Yuan Can
@ 2022-09-24  1:56 ` Yuan Can
  2022-09-24  1:56 ` [PATCH 06/10] drm/panel: lvds: " Yuan Can
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: Yuan Can @ 2022-09-24  1:56 UTC (permalink / raw)
  To: thierry.reding, sam, airlied, daniel, laurent.pinchart, dianders,
	hanxu5, dri-devel

In the probe path, dev_err() can be replaced with dev_err_probe()
which will check if error code is -EPROBE_DEFER and prints the
error name. It also sets the defer probe reason which can be
checked later through debugfs.

Signed-off-by: Yuan Can <yuancan@huawei.com>
---
 .../gpu/drm/panel/panel-leadtek-ltk500hd1829.c | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c b/drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c
index 39e408c9f762..d1303b368893 100644
--- a/drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c
+++ b/drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c
@@ -420,20 +420,14 @@ static int ltk500hd1829_probe(struct mipi_dsi_device *dsi)
 	}
 
 	ctx->vcc = devm_regulator_get(dev, "vcc");
-	if (IS_ERR(ctx->vcc)) {
-		ret = PTR_ERR(ctx->vcc);
-		if (ret != -EPROBE_DEFER)
-			dev_err(dev, "Failed to request vcc regulator: %d\n", ret);
-		return ret;
-	}
+	if (IS_ERR(ctx->vcc))
+		return dev_err_probe(dev, PTR_ERR(ctx->vcc),
+				     "Failed to request vcc regulator\n");
 
 	ctx->iovcc = devm_regulator_get(dev, "iovcc");
-	if (IS_ERR(ctx->iovcc)) {
-		ret = PTR_ERR(ctx->iovcc);
-		if (ret != -EPROBE_DEFER)
-			dev_err(dev, "Failed to request iovcc regulator: %d\n", ret);
-		return ret;
-	}
+	if (IS_ERR(ctx->iovcc))
+		return dev_err_probe(dev, PTR_ERR(ctx->iovcc),
+				     "Failed to request iovcc regulator\n");
 
 	mipi_dsi_set_drvdata(dsi, ctx);
 
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 06/10] drm/panel: lvds: Use dev_err_probe() to simplify code
  2022-09-24  1:56 [PATCH 00/10] drm/panel: Use dev_err_probe() to simplify code Yuan Can
                   ` (4 preceding siblings ...)
  2022-09-24  1:56 ` [PATCH 05/10] drm/panel: leadtek-ltk500hd1829: " Yuan Can
@ 2022-09-24  1:56 ` Yuan Can
  2022-09-24  1:56 ` [PATCH 07/10] drm/panel: otm8009a: " Yuan Can
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: Yuan Can @ 2022-09-24  1:56 UTC (permalink / raw)
  To: thierry.reding, sam, airlied, daniel, laurent.pinchart, dianders,
	hanxu5, dri-devel

In the probe path, dev_err() can be replaced with dev_err_probe()
which will check if error code is -EPROBE_DEFER and prints the
error name. It also sets the defer probe reason which can be
checked later through debugfs.

Signed-off-by: Yuan Can <yuancan@huawei.com>
---
 drivers/gpu/drm/panel/panel-lvds.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-lvds.c b/drivers/gpu/drm/panel/panel-lvds.c
index de8758c30e6e..e2ed96770abc 100644
--- a/drivers/gpu/drm/panel/panel-lvds.c
+++ b/drivers/gpu/drm/panel/panel-lvds.c
@@ -178,12 +178,9 @@ static int panel_lvds_probe(struct platform_device *pdev)
 	if (IS_ERR(lvds->supply)) {
 		ret = PTR_ERR(lvds->supply);
 
-		if (ret != -ENODEV) {
-			if (ret != -EPROBE_DEFER)
-				dev_err(lvds->dev, "failed to request regulator: %d\n",
-					ret);
-			return ret;
-		}
+		if (ret != -ENODEV)
+			return dev_err_probe(lvds->dev, ret,
+					     "failed to request regulator\n");
 
 		lvds->supply = NULL;
 	}
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 07/10] drm/panel: otm8009a: Use dev_err_probe() to simplify code
  2022-09-24  1:56 [PATCH 00/10] drm/panel: Use dev_err_probe() to simplify code Yuan Can
                   ` (5 preceding siblings ...)
  2022-09-24  1:56 ` [PATCH 06/10] drm/panel: lvds: " Yuan Can
@ 2022-09-24  1:56 ` Yuan Can
  2022-09-24  1:56 ` [PATCH 08/10] drm/panel: rm68200: " Yuan Can
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: Yuan Can @ 2022-09-24  1:56 UTC (permalink / raw)
  To: thierry.reding, sam, airlied, daniel, laurent.pinchart, dianders,
	hanxu5, dri-devel

In the probe path, dev_err() can be replaced with dev_err_probe()
which will check if error code is -EPROBE_DEFER and prints the
error name. It also sets the defer probe reason which can be
checked later through debugfs.

Signed-off-by: Yuan Can <yuancan@huawei.com>
---
 drivers/gpu/drm/panel/panel-orisetech-otm8009a.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c b/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c
index b4729a94c34a..b42f5368532b 100644
--- a/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c
+++ b/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c
@@ -451,12 +451,9 @@ static int otm8009a_probe(struct mipi_dsi_device *dsi)
 	}
 
 	ctx->supply = devm_regulator_get(dev, "power");
-	if (IS_ERR(ctx->supply)) {
-		ret = PTR_ERR(ctx->supply);
-		if (ret != -EPROBE_DEFER)
-			dev_err(dev, "failed to request regulator: %d\n", ret);
-		return ret;
-	}
+	if (IS_ERR(ctx->supply))
+		return dev_err_probe(dev, PTR_ERR(ctx->supply),
+				     "failed to request regulator\n");
 
 	mipi_dsi_set_drvdata(dsi, ctx);
 
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 08/10] drm/panel: rm68200: Use dev_err_probe() to simplify code
  2022-09-24  1:56 [PATCH 00/10] drm/panel: Use dev_err_probe() to simplify code Yuan Can
                   ` (6 preceding siblings ...)
  2022-09-24  1:56 ` [PATCH 07/10] drm/panel: otm8009a: " Yuan Can
@ 2022-09-24  1:56 ` Yuan Can
  2022-09-24  1:56 ` [PATCH 09/10] drm/panel: s6d16d0: " Yuan Can
  2022-09-24  1:56 ` [PATCH 10/10] drm/panel: simple: " Yuan Can
  9 siblings, 0 replies; 14+ messages in thread
From: Yuan Can @ 2022-09-24  1:56 UTC (permalink / raw)
  To: thierry.reding, sam, airlied, daniel, laurent.pinchart, dianders,
	hanxu5, dri-devel

In the probe path, dev_err() can be replaced with dev_err_probe()
which will check if error code is -EPROBE_DEFER and prints the
error name. It also sets the defer probe reason which can be
checked later through debugfs.

Signed-off-by: Yuan Can <yuancan@huawei.com>
---
 drivers/gpu/drm/panel/panel-raydium-rm68200.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-raydium-rm68200.c b/drivers/gpu/drm/panel/panel-raydium-rm68200.c
index 5f9b340588fb..20c9dc49e012 100644
--- a/drivers/gpu/drm/panel/panel-raydium-rm68200.c
+++ b/drivers/gpu/drm/panel/panel-raydium-rm68200.c
@@ -377,12 +377,9 @@ static int rm68200_probe(struct mipi_dsi_device *dsi)
 	}
 
 	ctx->supply = devm_regulator_get(dev, "power");
-	if (IS_ERR(ctx->supply)) {
-		ret = PTR_ERR(ctx->supply);
-		if (ret != -EPROBE_DEFER)
-			dev_err(dev, "cannot get regulator: %d\n", ret);
-		return ret;
-	}
+	if (IS_ERR(ctx->supply))
+		return dev_err_probe(dev, PTR_ERR(ctx->supply),
+				     "cannot get regulator\n");
 
 	mipi_dsi_set_drvdata(dsi, ctx);
 
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 09/10] drm/panel: s6d16d0: Use dev_err_probe() to simplify code
  2022-09-24  1:56 [PATCH 00/10] drm/panel: Use dev_err_probe() to simplify code Yuan Can
                   ` (7 preceding siblings ...)
  2022-09-24  1:56 ` [PATCH 08/10] drm/panel: rm68200: " Yuan Can
@ 2022-09-24  1:56 ` Yuan Can
  2022-09-24  1:56 ` [PATCH 10/10] drm/panel: simple: " Yuan Can
  9 siblings, 0 replies; 14+ messages in thread
From: Yuan Can @ 2022-09-24  1:56 UTC (permalink / raw)
  To: thierry.reding, sam, airlied, daniel, laurent.pinchart, dianders,
	hanxu5, dri-devel

In the probe path, dev_err() can be replaced with dev_err_probe()
which will check if error code is -EPROBE_DEFER and prints the
error name. It also sets the defer probe reason which can be
checked later through debugfs.

Signed-off-by: Yuan Can <yuancan@huawei.com>
---
 drivers/gpu/drm/panel/panel-samsung-s6d16d0.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-samsung-s6d16d0.c b/drivers/gpu/drm/panel/panel-samsung-s6d16d0.c
index 008e2b0d6652..2900b2c879dc 100644
--- a/drivers/gpu/drm/panel/panel-samsung-s6d16d0.c
+++ b/drivers/gpu/drm/panel/panel-samsung-s6d16d0.c
@@ -193,12 +193,9 @@ static int s6d16d0_probe(struct mipi_dsi_device *dsi)
 	/* This asserts RESET by default */
 	s6->reset_gpio = devm_gpiod_get_optional(dev, "reset",
 						 GPIOD_OUT_HIGH);
-	if (IS_ERR(s6->reset_gpio)) {
-		ret = PTR_ERR(s6->reset_gpio);
-		if (ret != -EPROBE_DEFER)
-			dev_err(dev, "failed to request GPIO (%d)\n", ret);
-		return ret;
-	}
+	if (IS_ERR(s6->reset_gpio))
+		return dev_err_probe(dev, PTR_ERR(s6->reset_gpio),
+				     "failed to request GPIO\n");
 
 	drm_panel_init(&s6->panel, dev, &s6d16d0_drm_funcs,
 		       DRM_MODE_CONNECTOR_DSI);
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 10/10] drm/panel: simple: Use dev_err_probe() to simplify code
  2022-09-24  1:56 [PATCH 00/10] drm/panel: Use dev_err_probe() to simplify code Yuan Can
                   ` (8 preceding siblings ...)
  2022-09-24  1:56 ` [PATCH 09/10] drm/panel: s6d16d0: " Yuan Can
@ 2022-09-24  1:56 ` Yuan Can
  2022-09-28 23:03   ` Doug Anderson
  9 siblings, 1 reply; 14+ messages in thread
From: Yuan Can @ 2022-09-24  1:56 UTC (permalink / raw)
  To: thierry.reding, sam, airlied, daniel, laurent.pinchart, dianders,
	hanxu5, dri-devel

In the probe path, dev_err() can be replaced with dev_err_probe()
which will check if error code is -EPROBE_DEFER and prints the
error name. It also sets the defer probe reason which can be
checked later through debugfs.

Signed-off-by: Yuan Can <yuancan@huawei.com>
---
 drivers/gpu/drm/panel/panel-simple.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 0cb3be26e2e6..1607824dc2b3 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -575,12 +575,9 @@ static int panel_simple_probe(struct device *dev, const struct panel_desc *desc)
 
 	panel->enable_gpio = devm_gpiod_get_optional(dev, "enable",
 						     GPIOD_OUT_LOW);
-	if (IS_ERR(panel->enable_gpio)) {
-		err = PTR_ERR(panel->enable_gpio);
-		if (err != -EPROBE_DEFER)
-			dev_err(dev, "failed to request GPIO: %d\n", err);
-		return err;
-	}
+	if (IS_ERR(panel->enable_gpio))
+		return dev_err_probe(dev, PTR_ERR(panel->enable_gpio),
+				     "failed to request GPIO\n");
 
 	err = of_drm_get_panel_orientation(dev->of_node, &panel->orientation);
 	if (err) {
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH 02/10] drm/panel: panel-edp: Use dev_err_probe() to simplify code
  2022-09-24  1:56 ` [PATCH 02/10] drm/panel: panel-edp: " Yuan Can
@ 2022-09-28 23:00   ` Doug Anderson
  0 siblings, 0 replies; 14+ messages in thread
From: Doug Anderson @ 2022-09-28 23:00 UTC (permalink / raw)
  To: Yuan Can
  Cc: David Airlie, Jerry Han, dri-devel, Thierry Reding,
	Laurent Pinchart, Sam Ravnborg

Hi,

On Fri, Sep 23, 2022 at 6:58 PM Yuan Can <yuancan@huawei.com> wrote:
>
> In the probe path, dev_err() can be replaced with dev_err_probe()
> which will check if error code is -EPROBE_DEFER and prints the
> error name. It also sets the defer probe reason which can be
> checked later through debugfs.
>
> Signed-off-by: Yuan Can <yuancan@huawei.com>
> ---
>  drivers/gpu/drm/panel/panel-edp.c | 13 +++----------
>  1 file changed, 3 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
> index c57e8f9e2d47..84557ec19a16 100644
> --- a/drivers/gpu/drm/panel/panel-edp.c
> +++ b/drivers/gpu/drm/panel/panel-edp.c
> @@ -403,17 +403,10 @@ static int panel_edp_unprepare(struct drm_panel *panel)
>
>  static int panel_edp_get_hpd_gpio(struct device *dev, struct panel_edp *p)
>  {
> -       int err;
> -
>         p->hpd_gpio = devm_gpiod_get_optional(dev, "hpd", GPIOD_IN);
> -       if (IS_ERR(p->hpd_gpio)) {
> -               err = PTR_ERR(p->hpd_gpio);
> -
> -               if (err != -EPROBE_DEFER)
> -                       dev_err(dev, "failed to get 'hpd' GPIO: %d\n", err);
> -
> -               return err;
> -       }
> +       if (IS_ERR(p->hpd_gpio))
> +               return dev_err_probe(dev, PTR_ERR(p->hpd_gpio),
> +                                    "failed to get 'hpd' GPIO\n");

This is a fine improvement but I'm a bit curious why you only fixed
one of the two cases? You could do the same thing for the "enable"
GPIO in panel_edp_probe().

-Doug

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 10/10] drm/panel: simple: Use dev_err_probe() to simplify code
  2022-09-24  1:56 ` [PATCH 10/10] drm/panel: simple: " Yuan Can
@ 2022-09-28 23:03   ` Doug Anderson
  2022-09-29  1:26     ` Yuan Can
  0 siblings, 1 reply; 14+ messages in thread
From: Doug Anderson @ 2022-09-28 23:03 UTC (permalink / raw)
  To: Yuan Can
  Cc: David Airlie, Jerry Han, dri-devel, Thierry Reding,
	Laurent Pinchart, Sam Ravnborg

Hi,

On Fri, Sep 23, 2022 at 6:59 PM Yuan Can <yuancan@huawei.com> wrote:
>
> In the probe path, dev_err() can be replaced with dev_err_probe()
> which will check if error code is -EPROBE_DEFER and prints the
> error name. It also sets the defer probe reason which can be
> checked later through debugfs.
>
> Signed-off-by: Yuan Can <yuancan@huawei.com>
> ---
>  drivers/gpu/drm/panel/panel-simple.c | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index 0cb3be26e2e6..1607824dc2b3 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -575,12 +575,9 @@ static int panel_simple_probe(struct device *dev, const struct panel_desc *desc)
>
>         panel->enable_gpio = devm_gpiod_get_optional(dev, "enable",
>                                                      GPIOD_OUT_LOW);
> -       if (IS_ERR(panel->enable_gpio)) {
> -               err = PTR_ERR(panel->enable_gpio);
> -               if (err != -EPROBE_DEFER)
> -                       dev_err(dev, "failed to request GPIO: %d\n", err);
> -               return err;
> -       }
> +       if (IS_ERR(panel->enable_gpio))
> +               return dev_err_probe(dev, PTR_ERR(panel->enable_gpio),
> +                                    "failed to request GPIO\n");

Reviewed-by: Douglas Anderson <dianders@chromium.org>

I'd be happy to land this patch and the panel-edp one into drm-misc
just because I've touched those panel drivers in the past. I'd tend to
leave the other panel drivers to others unless you really get stuck.

For now I'll sit tight because I think you can make a 2nd fix to the
panel-edp one and put them into the same patch.

-Doug

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 10/10] drm/panel: simple: Use dev_err_probe() to simplify code
  2022-09-28 23:03   ` Doug Anderson
@ 2022-09-29  1:26     ` Yuan Can
  0 siblings, 0 replies; 14+ messages in thread
From: Yuan Can @ 2022-09-29  1:26 UTC (permalink / raw)
  To: Doug Anderson
  Cc: David Airlie, Jerry Han, dri-devel, Thierry Reding,
	Laurent Pinchart, Sam Ravnborg


在 2022/9/29 7:03, Doug Anderson 写道:
> Hi,
>
> On Fri, Sep 23, 2022 at 6:59 PM Yuan Can <yuancan@huawei.com> wrote:
>> In the probe path, dev_err() can be replaced with dev_err_probe()
>> which will check if error code is -EPROBE_DEFER and prints the
>> error name. It also sets the defer probe reason which can be
>> checked later through debugfs.
>>
>> Signed-off-by: Yuan Can <yuancan@huawei.com>
>> ---
>>   drivers/gpu/drm/panel/panel-simple.c | 9 +++------
>>   1 file changed, 3 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
>> index 0cb3be26e2e6..1607824dc2b3 100644
>> --- a/drivers/gpu/drm/panel/panel-simple.c
>> +++ b/drivers/gpu/drm/panel/panel-simple.c
>> @@ -575,12 +575,9 @@ static int panel_simple_probe(struct device *dev, const struct panel_desc *desc)
>>
>>          panel->enable_gpio = devm_gpiod_get_optional(dev, "enable",
>>                                                       GPIOD_OUT_LOW);
>> -       if (IS_ERR(panel->enable_gpio)) {
>> -               err = PTR_ERR(panel->enable_gpio);
>> -               if (err != -EPROBE_DEFER)
>> -                       dev_err(dev, "failed to request GPIO: %d\n", err);
>> -               return err;
>> -       }
>> +       if (IS_ERR(panel->enable_gpio))
>> +               return dev_err_probe(dev, PTR_ERR(panel->enable_gpio),
>> +                                    "failed to request GPIO\n");
> Reviewed-by: Douglas Anderson <dianders@chromium.org>
>
> I'd be happy to land this patch and the panel-edp one into drm-misc
> just because I've touched those panel drivers in the past. I'd tend to
> leave the other panel drivers to others unless you really get stuck.
>
> For now I'll sit tight because I think you can make a 2nd fix to the
> panel-edp one and put them into the same patch.

Thanks for the notice, I will fix the case in panel_edp_probe in the v2 
patch and

send it ASAP.

-- 
Best regards,
Yuan Can


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2022-09-29  1:26 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-24  1:56 [PATCH 00/10] drm/panel: Use dev_err_probe() to simplify code Yuan Can
2022-09-24  1:56 ` [PATCH 01/10] drm/panel: himax8279d: " Yuan Can
2022-09-24  1:56 ` [PATCH 02/10] drm/panel: panel-edp: " Yuan Can
2022-09-28 23:00   ` Doug Anderson
2022-09-24  1:56 ` [PATCH 03/10] drm/panel: elida-kd35t133: " Yuan Can
2022-09-24  1:56 ` [PATCH 04/10] drm/panel: leadtek-ltk050h3146w: " Yuan Can
2022-09-24  1:56 ` [PATCH 05/10] drm/panel: leadtek-ltk500hd1829: " Yuan Can
2022-09-24  1:56 ` [PATCH 06/10] drm/panel: lvds: " Yuan Can
2022-09-24  1:56 ` [PATCH 07/10] drm/panel: otm8009a: " Yuan Can
2022-09-24  1:56 ` [PATCH 08/10] drm/panel: rm68200: " Yuan Can
2022-09-24  1:56 ` [PATCH 09/10] drm/panel: s6d16d0: " Yuan Can
2022-09-24  1:56 ` [PATCH 10/10] drm/panel: simple: " Yuan Can
2022-09-28 23:03   ` Doug Anderson
2022-09-29  1:26     ` Yuan Can

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).