]> pilppa.com Git - linux-2.6-omap-h63xx.git/commit
omap2 clock: init clksel clock parents to hardware reality at clock init
authorPaul Walmsley <paul@pwsan.com>
Mon, 27 Aug 2007 08:39:03 +0000 (02:39 -0600)
committerTony Lindgren <tony@atomide.com>
Fri, 31 Aug 2007 17:50:26 +0000 (10:50 -0700)
commit1f52c722694dc587827e9b1609a4d5e0bbadf06d
tree54c22374364a76ad1f843cac2b214617392b3797
parent139bd95fd02c03f7df894940940e394c8f3722f5
omap2 clock: init clksel clock parents to hardware reality at clock init

Source-selectable clksel clocks have a 'default parent' assigned to them
at compile-time.  This default parent may or may not match the reality
that is configured in the hardware registers by the bootloader.  Clock tree
recalculations could be erratic if the struct clk parent field contents
don't match the hardware registers.

Resolve this by creating omap2_init_clksel_parent() to read the hardware
registers and update the struct clk parent field as appropriate for clksel
clocks.  Add an '.init' field to each source-selectable clk structure so
that the parent is fixed up when the clock is initially registered.  (We
don't do this for clksel clocks that are only rate-selectable, since they
only have one possible parent clock.)

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/clock.c
arch/arm/mach-omap2/clock.h