ARM: OMAP2+: clock: fix clkoutx2 with CLK_SET_RATE_PARENT
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 30 Jan 2014 11:17:20 +0000 (13:17 +0200)
committerPaul Walmsley <paul@pwsan.com>
Wed, 19 Feb 2014 19:07:55 +0000 (12:07 -0700)
commit994c41ee0ac875797b4dfef509ac7753e2649b4d
tree64b613ac1a3397891f452af06e6c4ebe09a9905a
parent01142519ffc0734436f26b01aeed37a915dece05
ARM: OMAP2+: clock: fix clkoutx2 with CLK_SET_RATE_PARENT

If CLK_SET_RATE_PARENT is set for a clkoutx2 clock, calling
clk_set_rate() on the clock "skips" the x2 multiplier as there are no
set_rate and round_rate functions defined for the clkoutx2.

This results in getting double the requested clock rates, breaking the
display on omap3430 based devices. This got broken when
d0f58bd3bba3877fb1af4664c4e33273d36f00e4 and related patches were merged
for v3.14, as omapdss driver now relies more on the clk-framework and
CLK_SET_RATE_PARENT.

This patch implements set_rate and round_rate for clkoutx2.

Tested on OMAP3430, OMAP3630, OMAP4460.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
arch/arm/mach-omap2/cclock3xxx_data.c
arch/arm/mach-omap2/dpll3xxx.c
include/linux/clk/ti.h