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

mmc: sdhci-pxav2, sdhci-pxav3: use clk_prepare/unprepare APIs

Prepare the clock before enabling it.

Signed-off-by: Chao Xie <xiechao.mail@gmail.com>
Signed-off-by: Chris Ball <cjb@laptop.org>

authored by

Chao Xie and committed by
Chris Ball
164378ef e919fd20

+7 -7
+3 -3
drivers/mmc/host/sdhci-pxav2.c
··· 197 197 goto err_clk_get; 198 198 } 199 199 pltfm_host->clk = clk; 200 - clk_enable(clk); 200 + clk_prepare_enable(clk); 201 201 202 202 host->quirks = SDHCI_QUIRK_BROKEN_ADMA 203 203 | SDHCI_QUIRK_BROKEN_TIMEOUT_VAL ··· 239 239 return 0; 240 240 241 241 err_add_host: 242 - clk_disable(clk); 242 + clk_disable_unprepare(clk); 243 243 clk_put(clk); 244 244 err_clk_get: 245 245 sdhci_pltfm_free(pdev); ··· 255 255 256 256 sdhci_remove_host(host, 1); 257 257 258 - clk_disable(pltfm_host->clk); 258 + clk_disable_unprepare(pltfm_host->clk); 259 259 clk_put(pltfm_host->clk); 260 260 sdhci_pltfm_free(pdev); 261 261 kfree(pxa);
+4 -4
drivers/mmc/host/sdhci-pxav3.c
··· 231 231 pltfm_host = sdhci_priv(host); 232 232 pltfm_host->priv = pxa; 233 233 234 - clk = clk_get(dev, "PXA-SDHCLK"); 234 + clk = clk_get(dev, NULL); 235 235 if (IS_ERR(clk)) { 236 236 dev_err(dev, "failed to get io clock\n"); 237 237 ret = PTR_ERR(clk); 238 238 goto err_clk_get; 239 239 } 240 240 pltfm_host->clk = clk; 241 - clk_enable(clk); 241 + clk_prepare_enable(clk); 242 242 243 243 host->quirks = SDHCI_QUIRK_BROKEN_TIMEOUT_VAL 244 244 | SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC ··· 283 283 return 0; 284 284 285 285 err_add_host: 286 - clk_disable(clk); 286 + clk_disable_unprepare(clk); 287 287 clk_put(clk); 288 288 err_clk_get: 289 289 sdhci_pltfm_free(pdev); ··· 299 299 300 300 sdhci_remove_host(host, 1); 301 301 302 - clk_disable(pltfm_host->clk); 302 + clk_disable_unprepare(pltfm_host->clk); 303 303 clk_put(pltfm_host->clk); 304 304 sdhci_pltfm_free(pdev); 305 305 kfree(pxa);