提交 73674648 编写于 作者: K Kuninori Morimoto 提交者: Paul Mundt

ARM: mach-shmobile: ap4evb: fixup clk_put timing of fsib_clk

fsib_clk will be used when fdiv_clk failed on fsi_hdmi_set_rate.
Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
上级 025a10a7
...@@ -674,9 +674,8 @@ static int fsi_hdmi_set_rate(struct device *dev, int rate, int enable) ...@@ -674,9 +674,8 @@ static int fsi_hdmi_set_rate(struct device *dev, int rate, int enable)
return -EIO; return -EIO;
ret = __fsi_set_round_rate(fsib_clk, fsib_rate, enable); ret = __fsi_set_round_rate(fsib_clk, fsib_rate, enable);
clk_put(fsib_clk);
if (ret < 0) if (ret < 0)
return ret; goto fsi_set_rate_end;
/* FSI DIV setting */ /* FSI DIV setting */
ret = __fsi_set_round_rate(fdiv_clk, fdiv_rate, enable); ret = __fsi_set_round_rate(fdiv_clk, fdiv_rate, enable);
...@@ -684,10 +683,14 @@ static int fsi_hdmi_set_rate(struct device *dev, int rate, int enable) ...@@ -684,10 +683,14 @@ static int fsi_hdmi_set_rate(struct device *dev, int rate, int enable)
/* disable FSI B */ /* disable FSI B */
if (enable) if (enable)
__fsi_set_round_rate(fsib_clk, fsib_rate, 0); __fsi_set_round_rate(fsib_clk, fsib_rate, 0);
return ret; goto fsi_set_rate_end;
} }
return ackmd_bpfmd; ret = ackmd_bpfmd;
fsi_set_rate_end:
clk_put(fsib_clk);
return ret;
} }
static int fsi_set_rate(struct device *dev, int is_porta, int rate, int enable) static int fsi_set_rate(struct device *dev, int is_porta, int rate, int enable)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册