Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[PATCH v3] clk: let clk_disable() return immediately if clk is NULL

1 view
Skip to first unread message

Masahiro Yamada

unread,
Aug 24, 2016, 1:44:33 PM8/24/16
to linu...@vger.kernel.org, Stephen Boyd, Ralf Baechle, Michael Turquette, Masahiro Yamada, linux...@linux-mips.org, Haojian Zhuang, Eric Miao, Florian Fainelli, linux-...@vger.kernel.org, adi-build...@lists.sourceforge.net, Greg Ungerer, linux...@lists.linux-m68k.org, bcm-kernel-f...@broadcom.com, Wan ZongShun, Geert Uytterhoeven, Steven Miao, Russell King, linux-ar...@lists.infradead.org
Many of clk_disable() implementations just return for NULL pointer,
but this check is missing from some. Let's make it tree-wide
consistent. It will allow clock consumers to call clk_disable()
without NULL pointer check.

Signed-off-by: Masahiro Yamada <yamada....@socionext.com>
Acked-by: Greg Ungerer <ge...@uclinux.org>
Acked-by: Wan Zongshun <mcuo...@gmail.com>
---

I came back after a long pause.
You can see the discussion about the previous version:
https://www.linux-mips.org/archives/linux-mips/2016-04/msg00063.html


Changes in v3:
- Return only when clk is NULL. Do not take care of error pointer.

Changes in v2:
- Rebase on Linux 4.6-rc1

arch/arm/mach-mmp/clock.c | 3 +++
arch/arm/mach-w90x900/clock.c | 3 +++
arch/blackfin/mach-bf609/clock.c | 3 +++
arch/m68k/coldfire/clk.c | 4 ++++
arch/mips/bcm63xx/clk.c | 3 +++
5 files changed, 16 insertions(+)

