ssb: mark bus as powered up earlier
authorRafał Miłecki <zajec5@gmail.com>
Sat, 23 Apr 2011 17:30:28 +0000 (19:30 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 26 Apr 2011 19:50:29 +0000 (15:50 -0400)
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>
drivers/ssb/main.c

index e05ba6eefc7e7d148fe94db458e2055bf342b9dc..74aa2cca7d8c9aa69ebb5f4377d307f555403f06 100644 (file)
@@ -1309,20 +1309,20 @@ EXPORT_SYMBOL(ssb_bus_may_powerdown);
 
 int ssb_bus_powerup(struct ssb_bus *bus, bool dynamic_pctl)
 {
-       struct ssb_chipcommon *cc;
        int err;
        enum ssb_clkmode mode;
 
        err = ssb_pci_xtal(bus, SSB_GPIO_XTAL | SSB_GPIO_PLL, 1);
        if (err)
                goto error;
-       cc = &bus->chipco;
-       mode = dynamic_pctl ? SSB_CLKMODE_DYNAMIC : SSB_CLKMODE_FAST;
-       ssb_chipco_set_clockmode(cc, mode);
 
 #ifdef CONFIG_SSB_DEBUG
        bus->powered_up = 1;
 #endif
+
+       mode = dynamic_pctl ? SSB_CLKMODE_DYNAMIC : SSB_CLKMODE_FAST;
+       ssb_chipco_set_clockmode(&bus->chipco, mode);
+
        return 0;
 error:
        ssb_printk(KERN_ERR PFX "Bus powerup failed\n");