wireless: remove WLAN_80211 and WLAN_PRE80211 from Kconfig
[safe/jmp/linux-2.6] / drivers / net / wireless / wl12xx / wl1271.h
index e0ebb1f..566f152 100644 (file)
@@ -113,6 +113,11 @@ enum {
 #define WL1271_NVS_NAME "wl1271-nvs.bin"
 
 /*
+ * Enable/disable 802.11a support for WL1273
+ */
+#undef WL1271_80211A_ENABLED
+
+/*
  * FIXME: for the wl1271, a busy word count of 1 here will result in a more
  * optimal SPI interface. There is some SPI bug however, causing RXS time outs
  * with this mode occasionally on boot, so lets have three for now. A value of
@@ -278,15 +283,15 @@ struct wl1271_debugfs {
 
 /* FW status registers */
 struct wl1271_fw_status {
-       u32 intr;
+       __le32 intr;
        u8  fw_rx_counter;
        u8  drv_rx_counter;
        u8  reserved;
        u8  tx_results_counter;
-       u32 rx_pkt_descs[NUM_RX_PKT_DESC];
-       u32 tx_released_blks[NUM_TX_QUEUES];
-       u32 fw_localtime;
-       u32 padding[2];
+       __le32 rx_pkt_descs[NUM_RX_PKT_DESC];
+       __le32 tx_released_blks[NUM_TX_QUEUES];
+       __le32 fw_localtime;
+       __le32 padding[2];
 } __attribute__ ((packed));
 
 struct wl1271_rx_mem_pool_addr {
@@ -294,6 +299,15 @@ struct wl1271_rx_mem_pool_addr {
        u32 addr_extra;
 };
 
+struct wl1271_scan {
+       u8 state;
+       u8 ssid[IW_ESSID_MAX_SIZE+1];
+       size_t ssid_len;
+       u8 active;
+       u8 high_prio;
+       u8 probe_requests;
+};
+
 struct wl1271 {
        struct ieee80211_hw *hw;
        bool mac80211_registered;
@@ -349,9 +363,6 @@ struct wl1271 {
 
        struct work_struct tx_work;
 
-       struct work_struct filter_work;
-       struct wl1271_filter_params *filter_params;
-
        /* Pending TX frames */
        struct sk_buff *tx_frames[ACX_TX_DESCRIPTORS];
 
@@ -377,6 +388,7 @@ struct wl1271 {
 
        /* Are we currently scanning */
        bool scanning;
+       struct wl1271_scan scan;
 
        /* Our association ID */
        u16 aid;
@@ -414,7 +426,6 @@ struct wl1271 {
        u32 buffer_32;
        u32 buffer_cmd;
        u32 buffer_busyword[WL1271_BUSY_WORD_CNT];
-       struct wl1271_rx_descriptor *rx_descriptor;
 
        struct wl1271_fw_status *fw_status;
        struct wl1271_tx_hw_res_if *tx_res_if;
@@ -426,6 +437,8 @@ struct wl1271 {
 
        /* Current chipset configuration */
        struct conf_drv_settings conf;
+
+       struct list_head list;
 };
 
 int wl1271_plt_start(struct wl1271 *wl);
@@ -442,4 +455,13 @@ int wl1271_plt_stop(struct wl1271 *wl);
 /* WL1271 needs a 200ms sleep after power on */
 #define WL1271_POWER_ON_SLEEP 200 /* in miliseconds */
 
+static inline bool wl1271_11a_enabled(void)
+{
+#ifdef WL1271_80211A_ENABLED
+       return true;
+#else
+       return false;
+#endif
+}
+
 #endif