From: Rafał Miłecki Date: Tue, 26 Feb 2013 09:02:23 +0000 (+0100) Subject: bcma: implement disabling PLLs X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=c722839cc856cee5f7f1bb833a0f36c86d0bbe8f;p=linux-beck.git bcma: implement disabling PLLs Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville --- 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);