Skip to content

Commit

Permalink
bcma: connect the bcma bus suspend/resume to the bcma driver suspend/…
Browse files Browse the repository at this point in the history
…resume

Now the low-level driver actually gets informed that it is getting suspended and resumed.

Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
  • Loading branch information
torvalds authored and linvjw committed Jan 17, 2012
1 parent 685a4ef commit 7d5869e
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 2 deletions.
19 changes: 19 additions & 0 deletions drivers/bcma/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion include/linux/bcma/bcma.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down

0 comments on commit 7d5869e

Please sign in to comment.