diff --git a/arch/arm/mach-mmp/clock.c b/arch/arm/mach-mmp/clock.c
index ac6633d..28fe64c 100644
--- a/arch/arm/mach-mmp/clock.c
+++ b/arch/arm/mach-mmp/clock.c
@@ -67,6 +67,9 @@ void clk_disable(struct clk *clk)
{
unsigned long flags;

+ if (!clk)
+ return;
+
WARN_ON(clk->enabled == 0);

spin_lock_irqsave(&clocks_lock, flags);
diff --git a/arch/arm/mach-w90x900/clock.c b/arch/arm/mach-w90x900/clock.c
index 2c371ff..ac6fd1a 100644
--- a/arch/arm/mach-w90x900/clock.c
+++ b/arch/arm/mach-w90x900/clock.c
@@ -46,6 +46,9 @@ void clk_disable(struct clk *clk)
{
unsigned long flags;

+ if (!clk)
+ return;
+
WARN_ON(clk->enabled == 0);

spin_lock_irqsave(&clocks_lock, flags);
diff --git a/arch/blackfin/mach-bf609/clock.c b/arch/blackfin/mach-bf609/clock.c
index 3783058..392a59b 100644
--- a/arch/blackfin/mach-bf609/clock.c
+++ b/arch/blackfin/mach-bf609/clock.c
@@ -97,6 +97,9 @@ EXPORT_SYMBOL(clk_enable);

void clk_disable(struct clk *clk)
{
+ if (!clk)
+ return;
+
if (clk->ops && clk->ops->disable)
clk->ops->disable(clk);
}
diff --git a/arch/m68k/coldfire/clk.c b/arch/m68k/coldfire/clk.c
index fddfdcc..1e3c7e9 100644
--- a/arch/m68k/coldfire/clk.c
+++ b/arch/m68k/coldfire/clk.c
@@ -101,6 +101,10 @@ EXPORT_SYMBOL(clk_enable);
void clk_disable(struct clk *clk)
{
unsigned long flags;
+
+ if (!clk)
+ return;
+
spin_lock_irqsave(&clk_lock, flags);
if ((--clk->enabled == 0) && clk->clk_ops)
clk->clk_ops->disable(clk);
diff --git a/arch/mips/bcm63xx/clk.c b/arch/mips/bcm63xx/clk.c
index 6375652..b49fc9c 100644
--- a/arch/mips/bcm63xx/clk.c
+++ b/arch/mips/bcm63xx/clk.c
@@ -326,6 +326,9 @@ EXPORT_SYMBOL(clk_enable);

void clk_disable(struct clk *clk)
{
+ if (!clk)
+ return;
+
mutex_lock(&clocks_mutex);
clk_disable_unlocked(clk);
mutex_unlock(&clocks_mutex);
--
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

Geert Uytterhoeven

unread,
Aug 25, 2016, 3:53:21 AM8/25/16
to Masahiro Yamada, linux-clk, Stephen Boyd, Ralf Baechle, Michael Turquette, Linux MIPS Mailing List, Haojian Zhuang, Eric Miao, Florian Fainelli, linux-...@vger.kernel.org, adi-build...@lists.sourceforge.net, Greg Ungerer, linux-m68k, bcm-kernel-f...@broadcom.com, Wan ZongShun, Steven Miao, Russell King, linux-ar...@lists.infradead.org
On Wed, Aug 24, 2016 at 7:26 PM, Masahiro Yamada
<yamada....@socionext.com> wrote:
> Many of clk_disable() implementations just return for NULL pointer,
> but this check is missing from some. Let's make it tree-wide
> consistent. It will allow clock consumers to call clk_disable()
> without NULL pointer check.
>
> Signed-off-by: Masahiro Yamada <yamada....@socionext.com>
> Acked-by: Greg Ungerer <ge...@uclinux.org>
> Acked-by: Wan Zongshun <mcuo...@gmail.com>

Acked-by: Geert Uytterhoeven <ge...@linux-m68k.org>

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

Florian Fainelli

unread,
Aug 25, 2016, 11:27:17 AM8/25/16
to Masahiro Yamada, linu...@vger.kernel.org, Stephen Boyd, Ralf Baechle, Michael Turquette, linux...@linux-mips.org, Haojian Zhuang, Eric Miao, linux-...@vger.kernel.org, adi-build...@lists.sourceforge.net, Greg Ungerer, linux...@lists.linux-m68k.org, bcm-kernel-f...@broadcom.com, Wan ZongShun, Geert Uytterhoeven, Steven Miao, Russell King, linux-ar...@lists.infradead.org
On 08/24/2016 10:26 AM, Masahiro Yamada wrote:
> Many of clk_disable() implementations just return for NULL pointer,
> but this check is missing from some. Let's make it tree-wide
> consistent. It will allow clock consumers to call clk_disable()
> without NULL pointer check.
>
> Signed-off-by: Masahiro Yamada <yamada....@socionext.com>
> Acked-by: Greg Ungerer <ge...@uclinux.org>
> Acked-by: Wan Zongshun <mcuo...@gmail.com>
> ---
>
> I came back after a long pause.
> You can see the discussion about the previous version:
> https://www.linux-mips.org/archives/linux-mips/2016-04/msg00063.html
>
>
> Changes in v3:
> - Return only when clk is NULL. Do not take care of error pointer.
>
> Changes in v2:
> - Rebase on Linux 4.6-rc1
>
> arch/arm/mach-mmp/clock.c | 3 +++
> arch/arm/mach-w90x900/clock.c | 3 +++
> arch/blackfin/mach-bf609/clock.c | 3 +++
> arch/m68k/coldfire/clk.c | 4 ++++
> arch/mips/bcm63xx/clk.c | 3 +++

For bcm63xx:

Acked-by: Florian Fainelli <f.fai...@gmail.com>
--
Florian

Masahiro Yamada

unread,
Sep 16, 2016, 3:48:12 AM9/16/16
to Stephen Boyd, Michael Turquette, linux-clk, linux...@linux-mips.org, Eric Miao, Wan ZongShun, Steven Miao, Russell King, Linux Kernel Mailing List, Haojian Zhuang, adi-build...@lists.sourceforge.net, linux...@lists.linux-m68k.org, Broadcom Kernel Feedback List, Ralf Baechle, Geert Uytterhoeven, Greg Ungerer, linux-arm-kernel, Florian Fainelli
Hi Stephen, Michael,

2016-08-26 0:27 GMT+09:00 Florian Fainelli <f.fai...@gmail.com>:
> On 08/24/2016 10:26 AM, Masahiro Yamada wrote:
>> Many of clk_disable() implementations just return for NULL pointer,
>> but this check is missing from some. Let's make it tree-wide
>> consistent. It will allow clock consumers to call clk_disable()
>> without NULL pointer check.
>>
>> Signed-off-by: Masahiro Yamada <yamada....@socionext.com>
>> Acked-by: Greg Ungerer <ge...@uclinux.org>
>> Acked-by: Wan Zongshun <mcuo...@gmail.com>
>> ---
>>
>> I came back after a long pause.
>> You can see the discussion about the previous version:
>> https://www.linux-mips.org/archives/linux-mips/2016-04/msg00063.html
>>
>>
>> Changes in v3:
>> - Return only when clk is NULL. Do not take care of error pointer.
>>
>> Changes in v2:
>> - Rebase on Linux 4.6-rc1
>>
>> arch/arm/mach-mmp/clock.c | 3 +++
>> arch/arm/mach-w90x900/clock.c | 3 +++
>> arch/blackfin/mach-bf609/clock.c | 3 +++
>> arch/m68k/coldfire/clk.c | 4 ++++
>> arch/mips/bcm63xx/clk.c | 3 +++
>


Gentle ping...


If you are not keen on this,
shall I split it per-arch and send to each arch subsystem?



--
Best Regards
Masahiro Yamada

Stephen Boyd

unread,
Sep 16, 2016, 7:11:33 PM9/16/16
to Masahiro Yamada, Michael Turquette, linux-clk, linux...@linux-mips.org, Eric Miao, Wan ZongShun, Steven Miao, Russell King, Linux Kernel Mailing List, Haojian Zhuang, adi-build...@lists.sourceforge.net, linux...@lists.linux-m68k.org, Broadcom Kernel Feedback List, Ralf Baechle, Geert Uytterhoeven, Greg Ungerer, linux-arm-kernel, Florian Fainelli, Andrew Morton
If we get acks from more arch maintainers we could take it
through clk tree, but we really don't maintain these other clk
implementations so it isn't very appropriate to take it through
clk tree anyway. Perhaps splitting it up per arch and sending it
that way and then Ccing akpm (aka the patch collector) would make
sure things get merged in a timely manner. Or Andrew could just
pick up this patch as is.

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
0 new messages