On 11/3/20 9:33 PM, Eugen Hristev wrote: > 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.hris...@microchip.com>
Reviewed-by: Jaehoon Chung <jh80.ch...@samsung.com> Best Regards, Jaehoon Chung > --- > drivers/mmc/atmel_sdhci.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/mmc/atmel_sdhci.c b/drivers/mmc/atmel_sdhci.c > index f56ae63bc2..82dfc345c0 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 != -ENOSYS) > return ret; > > ret = mmc_of_parse(dev, &plat->cfg); >