public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH] mmc: atmel-sdhci: fix the clk_enable call in case of no ops
@ 2020-11-03 12:33 ` Eugen Hristev
  2020-11-03 21:46   ` Jaehoon Chung
  0 siblings, 1 reply; 2+ messages in thread
From: Eugen Hristev @ 2020-11-03 12:33 UTC (permalink / raw)
  To: u-boot

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>
---
 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);
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [PATCH] mmc: atmel-sdhci: fix the clk_enable call in case of no ops
  2020-11-03 12:33 ` [PATCH] mmc: atmel-sdhci: fix the clk_enable call in case of no ops Eugen Hristev
@ 2020-11-03 21:46   ` Jaehoon Chung
  0 siblings, 0 replies; 2+ messages in thread
From: Jaehoon Chung @ 2020-11-03 21:46 UTC (permalink / raw)
  To: u-boot

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.hristev@microchip.com>

Reviewed-by: Jaehoon Chung <jh80.chung@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);
> 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-11-03 21:46 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <CGME20201103123442epcas1p37504e94548c0b37a95311ab100c99106@epcas1p3.samsung.com>
2020-11-03 12:33 ` [PATCH] mmc: atmel-sdhci: fix the clk_enable call in case of no ops Eugen Hristev
2020-11-03 21:46   ` Jaehoon Chung

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox