diff mbox series

[02/10] drm/panel: panel-edp: Use dev_err_probe() to simplify code

Message ID 20220924015616.34293-3-yuancan@huawei.com (mailing list archive)
State New, archived
Headers show
Series drm/panel: Use dev_err_probe() to simplify code | expand

Commit Message

Yuan Can Sept. 24, 2022, 1:56 a.m. UTC
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(-)

Comments

Doug Anderson Sept. 28, 2022, 11 p.m. UTC | #1
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
diff mbox series

Patch

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;
 }