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: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
7d5869e78f
commit
7e9e7fa414
|
@ -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)
|
||||||
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 = {
|
||||||
|
|
Loading…
Reference in New Issue