summaryrefslogtreecommitdiffstats
path: root/drivers/spi/spi-fsl-dspi.c
diff options
context:
space:
mode:
authorFabio Estevam <fabio.estevam@nxp.com>2016-08-21 22:05:30 -0400
committerMark Brown <broonie@kernel.org>2016-08-22 12:32:42 -0400
commit1c5ea2b4de22434b9da9c33640f47458ba093dea (patch)
treeb830fdc189126a2c2601ddfebdbdec901c66475f /drivers/spi/spi-fsl-dspi.c
parent53d89160753c7d32bb82d3bed980fd3dc3f2538a (diff)
spi: spi-fsl-dspi: Check clk_prepare_enable() error
clk_prepare_enable() may fail, so we should better check its return value and propagate it in the case of failure. Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/spi/spi-fsl-dspi.c')
-rw-r--r--drivers/spi/spi-fsl-dspi.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/spi/spi-fsl-dspi.c b/drivers/spi/spi-fsl-dspi.c
index d57baf6c2d1e..95d8b929cd52 100644
--- a/drivers/spi/spi-fsl-dspi.c
+++ b/drivers/spi/spi-fsl-dspi.c
@@ -624,10 +624,13 @@ static int dspi_resume(struct device *dev)
624{ 624{
625 struct spi_master *master = dev_get_drvdata(dev); 625 struct spi_master *master = dev_get_drvdata(dev);
626 struct fsl_dspi *dspi = spi_master_get_devdata(master); 626 struct fsl_dspi *dspi = spi_master_get_devdata(master);
627 int ret;
627 628
628 pinctrl_pm_select_default_state(dev); 629 pinctrl_pm_select_default_state(dev);
629 630
630 clk_prepare_enable(dspi->clk); 631 ret = clk_prepare_enable(dspi->clk);
632 if (ret)
633 return ret;
631 spi_master_resume(master); 634 spi_master_resume(master);
632 635
633 return 0; 636 return 0;
@@ -726,7 +729,9 @@ static int dspi_probe(struct platform_device *pdev)
726 dev_err(&pdev->dev, "unable to get clock\n"); 729 dev_err(&pdev->dev, "unable to get clock\n");
727 goto out_master_put; 730 goto out_master_put;
728 } 731 }
729 clk_prepare_enable(dspi->clk); 732 ret = clk_prepare_enable(dspi->clk);
733 if (ret)
734 goto out_master_put;
730 735
731 master->max_speed_hz = 736 master->max_speed_hz =
732 clk_get_rate(dspi->clk) / dspi->devtype_data->max_clock_factor; 737 clk_get_rate(dspi->clk) / dspi->devtype_data->max_clock_factor;