Commit 420119fc authored by Baolin Wang's avatar Baolin Wang Committed by Jonathan Cameron
Browse files

iio: adc: sc27xx: Use devm_hwspin_lock_request_specific() to simplify code



Change to use devm_hwspin_lock_request_specific() to help to simplify the
cleanup code for drivers requesting one hwlock.

Signed-off-by: default avatarBaolin Wang <baolin.wang@linaro.org>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent 0c8a6e72
Loading
Loading
Loading
Loading
+1 −15
Original line number Diff line number Diff line
@@ -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);