diff options
author | Paul Walmsley <paul@pwsan.com> | 2010-02-23 00:09:24 -0500 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2010-02-24 14:29:42 -0500 |
commit | 8c34974ab0ecbbcdabd343f8cd0013cd2d2b0fa8 (patch) | |
tree | 5d64fc187d5dcee6d82c20f09f4b1a6ff2abef5c /arch/arm/mach-omap2/clock.c | |
parent | 5173804fbbbff82a2fd40bc1c46655b272167af5 (diff) |
OMAP2 clock: drop DELAYED_APP clock flag
All of the clocks that are marked with DELAYED_APP are changed as part
of the virt_prcm_set OPP virtual clock. On 24xx, these clocks all
need to be changed as part of a group to keep the clock tree
functional - hence the need for the VALID_CONFIG bit, which is not
present on later OMAPs. These clocks should not be rate-changed
independently. So prevent these clocks from being changed
independently by dropping their .round_rate and .set_rate function
pointers. It then turns out that the DELAYED_APP clock flag is no
longer useful, so drop it and the associated code and renumber the
clock flags.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/clock.c')
-rw-r--r-- | arch/arm/mach-omap2/clock.c | 27 |
1 files changed, 1 insertions, 26 deletions
diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c index 82b17ef17dbe..426d76f564e7 100644 --- a/arch/arm/mach-omap2/clock.c +++ b/arch/arm/mach-omap2/clock.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * linux/arch/arm/mach-omap2/clock.c | 2 | * linux/arch/arm/mach-omap2/clock.c |
3 | * | 3 | * |
4 | * Copyright (C) 2005-2008 Texas Instruments, Inc. | 4 | * Copyright (C) 2005-2008 Texas Instruments, Inc. |
5 | * Copyright (C) 2004-2008 Nokia Corporation | 5 | * Copyright (C) 2004-2010 Nokia Corporation |
6 | * | 6 | * |
7 | * Contacts: | 7 | * Contacts: |
8 | * Richard Woodruff <r-woodruff2@ti.com> | 8 | * Richard Woodruff <r-woodruff2@ti.com> |
@@ -14,12 +14,9 @@ | |||
14 | */ | 14 | */ |
15 | #undef DEBUG | 15 | #undef DEBUG |
16 | 16 | ||
17 | #include <linux/module.h> | ||
18 | #include <linux/kernel.h> | 17 | #include <linux/kernel.h> |
19 | #include <linux/device.h> | ||
20 | #include <linux/list.h> | 18 | #include <linux/list.h> |
21 | #include <linux/errno.h> | 19 | #include <linux/errno.h> |
22 | #include <linux/delay.h> | ||
23 | #include <linux/clk.h> | 20 | #include <linux/clk.h> |
24 | #include <linux/io.h> | 21 | #include <linux/io.h> |
25 | #include <linux/bitops.h> | 22 | #include <linux/bitops.h> |
@@ -89,28 +86,6 @@ static void _omap2_clk_disable(struct clk *clk) | |||
89 | /* Public functions */ | 86 | /* Public functions */ |
90 | 87 | ||
91 | /** | 88 | /** |
92 | * omap2xxx_clk_commit - commit clock parent/rate changes in hardware | ||
93 | * @clk: struct clk * | ||
94 | * | ||
95 | * If @clk has the DELAYED_APP flag set, meaning that parent/rate changes | ||
96 | * don't take effect until the VALID_CONFIG bit is written, write the | ||
97 | * VALID_CONFIG bit and wait for the write to complete. No return value. | ||
98 | */ | ||
99 | void omap2xxx_clk_commit(struct clk *clk) | ||
100 | { | ||
101 | if (!cpu_is_omap24xx()) | ||
102 | return; | ||
103 | |||
104 | if (!(clk->flags & DELAYED_APP)) | ||
105 | return; | ||
106 | |||
107 | prm_write_mod_reg(OMAP24XX_VALID_CONFIG, OMAP24XX_GR_MOD, | ||
108 | OMAP2_PRCM_CLKCFG_CTRL_OFFSET); | ||
109 | /* OCP barrier */ | ||
110 | prm_read_mod_reg(OMAP24XX_GR_MOD, OMAP2_PRCM_CLKCFG_CTRL_OFFSET); | ||
111 | } | ||
112 | |||
113 | /** | ||
114 | * omap2_init_clk_clkdm - look up a clockdomain name, store pointer in clk | 89 | * omap2_init_clk_clkdm - look up a clockdomain name, store pointer in clk |
115 | * @clk: OMAP clock struct ptr to use | 90 | * @clk: OMAP clock struct ptr to use |
116 | * | 91 | * |