mirror of
https://github.com/torvalds/linux.git
synced 2024-11-15 00:21:59 +00:00
rtlwifi: Change PCI drivers to use the new PM framework
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
7f2a5e214d
commit
603be3885b
@ -1993,36 +1993,25 @@ call rtl_mac_stop() from the mac80211
|
||||
suspend function first, So there is
|
||||
no need to call hw_disable here.
|
||||
****************************************/
|
||||
int rtl_pci_suspend(struct pci_dev *pdev, pm_message_t state)
|
||||
int rtl_pci_suspend(struct device *dev)
|
||||
{
|
||||
struct pci_dev *pdev = to_pci_dev(dev);
|
||||
struct ieee80211_hw *hw = pci_get_drvdata(pdev);
|
||||
struct rtl_priv *rtlpriv = rtl_priv(hw);
|
||||
|
||||
rtlpriv->cfg->ops->hw_suspend(hw);
|
||||
rtl_deinit_rfkill(hw);
|
||||
|
||||
pci_save_state(pdev);
|
||||
pci_disable_device(pdev);
|
||||
pci_set_power_state(pdev, PCI_D3hot);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(rtl_pci_suspend);
|
||||
|
||||
int rtl_pci_resume(struct pci_dev *pdev)
|
||||
int rtl_pci_resume(struct device *dev)
|
||||
{
|
||||
int ret;
|
||||
struct pci_dev *pdev = to_pci_dev(dev);
|
||||
struct ieee80211_hw *hw = pci_get_drvdata(pdev);
|
||||
struct rtl_priv *rtlpriv = rtl_priv(hw);
|
||||
|
||||
pci_set_power_state(pdev, PCI_D0);
|
||||
ret = pci_enable_device(pdev);
|
||||
if (ret) {
|
||||
RT_ASSERT(false, ("ERR: <======\n"));
|
||||
return ret;
|
||||
}
|
||||
|
||||
pci_restore_state(pdev);
|
||||
|
||||
rtlpriv->cfg->ops->hw_resume(hw);
|
||||
rtl_init_rfkill(hw);
|
||||
return 0;
|
||||
|
@ -237,8 +237,8 @@ extern struct rtl_intf_ops rtl_pci_ops;
|
||||
int __devinit rtl_pci_probe(struct pci_dev *pdev,
|
||||
const struct pci_device_id *id);
|
||||
void rtl_pci_disconnect(struct pci_dev *pdev);
|
||||
int rtl_pci_suspend(struct pci_dev *pdev, pm_message_t state);
|
||||
int rtl_pci_resume(struct pci_dev *pdev);
|
||||
int rtl_pci_suspend(struct device *dev);
|
||||
int rtl_pci_resume(struct device *dev);
|
||||
|
||||
static inline u8 pci_read8_sync(struct rtl_priv *rtlpriv, u32 addr)
|
||||
{
|
||||
|
@ -370,17 +370,21 @@ MODULE_PARM_DESC(swlps, "Set to 1 to use SW control power save (default 0)\n");
|
||||
MODULE_PARM_DESC(fwlps, "Set to 1 to use FW control power save (default 1)\n");
|
||||
MODULE_PARM_DESC(debug, "Set debug level (0-5) (default 0)");
|
||||
|
||||
static const struct dev_pm_ops rtlwifi_pm_ops = {
|
||||
.suspend = rtl_pci_suspend,
|
||||
.resume = rtl_pci_resume,
|
||||
.freeze = rtl_pci_suspend,
|
||||
.thaw = rtl_pci_resume,
|
||||
.poweroff = rtl_pci_suspend,
|
||||
.restore = rtl_pci_resume,
|
||||
};
|
||||
|
||||
static struct pci_driver rtl92ce_driver = {
|
||||
.name = KBUILD_MODNAME,
|
||||
.id_table = rtl92ce_pci_ids,
|
||||
.probe = rtl_pci_probe,
|
||||
.remove = rtl_pci_disconnect,
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
.suspend = rtl_pci_suspend,
|
||||
.resume = rtl_pci_resume,
|
||||
#endif
|
||||
|
||||
.driver.pm = &rtlwifi_pm_ops,
|
||||
};
|
||||
|
||||
static int __init rtl92ce_module_init(void)
|
||||
|
@ -390,17 +390,21 @@ MODULE_PARM_DESC(swlps, "Set to 1 to use SW control power save (default 0)\n");
|
||||
MODULE_PARM_DESC(fwlps, "Set to 1 to use FW control power save (default 1)\n");
|
||||
MODULE_PARM_DESC(debug, "Set debug level (0-5) (default 0)");
|
||||
|
||||
static const struct dev_pm_ops rtlwifi_pm_ops = {
|
||||
.suspend = rtl_pci_suspend,
|
||||
.resume = rtl_pci_resume,
|
||||
.freeze = rtl_pci_suspend,
|
||||
.thaw = rtl_pci_resume,
|
||||
.poweroff = rtl_pci_suspend,
|
||||
.restore = rtl_pci_resume,
|
||||
};
|
||||
|
||||
static struct pci_driver rtl92de_driver = {
|
||||
.name = KBUILD_MODNAME,
|
||||
.id_table = rtl92de_pci_ids,
|
||||
.probe = rtl_pci_probe,
|
||||
.remove = rtl_pci_disconnect,
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
.suspend = rtl_pci_suspend,
|
||||
.resume = rtl_pci_resume,
|
||||
#endif
|
||||
|
||||
.driver.pm = &rtlwifi_pm_ops,
|
||||
};
|
||||
|
||||
/* add global spin lock to solve the problem that
|
||||
|
@ -401,17 +401,21 @@ MODULE_PARM_DESC(swlps, "Set to 1 to use SW control power save (default 0)\n");
|
||||
MODULE_PARM_DESC(fwlps, "Set to 1 to use FW control power save (default 1)\n");
|
||||
MODULE_PARM_DESC(debug, "Set debug level (0-5) (default 0)");
|
||||
|
||||
static const struct dev_pm_ops rtlwifi_pm_ops = {
|
||||
.suspend = rtl_pci_suspend,
|
||||
.resume = rtl_pci_resume,
|
||||
.freeze = rtl_pci_suspend,
|
||||
.thaw = rtl_pci_resume,
|
||||
.poweroff = rtl_pci_suspend,
|
||||
.restore = rtl_pci_resume,
|
||||
};
|
||||
|
||||
static struct pci_driver rtl92se_driver = {
|
||||
.name = KBUILD_MODNAME,
|
||||
.id_table = rtl92se_pci_ids,
|
||||
.probe = rtl_pci_probe,
|
||||
.remove = rtl_pci_disconnect,
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
.suspend = rtl_pci_suspend,
|
||||
.resume = rtl_pci_resume,
|
||||
#endif
|
||||
|
||||
.driver.pm = &rtlwifi_pm_ops,
|
||||
};
|
||||
|
||||
static int __init rtl92se_module_init(void)
|
||||
|
Loading…
Reference in New Issue
Block a user