mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-12 13:34:10 +08:00
spi: npcm-fiu: Use helper function devm_clk_get_enabled()
Since commit 7ef9651e97
("clk: Provide new devm_clk helpers for prepared
and enabled clocks"), devm_clk_get() and clk_prepare_enable() can now be
replaced by devm_clk_get_enabled() when driver enables (and possibly
prepares) the clocks for the whole lifetime of the device. Moreover, it is
no longer necessary to unprepare and disable the clocks explicitly.
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Li Zetao <lizetao1@huawei.com>
Link: https://lore.kernel.org/r/20230823133938.1359106-21-lizetao1@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
a06b6935f1
commit
82c4fadb0b
@ -699,7 +699,7 @@ static int npcm_fiu_probe(struct platform_device *pdev)
|
|||||||
struct spi_controller *ctrl;
|
struct spi_controller *ctrl;
|
||||||
struct npcm_fiu_spi *fiu;
|
struct npcm_fiu_spi *fiu;
|
||||||
void __iomem *regbase;
|
void __iomem *regbase;
|
||||||
int id, ret;
|
int id;
|
||||||
|
|
||||||
ctrl = devm_spi_alloc_host(dev, sizeof(*fiu));
|
ctrl = devm_spi_alloc_host(dev, sizeof(*fiu));
|
||||||
if (!ctrl)
|
if (!ctrl)
|
||||||
@ -737,7 +737,7 @@ static int npcm_fiu_probe(struct platform_device *pdev)
|
|||||||
|
|
||||||
fiu->res_mem = platform_get_resource_byname(pdev, IORESOURCE_MEM,
|
fiu->res_mem = platform_get_resource_byname(pdev, IORESOURCE_MEM,
|
||||||
"memory");
|
"memory");
|
||||||
fiu->clk = devm_clk_get(dev, NULL);
|
fiu->clk = devm_clk_get_enabled(dev, NULL);
|
||||||
if (IS_ERR(fiu->clk))
|
if (IS_ERR(fiu->clk))
|
||||||
return PTR_ERR(fiu->clk);
|
return PTR_ERR(fiu->clk);
|
||||||
|
|
||||||
@ -745,7 +745,6 @@ static int npcm_fiu_probe(struct platform_device *pdev)
|
|||||||
"nuvoton,spix-mode");
|
"nuvoton,spix-mode");
|
||||||
|
|
||||||
platform_set_drvdata(pdev, fiu);
|
platform_set_drvdata(pdev, fiu);
|
||||||
clk_prepare_enable(fiu->clk);
|
|
||||||
|
|
||||||
ctrl->mode_bits = SPI_RX_DUAL | SPI_RX_QUAD
|
ctrl->mode_bits = SPI_RX_DUAL | SPI_RX_QUAD
|
||||||
| SPI_TX_DUAL | SPI_TX_QUAD;
|
| SPI_TX_DUAL | SPI_TX_QUAD;
|
||||||
@ -755,18 +754,11 @@ static int npcm_fiu_probe(struct platform_device *pdev)
|
|||||||
ctrl->num_chipselect = fiu->info->max_cs;
|
ctrl->num_chipselect = fiu->info->max_cs;
|
||||||
ctrl->dev.of_node = dev->of_node;
|
ctrl->dev.of_node = dev->of_node;
|
||||||
|
|
||||||
ret = devm_spi_register_controller(dev, ctrl);
|
return devm_spi_register_controller(dev, ctrl);
|
||||||
if (ret)
|
|
||||||
clk_disable_unprepare(fiu->clk);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void npcm_fiu_remove(struct platform_device *pdev)
|
static void npcm_fiu_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct npcm_fiu_spi *fiu = platform_get_drvdata(pdev);
|
|
||||||
|
|
||||||
clk_disable_unprepare(fiu->clk);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MODULE_DEVICE_TABLE(of, npcm_fiu_dt_ids);
|
MODULE_DEVICE_TABLE(of, npcm_fiu_dt_ids);
|
||||||
|
Loading…
Reference in New Issue
Block a user