]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
mmc: atmel-sdhci: fix the clk_enable call in case of no ops
authorEugen Hristev <eugen.hristev@microchip.com>
Mon, 9 Nov 2020 11:02:17 +0000 (13:02 +0200)
committerEugen Hristev <eugen.hristev@microchip.com>
Thu, 26 Nov 2020 08:12:47 +0000 (10:12 +0200)
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>
drivers/mmc/atmel_sdhci.c

index f56ae63bc2cdf13d09a3db643ac6d197b803b0be..ca7a98bf1deadae2db4fcce4b010367bb8896546 100644 (file)
@@ -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);