|
@@ -495,7 +495,9 @@ static const struct iwl_hcmd_arr iwl_mvm_groups[] = {
|
|
|
|
|
|
/* this forward declaration can avoid to export the function */
|
|
|
static void iwl_mvm_async_handlers_wk(struct work_struct *wk);
|
|
|
+#ifdef CONFIG_PM
|
|
|
static void iwl_mvm_d0i3_exit_work(struct work_struct *wk);
|
|
|
+#endif
|
|
|
|
|
|
static u32 iwl_mvm_min_backoff(struct iwl_mvm *mvm)
|
|
|
{
|
|
@@ -665,7 +667,9 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg,
|
|
|
|
|
|
INIT_WORK(&mvm->async_handlers_wk, iwl_mvm_async_handlers_wk);
|
|
|
INIT_WORK(&mvm->roc_done_wk, iwl_mvm_roc_done_wk);
|
|
|
+#ifdef CONFIG_PM
|
|
|
INIT_WORK(&mvm->d0i3_exit_work, iwl_mvm_d0i3_exit_work);
|
|
|
+#endif
|
|
|
INIT_DELAYED_WORK(&mvm->tdls_cs.dwork, iwl_mvm_tdls_ch_switch_work);
|
|
|
INIT_DELAYED_WORK(&mvm->scan_timeout_dwork, iwl_mvm_scan_timeout_wk);
|
|
|
INIT_WORK(&mvm->add_stream_wk, iwl_mvm_add_new_dqa_stream_wk);
|
|
@@ -1278,6 +1282,7 @@ static void iwl_mvm_cmd_queue_full(struct iwl_op_mode *op_mode)
|
|
|
iwl_mvm_nic_restart(mvm, true);
|
|
|
}
|
|
|
|
|
|
+#ifdef CONFIG_PM
|
|
|
struct iwl_d0i3_iter_data {
|
|
|
struct iwl_mvm *mvm;
|
|
|
struct ieee80211_vif *connected_vif;
|
|
@@ -1689,6 +1694,13 @@ int iwl_mvm_exit_d0i3(struct iwl_op_mode *op_mode)
|
|
|
return _iwl_mvm_exit_d0i3(mvm);
|
|
|
}
|
|
|
|
|
|
+#define IWL_MVM_D0I3_OPS \
|
|
|
+ .enter_d0i3 = iwl_mvm_enter_d0i3, \
|
|
|
+ .exit_d0i3 = iwl_mvm_exit_d0i3,
|
|
|
+#else /* CONFIG_PM */
|
|
|
+#define IWL_MVM_D0I3_OPS
|
|
|
+#endif /* CONFIG_PM */
|
|
|
+
|
|
|
#define IWL_MVM_COMMON_OPS \
|
|
|
/* these could be differentiated */ \
|
|
|
.async_cb = iwl_mvm_async_cb, \
|
|
@@ -1699,8 +1711,7 @@ int iwl_mvm_exit_d0i3(struct iwl_op_mode *op_mode)
|
|
|
.nic_error = iwl_mvm_nic_error, \
|
|
|
.cmd_queue_full = iwl_mvm_cmd_queue_full, \
|
|
|
.nic_config = iwl_mvm_nic_config, \
|
|
|
- .enter_d0i3 = iwl_mvm_enter_d0i3, \
|
|
|
- .exit_d0i3 = iwl_mvm_exit_d0i3, \
|
|
|
+ IWL_MVM_D0I3_OPS \
|
|
|
/* as we only register one, these MUST be common! */ \
|
|
|
.start = iwl_op_mode_mvm_start, \
|
|
|
.stop = iwl_op_mode_mvm_stop
|