Skip to content

Commit a2c2690

Browse files
tititiou36miquelraynal
authored andcommitted
mtd: st_spi_fsm: Use the devm_clk_get_enabled() helper function
Use the devm_clk_get_enabled() helper function instead of hand-writing it. It saves some line of codes. Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Link: https://lore.kernel.org/linux-mtd/4025ec3980a956b0e776024e88ec960afc457501.1681636580.git.christophe.jaillet@wanadoo.fr
1 parent ac9a786 commit a2c2690

1 file changed

Lines changed: 6 additions & 22 deletions

File tree

drivers/mtd/devices/st_spi_fsm.c

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2046,34 +2046,26 @@ static int stfsm_probe(struct platform_device *pdev)
20462046
return PTR_ERR(fsm->base);
20472047
}
20482048

2049-
fsm->clk = devm_clk_get(&pdev->dev, NULL);
2049+
fsm->clk = devm_clk_get_enabled(&pdev->dev, NULL);
20502050
if (IS_ERR(fsm->clk)) {
20512051
dev_err(fsm->dev, "Couldn't find EMI clock.\n");
20522052
return PTR_ERR(fsm->clk);
20532053
}
20542054

2055-
ret = clk_prepare_enable(fsm->clk);
2056-
if (ret) {
2057-
dev_err(fsm->dev, "Failed to enable EMI clock.\n");
2058-
return ret;
2059-
}
2060-
20612055
mutex_init(&fsm->lock);
20622056

20632057
ret = stfsm_init(fsm);
20642058
if (ret) {
20652059
dev_err(&pdev->dev, "Failed to initialise FSM Controller\n");
2066-
goto err_clk_unprepare;
2060+
return ret;
20672061
}
20682062

20692063
stfsm_fetch_platform_configs(pdev);
20702064

20712065
/* Detect SPI FLASH device */
20722066
info = stfsm_jedec_probe(fsm);
2073-
if (!info) {
2074-
ret = -ENODEV;
2075-
goto err_clk_unprepare;
2076-
}
2067+
if (!info)
2068+
return -ENODEV;
20772069
fsm->info = info;
20782070

20792071
/* Use device size to determine address width */
@@ -2089,7 +2081,7 @@ static int stfsm_probe(struct platform_device *pdev)
20892081
else
20902082
ret = stfsm_prepare_rwe_seqs_default(fsm);
20912083
if (ret)
2092-
goto err_clk_unprepare;
2084+
return ret;
20932085

20942086
fsm->mtd.name = info->name;
20952087
fsm->mtd.dev.parent = &pdev->dev;
@@ -2112,13 +2104,7 @@ static int stfsm_probe(struct platform_device *pdev)
21122104
(long long)fsm->mtd.size, (long long)(fsm->mtd.size >> 20),
21132105
fsm->mtd.erasesize, (fsm->mtd.erasesize >> 10));
21142106

2115-
ret = mtd_device_register(&fsm->mtd, NULL, 0);
2116-
if (ret) {
2117-
err_clk_unprepare:
2118-
clk_disable_unprepare(fsm->clk);
2119-
}
2120-
2121-
return ret;
2107+
return mtd_device_register(&fsm->mtd, NULL, 0);
21222108
}
21232109

21242110
static int stfsm_remove(struct platform_device *pdev)
@@ -2127,8 +2113,6 @@ static int stfsm_remove(struct platform_device *pdev)
21272113

21282114
WARN_ON(mtd_device_unregister(&fsm->mtd));
21292115

2130-
clk_disable_unprepare(fsm->clk);
2131-
21322116
return 0;
21332117
}
21342118

0 commit comments

Comments
 (0)