diff options
author | Baolin Wang <baolin.wang@linaro.org> | 2018-06-22 04:09:05 -0400 |
---|---|---|
committer | Bjorn Andersson <bjorn.andersson@linaro.org> | 2018-06-26 16:52:27 -0400 |
commit | c8d049896729423a979d2838175d251b9cfee3b5 (patch) | |
tree | ba7f96b4ce53ef5e87cad73ff10e29e291e0820f /drivers/spi/spi-sprd-adi.c | |
parent | d4942c119c978f1c6649212d2e42696bef43dd27 (diff) |
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: Mark Brown <broonie@kernel.org>
Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Diffstat (limited to 'drivers/spi/spi-sprd-adi.c')
-rw-r--r-- | drivers/spi/spi-sprd-adi.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/spi/spi-sprd-adi.c b/drivers/spi/spi-sprd-adi.c index 2d4c0419e208..df5960bddfe6 100644 --- a/drivers/spi/spi-sprd-adi.c +++ b/drivers/spi/spi-sprd-adi.c | |||
@@ -465,7 +465,7 @@ static int sprd_adi_probe(struct platform_device *pdev) | |||
465 | goto put_ctlr; | 465 | goto put_ctlr; |
466 | } | 466 | } |
467 | 467 | ||
468 | sadi->hwlock = hwspin_lock_request_specific(ret); | 468 | sadi->hwlock = devm_hwspin_lock_request_specific(&pdev->dev, ret); |
469 | if (!sadi->hwlock) { | 469 | if (!sadi->hwlock) { |
470 | ret = -ENXIO; | 470 | ret = -ENXIO; |
471 | goto put_ctlr; | 471 | goto put_ctlr; |
@@ -483,7 +483,7 @@ static int sprd_adi_probe(struct platform_device *pdev) | |||
483 | ret = devm_spi_register_controller(&pdev->dev, ctlr); | 483 | ret = devm_spi_register_controller(&pdev->dev, ctlr); |
484 | if (ret) { | 484 | if (ret) { |
485 | dev_err(&pdev->dev, "failed to register SPI controller\n"); | 485 | dev_err(&pdev->dev, "failed to register SPI controller\n"); |
486 | goto free_hwlock; | 486 | goto put_ctlr; |
487 | } | 487 | } |
488 | 488 | ||
489 | sadi->restart_handler.notifier_call = sprd_adi_restart_handler; | 489 | sadi->restart_handler.notifier_call = sprd_adi_restart_handler; |
@@ -491,13 +491,11 @@ static int sprd_adi_probe(struct platform_device *pdev) | |||
491 | ret = register_restart_handler(&sadi->restart_handler); | 491 | ret = register_restart_handler(&sadi->restart_handler); |
492 | if (ret) { | 492 | if (ret) { |
493 | dev_err(&pdev->dev, "can not register restart handler\n"); | 493 | dev_err(&pdev->dev, "can not register restart handler\n"); |
494 | goto free_hwlock; | 494 | goto put_ctlr; |
495 | } | 495 | } |
496 | 496 | ||
497 | return 0; | 497 | return 0; |
498 | 498 | ||
499 | free_hwlock: | ||
500 | hwspin_lock_free(sadi->hwlock); | ||
501 | put_ctlr: | 499 | put_ctlr: |
502 | spi_controller_put(ctlr); | 500 | spi_controller_put(ctlr); |
503 | return ret; | 501 | return ret; |
@@ -509,7 +507,6 @@ static int sprd_adi_remove(struct platform_device *pdev) | |||
509 | struct sprd_adi *sadi = spi_controller_get_devdata(ctlr); | 507 | struct sprd_adi *sadi = spi_controller_get_devdata(ctlr); |
510 | 508 | ||
511 | unregister_restart_handler(&sadi->restart_handler); | 509 | unregister_restart_handler(&sadi->restart_handler); |
512 | hwspin_lock_free(sadi->hwlock); | ||
513 | return 0; | 510 | return 0; |
514 | } | 511 | } |
515 | 512 | ||