iwlwifi: Temperature sensor voltage reading for 5150
[pandora-kernel.git] / drivers / net / wireless / iwlwifi / iwl-core.h
index 3bc2f6c..a0ed415 100644 (file)
@@ -112,6 +112,19 @@ struct iwl_hcmd_utils_ops {
                          struct iwl_rx_phy_res *rx_resp);
 };
 
+struct iwl_apm_ops {
+       int (*init)(struct iwl_priv *priv);
+       int (*reset)(struct iwl_priv *priv);
+       void (*stop)(struct iwl_priv *priv);
+       void (*config)(struct iwl_priv *priv);
+       int (*set_pwr_src)(struct iwl_priv *priv, enum iwl_pwr_src src);
+};
+
+struct iwl_temp_ops {
+       void (*temperature)(struct iwl_priv *priv);
+       void (*set_ct_kill)(struct iwl_priv *priv);
+};
+
 struct iwl_lib_ops {
        /* set hw dependent parameters */
        int (*set_hw_params)(struct iwl_priv *priv);
@@ -149,23 +162,20 @@ struct iwl_lib_ops {
        int (*is_valid_rtc_data_addr)(u32 addr);
        /* 1st ucode load */
        int (*load_ucode)(struct iwl_priv *priv);
-        /* power management */
-       struct {
-               int (*init)(struct iwl_priv *priv);
-               int (*reset)(struct iwl_priv *priv);
-               void (*stop)(struct iwl_priv *priv);
-               void (*config)(struct iwl_priv *priv);
-               int (*set_pwr_src)(struct iwl_priv *priv, enum iwl_pwr_src src);
-       } apm_ops;
+       /* power management */
+       struct iwl_apm_ops apm_ops;
+
        /* power */
        int (*send_tx_power) (struct iwl_priv *priv);
        void (*update_chain_flags)(struct iwl_priv *priv);
-       void (*temperature) (struct iwl_priv *priv);
        void (*post_associate) (struct iwl_priv *priv);
        void (*config_ap) (struct iwl_priv *priv);
 
        /* eeprom operations (as defined in iwl-eeprom.h) */
        struct iwl_eeprom_ops eeprom_ops;
+
+       /* temperature */
+       struct iwl_temp_ops temp_ops;
 };
 
 struct iwl_ops {
@@ -176,7 +186,6 @@ struct iwl_ops {
 };
 
 struct iwl_mod_params {
-       int disable;            /* def: 0 = enable radio */
        int sw_crypto;          /* def: 0 = using hardware encryption */
        u32 debug;              /* def: 0 = minimal debug log messages */
        int disable_hw_scan;    /* def: 0 = use h/w scan */
@@ -282,9 +291,6 @@ void iwl_mac_remove_interface(struct ieee80211_hw *hw,
                                 struct ieee80211_if_init_conf *conf);
 int iwl_mac_config(struct ieee80211_hw *hw, u32 changed);
 void iwl_config_ap(struct iwl_priv *priv);
-int iwl_mac_config_interface(struct ieee80211_hw *hw,
-                               struct ieee80211_vif *vif,
-                               struct ieee80211_if_conf *conf);
 int iwl_mac_get_tx_stats(struct ieee80211_hw *hw,
                         struct ieee80211_tx_queue_stats *stats);
 void iwl_mac_reset_tsf(struct ieee80211_hw *hw);
@@ -367,8 +373,6 @@ int iwl_hwrate_to_plcp_idx(u32 rate_n_flags);
 
 u8 iwl_rate_get_lowest_plcp(struct iwl_priv *priv);
 
-void iwl_set_rate(struct iwl_priv *priv);
-
 u8 iwl_toggle_tx_ant(struct iwl_priv *priv, u8 ant_idx);
 
 static inline u32 iwl_ant_idx_to_flags(u8 ant_idx)