aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ssb
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2011-04-23 13:30:28 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-04-26 15:50:29 -0400
commita6ef8143839a8640532ba473906beb1a38b03e29 (patch)
treec1654f720d5380316d995da77e265dc5b5634668 /drivers/ssb
parent25f63a5a37f9cd925a01840bbb4c3ad9d5034175 (diff)
ssb: mark bus as powered up earlier
ssb_chipco_set_clockmode may want to touch CC registers to control power of the bus. However touching registers without powered_up set causes warnings. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/ssb')
-rw-r--r--drivers/ssb/main.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/ssb/main.c b/drivers/ssb/main.c
index e05ba6eefc7e..74aa2cca7d8c 100644
--- a/drivers/ssb/main.c
+++ b/drivers/ssb/main.c
@@ -1309,20 +1309,20 @@ EXPORT_SYMBOL(ssb_bus_may_powerdown);
1309 1309
1310int ssb_bus_powerup(struct ssb_bus *bus, bool dynamic_pctl) 1310int ssb_bus_powerup(struct ssb_bus *bus, bool dynamic_pctl)
1311{ 1311{
1312 struct ssb_chipcommon *cc;
1313 int err; 1312 int err;
1314 enum ssb_clkmode mode; 1313 enum ssb_clkmode mode;
1315 1314
1316 err = ssb_pci_xtal(bus, SSB_GPIO_XTAL | SSB_GPIO_PLL, 1); 1315 err = ssb_pci_xtal(bus, SSB_GPIO_XTAL | SSB_GPIO_PLL, 1);
1317 if (err) 1316 if (err)
1318 goto error; 1317 goto error;
1319 cc = &bus->chipco;
1320 mode = dynamic_pctl ? SSB_CLKMODE_DYNAMIC : SSB_CLKMODE_FAST;
1321 ssb_chipco_set_clockmode(cc, mode);
1322 1318
1323#ifdef CONFIG_SSB_DEBUG 1319#ifdef CONFIG_SSB_DEBUG
1324 bus->powered_up = 1; 1320 bus->powered_up = 1;
1325#endif 1321#endif
1322
1323 mode = dynamic_pctl ? SSB_CLKMODE_DYNAMIC : SSB_CLKMODE_FAST;
1324 ssb_chipco_set_clockmode(&bus->chipco, mode);
1325
1326 return 0; 1326 return 0;
1327error: 1327error:
1328 ssb_printk(KERN_ERR PFX "Bus powerup failed\n"); 1328 ssb_printk(KERN_ERR PFX "Bus powerup failed\n");