#include <linux/mutex.h>
#include <linux/list.h>
#include <linux/bitops.h>
+#include <linux/interrupt.h>
#include <net/mac80211.h>
#define DRIVER_NAME "wl1251"
struct dentry *retry_count;
struct dentry *excessive_retries;
+
+ struct dentry *dump_nvs;
+ struct dentry *dump_full;
};
struct wl1251_if_operations {
void (*set_power)(bool enable);
int irq;
bool use_eeprom;
+ bool dump_eeprom;
spinlock_t wl_lock;
u8 bss_type;
u8 listen_int;
int channel;
+ bool monitor_present;
void *target_mem_map;
struct acx_data_path_params_resp *data_path;
bool tx_queue_stopped;
struct work_struct tx_work;
- struct work_struct filter_work;
/* Pending TX frames */
struct sk_buff *tx_frames[16];
/* Most recently reported noise in dBm */
s8 noise;
+
+ void *eeprom_dump;
+
+ /* PS hacks.. */
+ unsigned long ps_change_jiffies;
+ unsigned long last_io_jiffies;
+ struct delayed_work ps_work;
+ bool bss_lost;
+ bool ps_transitioning;
};
int wl1251_plt_start(struct wl1251 *wl);
int wl1251_init_ieee80211(struct wl1251 *wl);
void wl1251_enable_interrupts(struct wl1251 *wl);
void wl1251_disable_interrupts(struct wl1251 *wl);
+irqreturn_t wl1251_irq(int irq, void *cookie);
#define DEFAULT_HW_GEN_MODULATION_TYPE CCK_LONG /* Long Preamble */
#define DEFAULT_HW_GEN_TX_RATE RATE_2MBPS