Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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: Wu Bo <bo.wu@vivo.com>
Acked-by: Serge Semin <fancer.lancer@gmail.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>

authored by

Wu Bo and committed by
Thomas Bogendoerfer
6c4cdf4e 854527e0

+1 -22
+1 -22
drivers/bus/bt1-apb.c
··· 185 185 return ret; 186 186 } 187 187 188 - static void bt1_apb_disable_clk(void *data) 189 - { 190 - struct bt1_apb *apb = data; 191 - 192 - clk_disable_unprepare(apb->pclk); 193 - } 194 - 195 188 static int bt1_apb_request_clk(struct bt1_apb *apb) 196 189 { 197 - int ret; 198 - 199 - apb->pclk = devm_clk_get(apb->dev, "pclk"); 190 + apb->pclk = devm_clk_get_enabled(apb->dev, "pclk"); 200 191 if (IS_ERR(apb->pclk)) 201 192 return dev_err_probe(apb->dev, PTR_ERR(apb->pclk), 202 193 "Couldn't get APB clock descriptor\n"); 203 - 204 - ret = clk_prepare_enable(apb->pclk); 205 - if (ret) { 206 - dev_err(apb->dev, "Couldn't enable the APB clock\n"); 207 - return ret; 208 - } 209 - 210 - ret = devm_add_action_or_reset(apb->dev, bt1_apb_disable_clk, apb); 211 - if (ret) { 212 - dev_err(apb->dev, "Can't add APB EHB clocks disable action\n"); 213 - return ret; 214 - } 215 194 216 195 apb->rate = clk_get_rate(apb->pclk); 217 196 if (!apb->rate) {