iio: adc: rockchip_saradc: replace custom logic with devm_reset_control_get_optional_...
authorQuentin Schulz <quentin.schulz@theobroma-systems.com>
Fri, 23 Feb 2024 12:45:23 +0000 (13:45 +0100)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Wed, 28 Feb 2024 19:26:37 +0000 (19:26 +0000)
devm_reset_control_get_optional_exclusive does what this driver is
trying to do in its probe function, therefore let's switch over to that
subsystem function.

Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://lore.kernel.org/r/20240223-saradcv2-chan-mask-v1-3-84b06a0f623a@theobroma-systems.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/rockchip_saradc.c

index 1c0042fbbb5481aa651dd6bb1a4b822ed7949ec8..bbe954a738c7db13a8bfe5a881f91775a66a4766 100644 (file)
@@ -450,16 +450,11 @@ static int rockchip_saradc_probe(struct platform_device *pdev)
         * The reset should be an optional property, as it should work
         * with old devicetrees as well
         */
-       info->reset = devm_reset_control_get_exclusive(&pdev->dev,
-                                                      "saradc-apb");
+       info->reset = devm_reset_control_get_optional_exclusive(&pdev->dev,
+                                                               "saradc-apb");
        if (IS_ERR(info->reset)) {
                ret = PTR_ERR(info->reset);
-               if (ret != -ENOENT)
-                       return dev_err_probe(&pdev->dev, ret,
-                                            "failed to get saradc-apb\n");
-
-               dev_dbg(&pdev->dev, "no reset control found\n");
-               info->reset = NULL;
+               return dev_err_probe(&pdev->dev, ret, "failed to get saradc-apb\n");
        }
 
        init_completion(&info->completion);