bcma: connect the bcma bus suspend/resume to the bcma driver suspend/resume
Now the low-level driver actually gets informed that it is getting suspended and resumed. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
685a4ef0df
commit
7d5869e78f
|
@ -243,6 +243,16 @@ int __init bcma_bus_early_register(struct bcma_bus *bus,
|
|||
#ifdef CONFIG_PM
|
||||
int bcma_bus_suspend(struct bcma_bus *bus)
|
||||
{
|
||||
struct bcma_device *core;
|
||||
|
||||
list_for_each_entry(core, &bus->cores, list) {
|
||||
struct device_driver *drv = core->dev.driver;
|
||||
if (drv) {
|
||||
struct bcma_driver *adrv = container_of(drv, struct bcma_driver, drv);
|
||||
if (adrv->suspend)
|
||||
adrv->suspend(core);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -257,6 +267,15 @@ int bcma_bus_resume(struct bcma_bus *bus)
|
|||
bcma_core_chipcommon_init(&bus->drv_cc);
|
||||
}
|
||||
|
||||
list_for_each_entry(core, &bus->cores, list) {
|
||||
struct device_driver *drv = core->dev.driver;
|
||||
if (drv) {
|
||||
struct bcma_driver *adrv = container_of(drv, struct bcma_driver, drv);
|
||||
if (adrv->resume)
|
||||
adrv->resume(core);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -1135,7 +1135,7 @@ static int brcms_pci_suspend(struct pci_dev *pdev)
|
|||
return pci_set_power_state(pdev, PCI_D3hot);
|
||||
}
|
||||
|
||||
static int brcms_suspend(struct bcma_device *pdev, pm_message_t state)
|
||||
static int brcms_suspend(struct bcma_device *pdev)
|
||||
{
|
||||
struct brcms_info *wl;
|
||||
struct ieee80211_hw *hw;
|
||||
|
|
|
@ -162,7 +162,7 @@ struct bcma_driver {
|
|||
|
||||
int (*probe)(struct bcma_device *dev);
|
||||
void (*remove)(struct bcma_device *dev);
|
||||
int (*suspend)(struct bcma_device *dev, pm_message_t state);
|
||||
int (*suspend)(struct bcma_device *dev);
|
||||
int (*resume)(struct bcma_device *dev);
|
||||
void (*shutdown)(struct bcma_device *dev);
|
||||
|
||||
|
|
Loading…
Reference in New Issue