Commit 6c4cdf4e authored by Wu Bo's avatar Wu Bo Committed by Thomas Bogendoerfer

bus: bt1-apb: change to use devm_clk_get_enabled() helper

Use devm_clk_get_enabled() instead of devm_clk_get() to make the code
cleaner and avoid calling clk_disable_unprepare()
Signed-off-by: default avatarWu Bo <bo.wu@vivo.com>
Acked-by: default avatarSerge Semin <fancer.lancer@gmail.com>
Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
parent 854527e0
...@@ -185,34 +185,13 @@ static int bt1_apb_request_rst(struct bt1_apb *apb) ...@@ -185,34 +185,13 @@ static int bt1_apb_request_rst(struct bt1_apb *apb)
return ret; return ret;
} }
static void bt1_apb_disable_clk(void *data)
{
struct bt1_apb *apb = data;
clk_disable_unprepare(apb->pclk);
}
static int bt1_apb_request_clk(struct bt1_apb *apb) static int bt1_apb_request_clk(struct bt1_apb *apb)
{ {
int ret; apb->pclk = devm_clk_get_enabled(apb->dev, "pclk");
apb->pclk = devm_clk_get(apb->dev, "pclk");
if (IS_ERR(apb->pclk)) if (IS_ERR(apb->pclk))
return dev_err_probe(apb->dev, PTR_ERR(apb->pclk), return dev_err_probe(apb->dev, PTR_ERR(apb->pclk),
"Couldn't get APB clock descriptor\n"); "Couldn't get APB clock descriptor\n");
ret = clk_prepare_enable(apb->pclk);
if (ret) {
dev_err(apb->dev, "Couldn't enable the APB clock\n");
return ret;
}
ret = devm_add_action_or_reset(apb->dev, bt1_apb_disable_clk, apb);
if (ret) {
dev_err(apb->dev, "Can't add APB EHB clocks disable action\n");
return ret;
}
apb->rate = clk_get_rate(apb->pclk); apb->rate = clk_get_rate(apb->pclk);
if (!apb->rate) { if (!apb->rate) {
dev_err(apb->dev, "Invalid clock rate\n"); dev_err(apb->dev, "Invalid clock rate\n");
......
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