From: Stephen Rothwell Date: Wed, 31 Aug 2011 02:08:20 +0000 (+1000) Subject: Merge remote-tracking branch 'wireless/master' X-Git-Tag: next-20110831~52 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=4fc022b00da6c8c1997ad4237cca988eb309e1ea;p=karo-tx-linux.git Merge remote-tracking branch 'wireless/master' Conflicts: drivers/net/wireless/iwlwifi/iwl-pci.c --- 4fc022b00da6c8c1997ad4237cca988eb309e1ea diff --cc drivers/net/wireless/iwlwifi/iwl-pci.c index 2fdbffa079c1,e41f53e5c307..1e69f485bc91 --- a/drivers/net/wireless/iwlwifi/iwl-pci.c +++ b/drivers/net/wireless/iwlwifi/iwl-pci.c @@@ -478,25 -483,30 +483,25 @@@ out_no_pci return err; } -static void iwl_pci_down(struct iwl_bus *bus) -{ - struct iwl_pci_bus *pci_bus = (struct iwl_pci_bus *) bus->bus_specific; - - pci_disable_msi(pci_bus->pci_dev); - pci_iounmap(pci_bus->pci_dev, pci_bus->hw_base); - pci_release_regions(pci_bus->pci_dev); - pci_disable_device(pci_bus->pci_dev); - pci_set_drvdata(pci_bus->pci_dev, NULL); - - kfree(bus); -} - static void __devexit iwl_pci_remove(struct pci_dev *pdev) { - struct iwl_priv *priv = pci_get_drvdata(pdev); - struct iwl_bus *bus = priv->bus; + struct iwl_shared *shrd = pci_get_drvdata(pdev); + struct iwl_bus *bus = shrd->bus; + struct iwl_pci_bus *pci_bus = IWL_BUS_GET_PCI_BUS(bus); + struct pci_dev *pci_dev = IWL_BUS_GET_PCI_DEV(bus); - iwl_remove(priv); + iwl_remove(shrd->priv); - iwl_pci_down(bus); + pci_disable_msi(pci_dev); + pci_iounmap(pci_dev, pci_bus->hw_base); + pci_release_regions(pci_dev); + pci_disable_device(pci_dev); + pci_set_drvdata(pci_dev, NULL); + + kfree(bus); } - #ifdef CONFIG_PM + #ifdef CONFIG_PM_SLEEP static int iwl_pci_suspend(struct device *device) {