Commit 5088b313 authored by AngeloGioacchino Del Regno's avatar AngeloGioacchino Del Regno Committed by Mark Brown

spi: mt65xx: Move pm_runtime_enable() call to remove all gotos

The last goto in the probe function can be removed by calling
pm_runtime_enable() right before devm_spi_register_master(), as
only some init checks were being performed after enabling pm.
This is a cleanup and brings no functional changes.
Signed-off-by: default avatarAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20220407114428.167091-6-angelogioacchino.delregno@collabora.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 5dee8bb8
...@@ -1224,22 +1224,18 @@ static int mtk_spi_probe(struct platform_device *pdev) ...@@ -1224,22 +1224,18 @@ static int mtk_spi_probe(struct platform_device *pdev)
clk_disable_unprepare(mdata->spi_hclk); clk_disable_unprepare(mdata->spi_hclk);
} }
pm_runtime_enable(dev);
if (mdata->dev_comp->need_pad_sel) { if (mdata->dev_comp->need_pad_sel) {
if (mdata->pad_num != master->num_chipselect) { if (mdata->pad_num != master->num_chipselect) {
dev_err(dev, dev_err(dev,
"pad_num does not match num_chipselect(%d != %d)\n", "pad_num does not match num_chipselect(%d != %d)\n",
mdata->pad_num, master->num_chipselect); mdata->pad_num, master->num_chipselect);
ret = -EINVAL; return -EINVAL;
goto err_disable_runtime_pm;
} }
if (!master->cs_gpiods && master->num_chipselect > 1) { if (!master->cs_gpiods && master->num_chipselect > 1) {
dev_err(dev, dev_err(dev,
"cs_gpios not specified and num_chipselect > 1\n"); "cs_gpios not specified and num_chipselect > 1\n");
ret = -EINVAL; return -EINVAL;
goto err_disable_runtime_pm;
} }
} }
...@@ -1252,18 +1248,16 @@ static int mtk_spi_probe(struct platform_device *pdev) ...@@ -1252,18 +1248,16 @@ static int mtk_spi_probe(struct platform_device *pdev)
dev_notice(dev, "SPI dma_set_mask(%d) failed, ret:%d\n", dev_notice(dev, "SPI dma_set_mask(%d) failed, ret:%d\n",
addr_bits, ret); addr_bits, ret);
pm_runtime_enable(dev);
ret = devm_spi_register_master(dev, master); ret = devm_spi_register_master(dev, master);
if (ret) { if (ret) {
pm_runtime_disable(dev);
dev_err(dev, "failed to register master (%d)\n", ret); dev_err(dev, "failed to register master (%d)\n", ret);
goto err_disable_runtime_pm; return ret;
} }
return 0; return 0;
err_disable_runtime_pm:
pm_runtime_disable(dev);
return ret;
} }
static int mtk_spi_remove(struct platform_device *pdev) static int mtk_spi_remove(struct platform_device *pdev)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment