diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2011-04-23 13:30:28 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-04-26 15:50:29 -0400 |
commit | a6ef8143839a8640532ba473906beb1a38b03e29 (patch) | |
tree | c1654f720d5380316d995da77e265dc5b5634668 /drivers/ssb/main.c | |
parent | 25f63a5a37f9cd925a01840bbb4c3ad9d5034175 (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/main.c')
-rw-r--r-- | drivers/ssb/main.c | 8 |
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 | ||
1310 | int ssb_bus_powerup(struct ssb_bus *bus, bool dynamic_pctl) | 1310 | int 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; |
1327 | error: | 1327 | error: |
1328 | ssb_printk(KERN_ERR PFX "Bus powerup failed\n"); | 1328 | ssb_printk(KERN_ERR PFX "Bus powerup failed\n"); |