Use the new devm_gpiod_get_optional() to simplify the probe code.

Signed-off-by: Alexandre Courbot <acourbot at nvidia.com>
---
 drivers/gpu/drm/panel/panel-simple.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-simple.c 
b/drivers/gpu/drm/panel/panel-simple.c
index a251361..91bf566 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -185,16 +185,14 @@ static int panel_simple_probe(struct device *dev, const 
struct panel_desc *desc)
        if (IS_ERR(panel->supply))
                return PTR_ERR(panel->supply);

-       panel->enable_gpio = devm_gpiod_get(dev, "enable");
+       panel->enable_gpio = devm_gpiod_get_optional(dev, "enable");
        if (IS_ERR(panel->enable_gpio)) {
                err = PTR_ERR(panel->enable_gpio);
-               if (err != -ENOENT) {
-                       dev_err(dev, "failed to request GPIO: %d\n", err);
-                       return err;
-               }
+               dev_err(dev, "failed to request GPIO: %d\n", err);
+               return err;
+       }

-               panel->enable_gpio = NULL;
-       } else {
+       if (panel->enable_gpio) {
                err = gpiod_direction_output(panel->enable_gpio, 0);
                if (err < 0) {
                        dev_err(dev, "failed to setup GPIO: %d\n", err);
-- 
2.0.2

Reply via email to