[PATCH v2 4/6] mmc: atmel-sdhci: do not check clk_set_rate return value

clk_set_rate will return rate in case of success and zero in case of error, however it can also return -ev, but it's an ulong function. To avoid any issues, disregard the return value of this call. In case this call actually fails, nothing much we can do anyway, but we can at least try with the previous values (or DT assigned-clocks)
Signed-off-by: Eugen Hristev eugen.hristev@microchip.com --- drivers/mmc/atmel_sdhci.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/mmc/atmel_sdhci.c b/drivers/mmc/atmel_sdhci.c index f03c0457e1..54b660c34a 100644 --- a/drivers/mmc/atmel_sdhci.c +++ b/drivers/mmc/atmel_sdhci.c @@ -79,9 +79,7 @@ static int atmel_sdhci_probe(struct udevice *dev) if (ret) return ret;
- ret = clk_set_rate(&clk, ATMEL_SDHC_GCK_RATE); - if (ret) - return ret; + clk_set_rate(&clk, ATMEL_SDHC_GCK_RATE);
max_clk = clk_get_rate(&clk); if (!max_clk)

The second clock of the IP block (the generic clock), must be explicitly enabled.
Signed-off-by: Eugen Hristev eugen.hristev@microchip.com --- drivers/mmc/atmel_sdhci.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/drivers/mmc/atmel_sdhci.c b/drivers/mmc/atmel_sdhci.c index 54b660c34a..c67b065061 100644 --- a/drivers/mmc/atmel_sdhci.c +++ b/drivers/mmc/atmel_sdhci.c @@ -85,6 +85,10 @@ static int atmel_sdhci_probe(struct udevice *dev) if (!max_clk) return -EINVAL;
+ ret = clk_enable(&clk); + if (ret) + return ret; + host->max_clk = max_clk; host->mmc = &plat->mmc; host->mmc->dev = dev;

Subject: [PATCH v2 5/6] mmc: atmel-sdhci: enable the required generic clock
The second clock of the IP block (the generic clock), must be explicitly enabled.
Signed-off-by: Eugen Hristev eugen.hristev@microchip.com
drivers/mmc/atmel_sdhci.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/drivers/mmc/atmel_sdhci.c b/drivers/mmc/atmel_sdhci.c index 54b660c34a..c67b065061 100644 --- a/drivers/mmc/atmel_sdhci.c +++ b/drivers/mmc/atmel_sdhci.c @@ -85,6 +85,10 @@ static int atmel_sdhci_probe(struct udevice *dev) if (!max_clk) return -EINVAL;
- ret = clk_enable(&clk);
- if (ret)
return ret;
- host->max_clk = max_clk; host->mmc = &plat->mmc; host->mmc->dev = dev;
Reviewed-by: Peng Fan pengfan@nxp.com
-- 2.25.1

Call mmc_of_parse at probe time to fetch all the host properties from the DT.
Signed-off-by: Eugen Hristev eugen.hristev@microchip.com --- drivers/mmc/atmel_sdhci.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/drivers/mmc/atmel_sdhci.c b/drivers/mmc/atmel_sdhci.c index c67b065061..f56ae63bc2 100644 --- a/drivers/mmc/atmel_sdhci.c +++ b/drivers/mmc/atmel_sdhci.c @@ -89,6 +89,10 @@ static int atmel_sdhci_probe(struct udevice *dev) if (ret) return ret;
+ ret = mmc_of_parse(dev, &plat->cfg); + if (ret) + return ret; + host->max_clk = max_clk; host->mmc = &plat->mmc; host->mmc->dev = dev;

Subject: [PATCH v2 6/6] mmc: atmel-sdhci: use mmc_of_parse to get the DT properties
Call mmc_of_parse at probe time to fetch all the host properties from the DT.
Signed-off-by: Eugen Hristev eugen.hristev@microchip.com
Please add a changelog for future new version patches.
drivers/mmc/atmel_sdhci.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/drivers/mmc/atmel_sdhci.c b/drivers/mmc/atmel_sdhci.c index c67b065061..f56ae63bc2 100644 --- a/drivers/mmc/atmel_sdhci.c +++ b/drivers/mmc/atmel_sdhci.c @@ -89,6 +89,10 @@ static int atmel_sdhci_probe(struct udevice *dev) if (ret) return ret;
- ret = mmc_of_parse(dev, &plat->cfg);
- if (ret)
return ret;
- host->max_clk = max_clk; host->mmc = &plat->mmc; host->mmc->dev = dev;
Reviewed-by: Peng Fan peng.fan@nxp.com
Thanks, Peng.
-- 2.25.1
participants (2)
-
Eugen Hristev
-
Peng Fan