drivers/mmc/host/dw_mmc.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-)
exynos doesn't use biu_clk , enable it will panic
Signed-off-by: ping.gao <ping.gao@samsung.com>
---
drivers/mmc/host/dw_mmc.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
index c5db92bbb094..61f6986f15ef 100644
--- a/drivers/mmc/host/dw_mmc.c
+++ b/drivers/mmc/host/dw_mmc.c
@@ -3633,9 +3633,15 @@ int dw_mci_runtime_resume(struct device *dev)
if (host->slot &&
(mmc_host_can_gpio_cd(host->slot->mmc) ||
!mmc_card_is_removable(host->slot->mmc))) {
- ret = clk_prepare_enable(host->biu_clk);
- if (ret)
- return ret;
+ if (IS_ERR(host->biu_clk)) {
+ dev_dbg(host->dev, "biu clock not available\n");
+ } else {
+ ret = clk_prepare_enable(host->biu_clk);
+ if (ret) {
+ dev_err(host->dev, "failed to enable biu clock\n");
+ goto err;
+ }
+ }
}
ret = clk_prepare_enable(host->ciu_clk);
--
2.50.1
On Tue, 23 Dec 2025 at 05:42, ping.gao <ping.gao@samsung.com> wrote:
>
> exynos doesn't use biu_clk , enable it will panic
Please elaborate a bit more on what the patch does.
>
> Signed-off-by: ping.gao <ping.gao@samsung.com>
> ---
> drivers/mmc/host/dw_mmc.c | 12 +++++++++---
> 1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
> index c5db92bbb094..61f6986f15ef 100644
> --- a/drivers/mmc/host/dw_mmc.c
> +++ b/drivers/mmc/host/dw_mmc.c
> @@ -3633,9 +3633,15 @@ int dw_mci_runtime_resume(struct device *dev)
> if (host->slot &&
> (mmc_host_can_gpio_cd(host->slot->mmc) ||
> !mmc_card_is_removable(host->slot->mmc))) {
> - ret = clk_prepare_enable(host->biu_clk);
> - if (ret)
> - return ret;
> + if (IS_ERR(host->biu_clk)) {
> + dev_dbg(host->dev, "biu clock not available\n");
> + } else {
> + ret = clk_prepare_enable(host->biu_clk);
> + if (ret) {
> + dev_err(host->dev, "failed to enable biu clock\n");
> + goto err;
> + }
> + }
Rather than making the change in dw_mci_runtime_resume(), I suggest we
set "host->biu_clk = NULL" in dw_mci_probe(), rather than keeping its
error code.
In this way, clk_prepare_enable() will not return an error code above.
> }
>
> ret = clk_prepare_enable(host->ciu_clk);
> --
> 2.50.1
>
Kind regards
Uffe
© 2016 - 2026 Red Hat, Inc.