diff options
author | Arnd Bergmann <arnd@arndb.de> | 2012-11-15 17:38:24 +0100 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2012-11-15 17:38:24 +0100 |
commit | fb6842a7bc44bf719bfe85d5819a153d7c215510 (patch) | |
tree | d68f98b9a905557ad95ba97090e99087da30fabd /arch/arm/mach-omap2/clock_common_data.c | |
parent | 89ab216b33ba9405880fd3d89531305a931bc70f (diff) | |
parent | 558a0780b0a04862a678f7823215424b4e5501f9 (diff) |
Merge tag 'omap-for-v3.8/clock-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/clk
From Tony Lindgren <tony@atomide.com>:
Common clock framework for omap2+ via Paul Walmsley <paul@pwsan.com>:
Convert the OMAP2+ clock code and data to rely on the common
clock framework for internal bookkeeping and the driver API.
Basic test logs for this branch on top of Tony's cleanup-prcm branch
at commit c9d501e5cb0238910337213e12a09127221c35d8 are here:
http://www.pwsan.com/omap/testlogs/common_clk_devel_3.8_rebase/20121112192516/
However, cleanup-prcm at c9d501e5 does not include some fixes
that are needed for a successful test. With several reverts,
fixes, and workarounds applied, the following test logs were
obtained:
http://www.pwsan.com/omap/testlogs/TEST_common_clk_devel_3.8_rebase/20121112192300/
which indicate that the series tests cleanly.
N.B. The common clock data addition patches result in many
checkpatch warnings of the form "WARNING: static const char *
array should probably be static const char * const". However, it
appears that resolving these would require changes to the CCF
itself. So the resolution of these warnings is being postponed
until that can be coordinated.
These patches result in a ~55KiB increase in runtime kernel memory
usage when booting omap2plus_defconfig kernels.
Conflicts:
arch/arm/mach-omap2/clock33xx_data.c
arch/arm/mach-omap2/clock3xxx_data.c
arch/arm/mach-omap2/clock44xx_data.c
Note that this is based on a merge of the omap-for-v3.8/cleanup-prcm
and omap-for-v3.8/pm as otherwise merged in with the pm changes it
would automatically resolve into a non-booting merge for omap3 as
the smartreflex clock names were changed in the pm branch.
* tag 'omap-for-v3.8/clock-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (27 commits)
ARM: OMAP2+: clock: Cleanup !CONFIG_COMMON_CLK parts
ARM: OMAP2xxx: clock: drop obsolete clock data
ARM: OMAP2: clock: Cleanup !CONFIG_COMMON_CLK parts
ARM: OMAP3+: DPLL: drop !CONFIG_COMMON_CLK sections
ARM: AM33xx: clock: drop obsolete clock data
ARM: OMAP3xxx: clk: drop obsolete clock data
ARM: OMAP3: clock: Cleanup !CONFIG_COMMON_CLK parts
ARM: OMAP44xx: clock: drop obsolete clock data
ARM: OMAP4: clock: Cleanup !CONFIG_COMMON_CLK parts
ARM: OMAP: hwmod: Cleanup !CONFIG_COMMON_CLK parts
ARM: OMAP: clock: Switch to COMMON clk
ARM: OMAP2: clock: Add 24xx data using common struct clk
ARM: OMAP3: clock: Add 3xxx data using common struct clk
ARM: AM33XX: clock: add clock data in common clock format
ARM: OMAP4: clock: Add 44xx data using common struct clk
ARM: OMAP2+: clock: add OMAP CCF convenience macros to mach-omap2/clock.h
ARM: OMAP: clock: Get rid of some clkdm assocations within clks
ARM: OMAP2+: clockdomain: bypass clockdomain handling when disabling unused clks
ARM: OMAP2+: hwmod: Invoke init_clkdm before other init functions
ARM: OMAP: clock: Define a function to enable clocks at init
...
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm/mach-omap2/clock_common_data.c')
-rw-r--r-- | arch/arm/mach-omap2/clock_common_data.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/arch/arm/mach-omap2/clock_common_data.c b/arch/arm/mach-omap2/clock_common_data.c index b9f3ba68148c..ef4d21bfb964 100644 --- a/arch/arm/mach-omap2/clock_common_data.c +++ b/arch/arm/mach-omap2/clock_common_data.c @@ -16,6 +16,7 @@ * OMAP3xxx clock definition files. */ +#include <linux/clk-private.h> #include "clock.h" /* clksel_rate data common to 24xx/343x */ @@ -52,6 +53,13 @@ const struct clksel_rate div_1_0_rates[] = { { .div = 0 }, }; +const struct clksel_rate div3_1to4_rates[] = { + { .div = 1, .val = 0, .flags = RATE_IN_4430 }, + { .div = 2, .val = 1, .flags = RATE_IN_4430 }, + { .div = 4, .val = 2, .flags = RATE_IN_4430 }, + { .div = 0 }, +}; + const struct clksel_rate div_1_1_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, { .div = 0 }, @@ -109,14 +117,10 @@ const struct clksel_rate div31_1to31_rates[] = { /* Clocks shared between various OMAP SoCs */ -struct clk virt_19200000_ck = { - .name = "virt_19200000_ck", - .ops = &clkops_null, - .rate = 19200000, -}; +static struct clk_ops dummy_ck_ops = {}; -struct clk virt_26000000_ck = { - .name = "virt_26000000_ck", - .ops = &clkops_null, - .rate = 26000000, +struct clk dummy_ck = { + .name = "dummy_clk", + .ops = &dummy_ck_ops, + .flags = CLK_IS_BASIC, }; |