Commit 7e9e7fa4 authored by Linus Torvalds's avatar Linus Torvalds Committed by John W. Linville

brcmsmac: remove PCI suspend/resume from bcma driver

The brcmsmac driver isn't a PCI driver any more, it's a bcma one.  The
PCI device has been resumed by the PCI driver (the generic PCI layer,
really), we should be resuming just our own driver state.

Also add pr_debug() calls to show that we now actually get the
suspend/resume events.
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 7d5869e7
...@@ -1128,13 +1128,6 @@ static int __devinit brcms_bcma_probe(struct bcma_device *pdev) ...@@ -1128,13 +1128,6 @@ static int __devinit brcms_bcma_probe(struct bcma_device *pdev)
return 0; return 0;
} }
static int brcms_pci_suspend(struct pci_dev *pdev)
{
pci_save_state(pdev);
pci_disable_device(pdev);
return pci_set_power_state(pdev, PCI_D3hot);
}
static int brcms_suspend(struct bcma_device *pdev) static int brcms_suspend(struct bcma_device *pdev)
{ {
struct brcms_info *wl; struct brcms_info *wl;
...@@ -1153,40 +1146,15 @@ static int brcms_suspend(struct bcma_device *pdev) ...@@ -1153,40 +1146,15 @@ static int brcms_suspend(struct bcma_device *pdev)
wl->pub->hw_up = false; wl->pub->hw_up = false;
spin_unlock_bh(&wl->lock); spin_unlock_bh(&wl->lock);
/* temporarily do suspend ourselves */ pr_debug("brcms_suspend ok\n");
return brcms_pci_suspend(pdev->bus->host_pci);
}
static int brcms_pci_resume(struct pci_dev *pdev)
{
int err = 0;
uint val;
err = pci_set_power_state(pdev, PCI_D0);
if (err)
return err;
pci_restore_state(pdev);
err = pci_enable_device(pdev);
if (err)
return err;
pci_set_master(pdev);
pci_read_config_dword(pdev, 0x40, &val);
if ((val & 0x0000ff00) != 0)
pci_write_config_dword(pdev, 0x40, val & 0xffff00ff);
return 0; return 0;
} }
static int brcms_resume(struct bcma_device *pdev) static int brcms_resume(struct bcma_device *pdev)
{ {
/* pr_debug("brcms_resume ok\n");
* just do pci resume for now until bcma supports it. return 0;
*/
return brcms_pci_resume(pdev->bus->host_pci);
} }
static struct bcma_driver brcms_bcma_driver = { static struct bcma_driver brcms_bcma_driver = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment