summaryrefslogtreecommitdiff
path: root/drivers/mmc/atmel_sdhci.c
diff options
context:
space:
mode:
authorEugen Hristev <eugen.hristev@microchip.com>2020-11-09 14:02:17 +0300
committerEugen Hristev <eugen.hristev@microchip.com>2020-11-26 11:12:47 +0300
commit7eace38d5418a6330f6d0918ed319ff605d3020b (patch)
tree6ac3ee06f703b25e7c4391641a07c86e532cdf5d /drivers/mmc/atmel_sdhci.c
parent1ae955e3a58f46918ef99b0b6c562967ba1bf39e (diff)
downloadu-boot-7eace38d5418a6330f6d0918ed319ff605d3020b.tar.xz
mmc: atmel-sdhci: fix the clk_enable call in case of no ops
If the clock driver does not offer a clk_enable ops, then the system will return -ENOSYS. The clk_enable works with CCF (common clock framework). Some clocks in some cases (like the generic clock for some products: sama5d2) do not have the clk_enable primitive, and in this case probing of the driver will fail. This patch changes the behavior to return an error in case there is really an error, and not a missing primitive. If the clock driver does not have an enable primitive, most likely clocks are always enabled or enabled in the set_rate primitives. Fixes: 81f16438d4 ("mmc: atmel-sdhci: enable the required generic clock") Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
Diffstat (limited to 'drivers/mmc/atmel_sdhci.c')
-rw-r--r--drivers/mmc/atmel_sdhci.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/mmc/atmel_sdhci.c b/drivers/mmc/atmel_sdhci.c
index f56ae63bc2..ca7a98bf1d 100644
--- a/drivers/mmc/atmel_sdhci.c
+++ b/drivers/mmc/atmel_sdhci.c
@@ -86,7 +86,8 @@ static int atmel_sdhci_probe(struct udevice *dev)
return -EINVAL;
ret = clk_enable(&clk);
- if (ret)
+ /* return error only if the clock really has a clock enable func */
+ if (ret && ret != -ENOSYS)
return ret;
ret = mmc_of_parse(dev, &plat->cfg);