ssb: mark bus as powered up earlier
Rafał Miłecki [Sat, 23 Apr 2011 17:30:28 +0000 (19:30 +0200)]
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 e05ba6e..74aa2cc 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");