2021-07-29 12:29:14

by Dan Carpenter

[permalink] [raw]
Subject: [PATCH] m68k: coldfire: return success for clk_enable(NULL)

The clk_enable is supposed work when CONFIG_HAVE_CLK is false, but it
returns -EINVAL. That means some drivers fail during probe.

[ 1.680000] flexcan: probe of flexcan.0 failed with error -22

Fixes: c1fb1bf64bb6 ("m68k: let clk_enable() return immediately if clk is NULL")
Fixes: bea8bcb12da0 ("m68knommu: Add support for the Coldfire m5441x.")
Signed-off-by: Dan Carpenter <[email protected]>
---
I can't actually compile test this, but it's correct.

arch/m68k/coldfire/clk.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/m68k/coldfire/clk.c b/arch/m68k/coldfire/clk.c
index 2ed841e94111..d03b6c4aa86b 100644
--- a/arch/m68k/coldfire/clk.c
+++ b/arch/m68k/coldfire/clk.c
@@ -78,7 +78,7 @@ int clk_enable(struct clk *clk)
unsigned long flags;

if (!clk)
- return -EINVAL;
+ return 0;

spin_lock_irqsave(&clk_lock, flags);
if ((clk->enabled++ == 0) && clk->clk_ops)
--
2.20.1



2021-07-29 12:40:37

by Marc Kleine-Budde

[permalink] [raw]
Subject: Re: [PATCH] m68k: coldfire: return success for clk_enable(NULL)

On 29.07.2021 15:27:03, Dan Carpenter wrote:
> The clk_enable is supposed work when CONFIG_HAVE_CLK is false, but it
> returns -EINVAL. That means some drivers fail during probe.
>
> [ 1.680000] flexcan: probe of flexcan.0 failed with error -22
>
> Fixes: c1fb1bf64bb6 ("m68k: let clk_enable() return immediately if clk is NULL")
> Fixes: bea8bcb12da0 ("m68knommu: Add support for the Coldfire m5441x.")
> Signed-off-by: Dan Carpenter <[email protected]>

Acked-by: Marc Kleine-Budde <[email protected]>

regards,
Marc

--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung West/Dortmund | Phone: +49-231-2826-924 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |


Attachments:
(No filename) (818.00 B)
signature.asc (499.00 B)
Download all attachments

2021-07-30 06:57:36

by Greg Ungerer

[permalink] [raw]
Subject: Re: [PATCH] m68k: coldfire: return success for clk_enable(NULL)


On 29/7/21 10:27 pm, Dan Carpenter wrote:
> The clk_enable is supposed work when CONFIG_HAVE_CLK is false, but it
> returns -EINVAL. That means some drivers fail during probe.
>
> [ 1.680000] flexcan: probe of flexcan.0 failed with error -22
>
> Fixes: c1fb1bf64bb6 ("m68k: let clk_enable() return immediately if clk is NULL")
> Fixes: bea8bcb12da0 ("m68knommu: Add support for the Coldfire m5441x.")
> Signed-off-by: Dan Carpenter <[email protected]>

Thanks Dan.
Applied to the m68knommu git tree, for-next branch, with Marc's Acked-by added.

Regards
Greg


> ---
> I can't actually compile test this, but it's correct.
>
> arch/m68k/coldfire/clk.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/m68k/coldfire/clk.c b/arch/m68k/coldfire/clk.c
> index 2ed841e94111..d03b6c4aa86b 100644
> --- a/arch/m68k/coldfire/clk.c
> +++ b/arch/m68k/coldfire/clk.c
> @@ -78,7 +78,7 @@ int clk_enable(struct clk *clk)
> unsigned long flags;
>
> if (!clk)
> - return -EINVAL;
> + return 0;
>
> spin_lock_irqsave(&clk_lock, flags);
> if ((clk->enabled++ == 0) && clk->clk_ops)
>