#ifdef CONFIG_PM_SLEEP
 static int ath5k_pci_suspend(struct device *dev)
 {
-       struct pci_dev *pdev = to_pci_dev(dev);
-       struct ieee80211_hw *hw = pci_get_drvdata(pdev);
+       struct ieee80211_hw *hw = dev_get_drvdata(dev);
        struct ath5k_hw *ah = hw->priv;
 
        ath5k_led_off(ah);
 
 
 static int ath_pci_suspend(struct device *device)
 {
-       struct pci_dev *pdev = to_pci_dev(device);
-       struct ieee80211_hw *hw = pci_get_drvdata(pdev);
+       struct ieee80211_hw *hw = dev_get_drvdata(device);
        struct ath_softc *sc = hw->priv;
        struct ath_common *common = ath9k_hw_common(sc->sc_ah);
 
        if (test_bit(ATH_OP_WOW_ENABLED, &common->op_flags)) {
-               dev_info(&pdev->dev, "WOW is enabled, bypassing PCI suspend\n");
+               dev_info(device, "WOW is enabled, bypassing PCI suspend\n");
                return 0;
        }
 
 
 
 static int __maybe_unused wil6210_pm_runtime_idle(struct device *dev)
 {
-       struct pci_dev *pdev = to_pci_dev(dev);
-       struct wil6210_priv *wil = pci_get_drvdata(pdev);
+       struct wil6210_priv *wil = dev_get_drvdata(dev);
 
        wil_dbg_pm(wil, "Runtime idle\n");
 
 
 static int __maybe_unused wil6210_pm_runtime_suspend(struct device *dev)
 {
-       struct pci_dev *pdev = to_pci_dev(dev);
-       struct wil6210_priv *wil = pci_get_drvdata(pdev);
+       struct wil6210_priv *wil = dev_get_drvdata(dev);
 
        if (test_bit(wil_status_suspended, wil->status)) {
                wil_dbg_pm(wil, "trying to suspend while suspended\n");