aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-core.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-core.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-core.h28
1 files changed, 19 insertions, 9 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.h b/drivers/net/wireless/iwlwifi/iwl-core.h
index f3544ea559a2..a0ed4156e25d 100644
--- a/drivers/net/wireless/iwlwifi/iwl-core.h
+++ b/drivers/net/wireless/iwlwifi/iwl-core.h
@@ -112,6 +112,19 @@ struct iwl_hcmd_utils_ops {
112 struct iwl_rx_phy_res *rx_resp); 112 struct iwl_rx_phy_res *rx_resp);
113}; 113};
114 114
115struct iwl_apm_ops {
116 int (*init)(struct iwl_priv *priv);
117 int (*reset)(struct iwl_priv *priv);
118 void (*stop)(struct iwl_priv *priv);
119 void (*config)(struct iwl_priv *priv);
120 int (*set_pwr_src)(struct iwl_priv *priv, enum iwl_pwr_src src);
121};
122
123struct iwl_temp_ops {
124 void (*temperature)(struct iwl_priv *priv);
125 void (*set_ct_kill)(struct iwl_priv *priv);
126};
127
115struct iwl_lib_ops { 128struct iwl_lib_ops {
116 /* set hw dependent parameters */ 129 /* set hw dependent parameters */
117 int (*set_hw_params)(struct iwl_priv *priv); 130 int (*set_hw_params)(struct iwl_priv *priv);
@@ -149,23 +162,20 @@ struct iwl_lib_ops {
149 int (*is_valid_rtc_data_addr)(u32 addr); 162 int (*is_valid_rtc_data_addr)(u32 addr);
150 /* 1st ucode load */ 163 /* 1st ucode load */
151 int (*load_ucode)(struct iwl_priv *priv); 164 int (*load_ucode)(struct iwl_priv *priv);
152 /* power management */ 165 /* power management */
153 struct { 166 struct iwl_apm_ops apm_ops;
154 int (*init)(struct iwl_priv *priv); 167
155 int (*reset)(struct iwl_priv *priv);
156 void (*stop)(struct iwl_priv *priv);
157 void (*config)(struct iwl_priv *priv);
158 int (*set_pwr_src)(struct iwl_priv *priv, enum iwl_pwr_src src);
159 } apm_ops;
160 /* power */ 168 /* power */
161 int (*send_tx_power) (struct iwl_priv *priv); 169 int (*send_tx_power) (struct iwl_priv *priv);
162 void (*update_chain_flags)(struct iwl_priv *priv); 170 void (*update_chain_flags)(struct iwl_priv *priv);
163 void (*temperature) (struct iwl_priv *priv);
164 void (*post_associate) (struct iwl_priv *priv); 171 void (*post_associate) (struct iwl_priv *priv);
165 void (*config_ap) (struct iwl_priv *priv); 172 void (*config_ap) (struct iwl_priv *priv);
166 173
167 /* eeprom operations (as defined in iwl-eeprom.h) */ 174 /* eeprom operations (as defined in iwl-eeprom.h) */
168 struct iwl_eeprom_ops eeprom_ops; 175 struct iwl_eeprom_ops eeprom_ops;
176
177 /* temperature */
178 struct iwl_temp_ops temp_ops;
169}; 179};
170 180
171struct iwl_ops { 181struct iwl_ops {