i2c: designware: make use of devm_gpiod_get_optional
authorUwe Kleine-König <uwe@kleine-koenig.org>
Thu, 25 Jul 2019 20:21:36 +0000 (22:21 +0200)
committerWolfram Sang <wsa@the-dreams.de>
Thu, 1 Aug 2019 12:58:31 +0000 (14:58 +0200)
There is a semantical change: if devm_gpiod_get_optional returns -ENOSYS
this is passed as error to the caller. This effectively reverts commit
d1fa74520dcd ("i2c: designware: Consider SCL GPIO optional") which
shouldn't be necessary any more since gpiod_get_optional doesn't return
-ENOSYS any more with GPIOLIB=n.

Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-designware-master.c

index d464799..867787d 100644 (file)
@@ -657,13 +657,10 @@ static int i2c_dw_init_recovery_info(struct dw_i2c_dev *dev)
        struct gpio_desc *gpio;
        int r;
 
-       gpio = devm_gpiod_get(dev->dev, "scl", GPIOD_OUT_HIGH);
-       if (IS_ERR(gpio)) {
-               r = PTR_ERR(gpio);
-               if (r == -ENOENT || r == -ENOSYS)
-                       return 0;
-               return r;
-       }
+       gpio = devm_gpiod_get_optional(dev->dev, "scl", GPIOD_OUT_HIGH);
+       if (IS_ERR_OR_NULL(gpio))
+               return PTR_ERR_OR_ZERO(gpio);
+
        rinfo->scl_gpiod = gpio;
 
        gpio = devm_gpiod_get_optional(dev->dev, "sda", GPIOD_IN);