diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/spi/spi-ep93xx.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/spi/spi-ep93xx.c b/drivers/spi/spi-ep93xx.c index 8d562526abe5..cc2a2405bd1d 100644 --- a/drivers/spi/spi-ep93xx.c +++ b/drivers/spi/spi-ep93xx.c | |||
@@ -1016,7 +1016,7 @@ static int ep93xx_spi_probe(struct platform_device *pdev) | |||
1016 | 1016 | ||
1017 | espi = spi_master_get_devdata(master); | 1017 | espi = spi_master_get_devdata(master); |
1018 | 1018 | ||
1019 | espi->clk = clk_get(&pdev->dev, NULL); | 1019 | espi->clk = devm_clk_get(&pdev->dev, NULL); |
1020 | if (IS_ERR(espi->clk)) { | 1020 | if (IS_ERR(espi->clk)) { |
1021 | dev_err(&pdev->dev, "unable to get spi clock\n"); | 1021 | dev_err(&pdev->dev, "unable to get spi clock\n"); |
1022 | error = PTR_ERR(espi->clk); | 1022 | error = PTR_ERR(espi->clk); |
@@ -1039,14 +1039,14 @@ static int ep93xx_spi_probe(struct platform_device *pdev) | |||
1039 | espi->regs_base = devm_ioremap_resource(&pdev->dev, res); | 1039 | espi->regs_base = devm_ioremap_resource(&pdev->dev, res); |
1040 | if (IS_ERR(espi->regs_base)) { | 1040 | if (IS_ERR(espi->regs_base)) { |
1041 | error = PTR_ERR(espi->regs_base); | 1041 | error = PTR_ERR(espi->regs_base); |
1042 | goto fail_put_clock; | 1042 | goto fail_release_master; |
1043 | } | 1043 | } |
1044 | 1044 | ||
1045 | error = devm_request_irq(&pdev->dev, irq, ep93xx_spi_interrupt, | 1045 | error = devm_request_irq(&pdev->dev, irq, ep93xx_spi_interrupt, |
1046 | 0, "ep93xx-spi", espi); | 1046 | 0, "ep93xx-spi", espi); |
1047 | if (error) { | 1047 | if (error) { |
1048 | dev_err(&pdev->dev, "failed to request irq\n"); | 1048 | dev_err(&pdev->dev, "failed to request irq\n"); |
1049 | goto fail_put_clock; | 1049 | goto fail_release_master; |
1050 | } | 1050 | } |
1051 | 1051 | ||
1052 | if (info->use_dma && ep93xx_spi_setup_dma(espi)) | 1052 | if (info->use_dma && ep93xx_spi_setup_dma(espi)) |
@@ -1080,8 +1080,6 @@ fail_free_queue: | |||
1080 | destroy_workqueue(espi->wq); | 1080 | destroy_workqueue(espi->wq); |
1081 | fail_free_dma: | 1081 | fail_free_dma: |
1082 | ep93xx_spi_release_dma(espi); | 1082 | ep93xx_spi_release_dma(espi); |
1083 | fail_put_clock: | ||
1084 | clk_put(espi->clk); | ||
1085 | fail_release_master: | 1083 | fail_release_master: |
1086 | spi_master_put(master); | 1084 | spi_master_put(master); |
1087 | 1085 | ||
@@ -1117,7 +1115,6 @@ static int ep93xx_spi_remove(struct platform_device *pdev) | |||
1117 | spin_unlock_irq(&espi->lock); | 1115 | spin_unlock_irq(&espi->lock); |
1118 | 1116 | ||
1119 | ep93xx_spi_release_dma(espi); | 1117 | ep93xx_spi_release_dma(espi); |
1120 | clk_put(espi->clk); | ||
1121 | 1118 | ||
1122 | spi_unregister_master(master); | 1119 | spi_unregister_master(master); |
1123 | return 0; | 1120 | return 0; |