Thread (4 messages) flat view 4 messages, 2 authors, 2017-05-20

Re: [PATCH] ASoC: remove NULL pointer check for clk_disable_unprepare

From: Masahiro Yamada <hidden>
Date: 2017-05-20 18:50:38
Also in: alsa-devel, linux-arm-kernel, lkml

2017-05-21 3:42 GMT+09:00 Masahiro Yamada [off-list ref]:
Hi Krzysztof,


2017-05-21 3:04 GMT+09:00 Krzysztof Kozlowski [off-list ref]:
quoted
On Sun, May 21, 2017 at 02:42:38AM +0900, Masahiro Yamada wrote:
quoted
After long term efforts of fixing non-common clock implementations,
clk_disable() is a no-op for a NULL pointer input, and this is now
tree-wide consistent.

All clock consumers can safely call clk_disable(_unprepare) without
NULL pointer check.

Signed-off-by: Masahiro Yamada <redacted>
---

 sound/soc/codecs/adau17x1.c                | 3 +--
 sound/soc/codecs/da7213.c                  | 3 +--
 sound/soc/codecs/da7218.c                  | 3 +--
 sound/soc/codecs/da7219-aad.c              | 5 ++---
 sound/soc/codecs/da7219.c                  | 3 +--
 sound/soc/codecs/es8328.c                  | 3 +--
 sound/soc/codecs/wm8731.c                  | 3 +--
 sound/soc/davinci/davinci-evm.c            | 3 +--
 sound/soc/fsl/imx-audmux.c                 | 6 ++----
 sound/soc/intel/boards/bytcr_rt5640.c      | 2 +-
 sound/soc/intel/boards/cht_bsw_rt5645.c    | 3 +--
 sound/soc/mediatek/mt8173/mt8173-afe-pcm.c | 6 ++----
 sound/soc/samsung/i2s.c                    | 3 +--
 13 files changed, 16 insertions(+), 30 deletions(-)
(...)
quoted
diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c
index af3ba4d..3a06acd 100644
--- a/sound/soc/samsung/i2s.c
+++ b/sound/soc/samsung/i2s.c
@@ -1122,8 +1122,7 @@ static int i2s_runtime_suspend(struct device *dev)
      i2s->suspend_i2scon = readl(i2s->addr + I2SCON);
      i2s->suspend_i2spsr = readl(i2s->addr + I2SPSR);

-     if (i2s->op_clk)
-             clk_disable_unprepare(i2s->op_clk);
+     clk_disable_unprepare(i2s->op_clk);
      clk_disable_unprepare(i2s->clk);
I think the check in i2s_runtime_resume() should be removed then as well
to keep it symmetrical. Otherwise it looks suspicious.

Hmm, you have a point.  We will lose the symmetry.

If samsung/i2s.c is only used with the common clock framework,
we can omit the NULL pointer check for clk_prepare_enable()
because it is also a no-op for NULL clk input
(it returns 0).

At this moment, this is not consistent for non-common clock implementations,
though.

I retract this patch.



-- 
Best Regards
Masahiro Yamada
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help