diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2013-02-26 13:02:23 +0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-03-07 01:25:46 +0400 |
commit | c722839cc856cee5f7f1bb833a0f36c86d0bbe8f (patch) | |
tree | 5d9135e676d25fb70dd49e0b34043e8a71d495de | |
parent | 93ecbd64effe18389d219f26bdcf148fb0979889 (diff) | |
download | linux-c722839cc856cee5f7f1bb833a0f36c86d0bbe8f.tar.xz |
bcma: implement disabling PLLs
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/bcma/core.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/bcma/core.c b/drivers/bcma/core.c index 03bbe104338f..17b26ce7e051 100644 --- a/drivers/bcma/core.c +++ b/drivers/bcma/core.c @@ -104,7 +104,13 @@ void bcma_core_pll_ctl(struct bcma_device *core, u32 req, u32 status, bool on) if (i) bcma_err(core->bus, "PLL enable timeout\n"); } else { - bcma_warn(core->bus, "Disabling PLL not supported yet!\n"); + /* + * Mask the PLL but don't wait for it to be disabled. PLL may be + * shared between cores and will be still up if there is another + * core using it. + */ + bcma_mask32(core, BCMA_CLKCTLST, ~req); + bcma_read32(core, BCMA_CLKCTLST); } } EXPORT_SYMBOL_GPL(bcma_core_pll_ctl); |