]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/net/wireless/iwlwifi/iwl-core.h
iwl3945: use iwl_set_mode in 3945
[karo-tx-linux.git] / drivers / net / wireless / iwlwifi / iwl-core.h
index 04473858b9b526875ef5641850aa3f6d3a9984fd..49df47a53b5d3b6f8eec08f91e0783ef6ce57a1f 100644 (file)
@@ -83,9 +83,21 @@ struct iwl_cmd;
 #define IWL_SKU_A       0x2
 #define IWL_SKU_N       0x8
 
+struct iwl_station_mgmt_ops {
+       u8 (*add_station)(struct iwl_priv *priv, const u8 *addr,
+                       int is_ap, u8 flags, struct ieee80211_sta_ht_cap *ht_info);
+       int (*remove_station)(struct iwl_priv *priv, const u8 *addr,
+                       int is_ap);
+       u8 (*find_station)(struct iwl_priv *priv, const u8 *addr);
+       void (*clear_station_table)(struct iwl_priv *priv);
+};
+
 struct iwl_hcmd_ops {
        int (*rxon_assoc)(struct iwl_priv *priv);
+       int (*commit_rxon)(struct iwl_priv *priv);
+       void (*set_rxon_chain)(struct iwl_priv *priv);
 };
+
 struct iwl_hcmd_utils_ops {
        u16 (*get_hcmd_size)(u8 cmd_id, u16 len);
        u16 (*build_addsta_hcmd)(const struct iwl_addsta_cmd *cmd, u8 *data);
@@ -159,6 +171,7 @@ struct iwl_ops {
        const struct iwl_lib_ops *lib;
        const struct iwl_hcmd_ops *hcmd;
        const struct iwl_hcmd_utils_ops *utils;
+       const struct iwl_station_mgmt_ops *smgmt;
 };
 
 struct iwl_mod_params {
@@ -259,6 +272,8 @@ void iwl_bss_info_changed(struct ieee80211_hw *hw,
                                     struct ieee80211_bss_conf *bss_conf,
                                     u32 changes);
 int iwl_mac_beacon_update(struct ieee80211_hw *hw, struct sk_buff *skb);
+int iwl_commit_rxon(struct iwl_priv *priv);
+int iwl_set_mode(struct iwl_priv *priv, int mode);
 
 /*****************************************************
  * RX handlers.
@@ -541,6 +556,10 @@ static inline int iwl_send_rxon_assoc(struct iwl_priv *priv)
 {
        return priv->cfg->ops->hcmd->rxon_assoc(priv);
 }
+static inline int iwlcore_commit_rxon(struct iwl_priv *priv)
+{
+       return priv->cfg->ops->hcmd->commit_rxon(priv);
+}
 
 static inline const struct ieee80211_supported_band *iwl_get_hw_mode(
                        struct iwl_priv *priv, enum ieee80211_band band)