@@ -864,8 +864,9 @@ mt7615_stop_sched_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
return mt7615_mcu_sched_scan_enable(mphy->priv, vif, false);
}
-static int __maybe_unused
-mt7615_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan)
+#ifdef CONFIG_PM
+static int mt7615_suspend(struct ieee80211_hw *hw,
+ struct cfg80211_wowlan *wowlan)
{
struct mt7615_dev *dev = mt7615_hw_dev(hw);
struct mt7615_phy *phy = mt7615_hw_phy(hw);
@@ -893,7 +894,7 @@ mt7615_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan)
return err;
}
-static int __maybe_unused mt7615_resume(struct ieee80211_hw *hw)
+static int mt7615_resume(struct ieee80211_hw *hw)
{
struct mt7615_dev *dev = mt7615_hw_dev(hw);
struct mt7615_phy *phy = mt7615_hw_phy(hw);
@@ -928,8 +929,7 @@ static int __maybe_unused mt7615_resume(struct ieee80211_hw *hw)
return 0;
}
-static void __maybe_unused
-mt7615_set_wakeup(struct ieee80211_hw *hw, bool enabled)
+static void mt7615_set_wakeup(struct ieee80211_hw *hw, bool enabled)
{
struct mt7615_dev *dev = mt7615_hw_dev(hw);
struct mt76_dev *mdev = &dev->mt76;
@@ -937,13 +937,13 @@ mt7615_set_wakeup(struct ieee80211_hw *hw, bool enabled)
device_set_wakeup_enable(mdev->dev, enabled);
}
-static void __maybe_unused
-mt7615_set_rekey_data(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif,
- struct cfg80211_gtk_rekey_data *data)
+static void mt7615_set_rekey_data(struct ieee80211_hw *hw,
+ struct ieee80211_vif *vif,
+ struct cfg80211_gtk_rekey_data *data)
{
mt7615_mcu_update_gtk_rekey(hw, vif, data);
}
+#endif /* CONFIG_PM */
const struct ieee80211_ops mt7615_ops = {
.tx = mt7615_tx,
@@ -2210,8 +2210,10 @@ int __mt7663_load_firmware(struct mt7615_dev *dev)
return -EIO;
}
- if (IS_ENABLED(CONFIG_PM) && mt7615_firmware_offload(dev))
+#ifdef CONFIG_PM
+ if (mt7615_firmware_offload(dev))
dev->mt76.hw->wiphy->wowlan = &mt7615_wowlan_support;
+#endif /* CONFIG_PM */
dev_dbg(dev->mt76.dev, "Firmware init done\n");
@@ -2709,48 +2711,6 @@ void m7615_mcu_set_ps_iter(void *priv, u8 *mac, struct ieee80211_vif *vif)
&req, sizeof(req), false);
}
-static int
-mt7615_mcu_set_bss_pm(struct mt7615_dev *dev, struct ieee80211_vif *vif,
- bool enable)
-{
- struct mt7615_vif *mvif = (struct mt7615_vif *)vif->drv_priv;
- struct {
- u8 bss_idx;
- u8 dtim_period;
- __le16 aid;
- __le16 bcn_interval;
- __le16 atim_window;
- u8 uapsd;
- u8 bmc_delivered_ac;
- u8 bmc_triggered_ac;
- u8 pad;
- } req = {
- .bss_idx = mvif->idx,
- .aid = cpu_to_le16(vif->bss_conf.aid),
- .dtim_period = vif->bss_conf.dtim_period,
- .bcn_interval = cpu_to_le16(vif->bss_conf.beacon_int),
- };
- struct {
- u8 bss_idx;
- u8 pad[3];
- } req_hdr = {
- .bss_idx = mvif->idx,
- };
- int err;
-
- if (vif->type != NL80211_IFTYPE_STATION ||
- !mt7615_firmware_offload(dev))
- return -ENOTSUPP;
-
- err = __mt76_mcu_send_msg(&dev->mt76, MCU_CMD_SET_BSS_ABORT,
- &req_hdr, sizeof(req_hdr), false);
- if (err < 0 || !enable)
- return err;
-
- return __mt76_mcu_send_msg(&dev->mt76, MCU_CMD_SET_BSS_CONNECTED,
- &req, sizeof(req), false);
-}
-
int mt7615_mcu_set_channel_domain(struct mt7615_phy *phy)
{
struct mt76_phy *mphy = phy->mt76;
@@ -3279,6 +3239,7 @@ int mt7615_mcu_apply_tx_dpd(struct mt7615_phy *phy)
return ret;
}
+#ifdef CONFIG_PM
int mt7615_mcu_set_hif_suspend(struct mt7615_dev *dev, bool suspend)
{
struct {
@@ -3312,6 +3273,48 @@ int mt7615_mcu_set_hif_suspend(struct mt7615_dev *dev, bool suspend)
}
EXPORT_SYMBOL_GPL(mt7615_mcu_set_hif_suspend);
+static int
+mt7615_mcu_set_bss_pm(struct mt7615_dev *dev, struct ieee80211_vif *vif,
+ bool enable)
+{
+ struct mt7615_vif *mvif = (struct mt7615_vif *)vif->drv_priv;
+ struct {
+ u8 bss_idx;
+ u8 dtim_period;
+ __le16 aid;
+ __le16 bcn_interval;
+ __le16 atim_window;
+ u8 uapsd;
+ u8 bmc_delivered_ac;
+ u8 bmc_triggered_ac;
+ u8 pad;
+ } req = {
+ .bss_idx = mvif->idx,
+ .aid = cpu_to_le16(vif->bss_conf.aid),
+ .dtim_period = vif->bss_conf.dtim_period,
+ .bcn_interval = cpu_to_le16(vif->bss_conf.beacon_int),
+ };
+ struct {
+ u8 bss_idx;
+ u8 pad[3];
+ } req_hdr = {
+ .bss_idx = mvif->idx,
+ };
+ int err;
+
+ if (vif->type != NL80211_IFTYPE_STATION ||
+ !mt7615_firmware_offload(dev))
+ return -ENOTSUPP;
+
+ err = __mt76_mcu_send_msg(&dev->mt76, MCU_CMD_SET_BSS_ABORT,
+ &req_hdr, sizeof(req_hdr), false);
+ if (err < 0 || !enable)
+ return err;
+
+ return __mt76_mcu_send_msg(&dev->mt76, MCU_CMD_SET_BSS_CONNECTED,
+ &req, sizeof(req), false);
+}
+
static int
mt7615_mcu_set_wow_ctrl(struct mt7615_dev *dev, struct ieee80211_vif *vif,
bool suspend, struct cfg80211_wowlan *wowlan)
@@ -3529,3 +3532,5 @@ int mt7615_mcu_update_gtk_rekey(struct ieee80211_hw *hw,
return __mt76_mcu_skb_send_msg(&dev->mt76, skb,
MCU_UNI_CMD_OFFLOAD, true);
}
+#endif /* CONFIG_PM */
+
@@ -534,12 +534,14 @@ int mt7615_driver_own(struct mt7615_dev *dev);
int mt7615_init_debugfs(struct mt7615_dev *dev);
int mt7615_mcu_wait_response(struct mt7615_dev *dev, int cmd, int seq);
+#ifdef CONFIG_PM
int mt7615_mcu_set_hif_suspend(struct mt7615_dev *dev, bool suspend);
void mt7615_mcu_set_suspend_iter(void *priv, u8 *mac,
struct ieee80211_vif *vif);
int mt7615_mcu_update_gtk_rekey(struct ieee80211_hw *hw,
struct ieee80211_vif *vif,
struct cfg80211_gtk_rekey_data *key);
+#endif /* CONFIG_PM */
int __mt7663_load_firmware(struct mt7615_dev *dev);
@@ -66,8 +66,8 @@ static void mt7615_pci_remove(struct pci_dev *pdev)
pci_free_irq_vectors(pdev);
}
-static int __maybe_unused mt7615_pci_suspend(struct pci_dev *pdev,
- pm_message_t state)
+#ifdef CONFIG_PM
+static int mt7615_pci_suspend(struct pci_dev *pdev, pm_message_t state)
{
struct mt76_dev *mdev = pci_get_drvdata(pdev);
struct mt7615_dev *dev = container_of(mdev, struct mt7615_dev, mt76);
@@ -128,7 +128,7 @@ static int __maybe_unused mt7615_pci_suspend(struct pci_dev *pdev,
return err;
}
-static int __maybe_unused mt7615_pci_resume(struct pci_dev *pdev)
+static int mt7615_pci_resume(struct pci_dev *pdev)
{
struct mt76_dev *mdev = pci_get_drvdata(pdev);
struct mt7615_dev *dev = container_of(mdev, struct mt7615_dev, mt76);
@@ -168,6 +168,7 @@ static int __maybe_unused mt7615_pci_resume(struct pci_dev *pdev)
return err;
}
+#endif /* CONFIG_PM */
struct pci_driver mt7615_pci_driver = {
.name = KBUILD_MODNAME,
@@ -372,8 +372,8 @@ static void mt7663u_disconnect(struct usb_interface *usb_intf)
ieee80211_free_hw(dev->mt76.hw);
}
-static int __maybe_unused mt7663u_suspend(struct usb_interface *intf,
- pm_message_t state)
+#ifdef CONFIG_PM
+static int mt7663u_suspend(struct usb_interface *intf, pm_message_t state)
{
struct mt7615_dev *dev = usb_get_intfdata(intf);
@@ -394,7 +394,7 @@ static int __maybe_unused mt7663u_suspend(struct usb_interface *intf,
return 0;
}
-static int __maybe_unused mt7663u_resume(struct usb_interface *intf)
+static int mt7663u_resume(struct usb_interface *intf)
{
struct mt7615_dev *dev = usb_get_intfdata(intf);
int err;
@@ -415,6 +415,7 @@ static int __maybe_unused mt7663u_resume(struct usb_interface *intf)
return err;
}
+#endif /* CONFIG_PM */
MODULE_DEVICE_TABLE(usb, mt7615_device_table);
MODULE_FIRMWARE(MT7663_OFFLOAD_FIRMWARE_N9);
Fix compilation error reported by kbuild robot when CONFIG_PM is not defined Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> --- .../net/wireless/mediatek/mt76/mt7615/main.c | 18 ++-- .../net/wireless/mediatek/mt76/mt7615/mcu.c | 91 ++++++++++--------- .../wireless/mediatek/mt76/mt7615/mt7615.h | 2 + .../net/wireless/mediatek/mt76/mt7615/pci.c | 7 +- .../net/wireless/mediatek/mt76/mt7615/usb.c | 7 +- 5 files changed, 67 insertions(+), 58 deletions(-)