iio: adc: sc27xx: Use devm_hwspin_lock_request_specific() to simplify code
authorBaolin Wang <baolin.wang@linaro.org>
Fri, 27 Sep 2019 02:41:19 +0000 (10:41 +0800)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 13 Oct 2019 07:53:34 +0000 (08:53 +0100)
Change to use devm_hwspin_lock_request_specific() to help to simplify the
cleanup code for drivers requesting one hwlock.

Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/sc27xx_adc.c

index a6c0465..66b387f 100644 (file)
@@ -477,13 +477,6 @@ static void sc27xx_adc_disable(void *_data)
                           SC27XX_MODULE_ADC_EN, 0);
 }
 
-static void sc27xx_adc_free_hwlock(void *_data)
-{
-       struct hwspinlock *hwlock = _data;
-
-       hwspin_lock_free(hwlock);
-}
-
 static int sc27xx_adc_probe(struct platform_device *pdev)
 {
        struct device *dev = &pdev->dev;
@@ -520,19 +513,12 @@ static int sc27xx_adc_probe(struct platform_device *pdev)
                return ret;
        }
 
-       sc27xx_data->hwlock = hwspin_lock_request_specific(ret);
+       sc27xx_data->hwlock = devm_hwspin_lock_request_specific(dev, ret);
        if (!sc27xx_data->hwlock) {
                dev_err(dev, "failed to request hwspinlock\n");
                return -ENXIO;
        }
 
-       ret = devm_add_action_or_reset(dev, sc27xx_adc_free_hwlock,
-                             sc27xx_data->hwlock);
-       if (ret) {
-               dev_err(dev, "failed to add hwspinlock action\n");
-               return ret;
-       }
-
        sc27xx_data->dev = dev;
 
        ret = sc27xx_adc_enable(sc27xx_data);