]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
i2c: designware: Fix optional reset error handling
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 19 Aug 2019 10:31:30 +0000 (13:31 +0300)
committerWolfram Sang <wsa@the-dreams.de>
Thu, 29 Aug 2019 20:10:06 +0000 (22:10 +0200)
The commit bb475230b8e5 ("reset: make optional functions really optional")
brought a missed part of the support for an optional reset handlers.

Since that we don't need to have special error handling in the driver.

Signed-off-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-platdrv.c

index 4624ef8fbae831e832055d54671948f4277c3432..16dd338877d057c54bbdf919461777a676b73bb9 100644 (file)
@@ -279,12 +279,10 @@ static int dw_i2c_plat_probe(struct platform_device *pdev)
        platform_set_drvdata(pdev, dev);
 
        dev->rst = devm_reset_control_get_optional_exclusive(&pdev->dev, NULL);
-       if (IS_ERR(dev->rst)) {
-               if (PTR_ERR(dev->rst) == -EPROBE_DEFER)
-                       return -EPROBE_DEFER;
-       } else {
-               reset_control_deassert(dev->rst);
-       }
+       if (IS_ERR(dev->rst))
+               return PTR_ERR(dev->rst);
+
+       reset_control_deassert(dev->rst);
 
        t = &dev->timings;
        if (pdata)
@@ -402,8 +400,7 @@ static int dw_i2c_plat_probe(struct platform_device *pdev)
 exit_probe:
        dw_i2c_plat_pm_cleanup(dev);
 exit_reset:
-       if (!IS_ERR_OR_NULL(dev->rst))
-               reset_control_assert(dev->rst);
+       reset_control_assert(dev->rst);
        return ret;
 }
 
@@ -421,8 +418,7 @@ static int dw_i2c_plat_remove(struct platform_device *pdev)
        pm_runtime_put_sync(&pdev->dev);
        dw_i2c_plat_pm_cleanup(dev);
 
-       if (!IS_ERR_OR_NULL(dev->rst))
-               reset_control_assert(dev->rst);
+       reset_control_assert(dev->rst);
 
        return 0;
 }