Archived
14
0
Fork 0

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: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
Kuninori Morimoto 2011-01-06 02:43:00 +00:00 committed by Paul Mundt
parent 025a10a768
commit 73674648e9

View file

@ -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)
/* 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)