Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c8d04989 authored by Baolin Wang's avatar Baolin Wang Committed by Bjorn Andersson
Browse files

spi: sprd: Change to use devm_hwspin_lock_request_specific()



Change to use devm_hwspin_lock_request_specific() instead of
freeing the hwlock explicitly when unbound the device.

Acked-by: default avatarMark Brown <broonie@kernel.org>
Signed-off-by: default avatarBaolin Wang <baolin.wang@linaro.org>
Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
parent d4942c11
Loading
Loading
Loading
Loading
+3 −6
Original line number Original line Diff line number Diff line
@@ -465,7 +465,7 @@ static int sprd_adi_probe(struct platform_device *pdev)
		goto put_ctlr;
		goto put_ctlr;
	}
	}


	sadi->hwlock = hwspin_lock_request_specific(ret);
	sadi->hwlock = devm_hwspin_lock_request_specific(&pdev->dev, ret);
	if (!sadi->hwlock) {
	if (!sadi->hwlock) {
		ret = -ENXIO;
		ret = -ENXIO;
		goto put_ctlr;
		goto put_ctlr;
@@ -483,7 +483,7 @@ static int sprd_adi_probe(struct platform_device *pdev)
	ret = devm_spi_register_controller(&pdev->dev, ctlr);
	ret = devm_spi_register_controller(&pdev->dev, ctlr);
	if (ret) {
	if (ret) {
		dev_err(&pdev->dev, "failed to register SPI controller\n");
		dev_err(&pdev->dev, "failed to register SPI controller\n");
		goto free_hwlock;
		goto put_ctlr;
	}
	}


	sadi->restart_handler.notifier_call = sprd_adi_restart_handler;
	sadi->restart_handler.notifier_call = sprd_adi_restart_handler;
@@ -491,13 +491,11 @@ static int sprd_adi_probe(struct platform_device *pdev)
	ret = register_restart_handler(&sadi->restart_handler);
	ret = register_restart_handler(&sadi->restart_handler);
	if (ret) {
	if (ret) {
		dev_err(&pdev->dev, "can not register restart handler\n");
		dev_err(&pdev->dev, "can not register restart handler\n");
		goto free_hwlock;
		goto put_ctlr;
	}
	}


	return 0;
	return 0;


free_hwlock:
	hwspin_lock_free(sadi->hwlock);
put_ctlr:
put_ctlr:
	spi_controller_put(ctlr);
	spi_controller_put(ctlr);
	return ret;
	return ret;
@@ -509,7 +507,6 @@ static int sprd_adi_remove(struct platform_device *pdev)
	struct sprd_adi *sadi = spi_controller_get_devdata(ctlr);
	struct sprd_adi *sadi = spi_controller_get_devdata(ctlr);


	unregister_restart_handler(&sadi->restart_handler);
	unregister_restart_handler(&sadi->restart_handler);
	hwspin_lock_free(sadi->hwlock);
	return 0;
	return 0;
}
}