diff options
Diffstat (limited to 'drivers/net/wireless/libertas/decl.h')
| -rw-r--r-- | drivers/net/wireless/libertas/decl.h | 121 |
1 files changed, 60 insertions, 61 deletions
diff --git a/drivers/net/wireless/libertas/decl.h b/drivers/net/wireless/libertas/decl.h index 606bdd002be..84a3aa7ac57 100644 --- a/drivers/net/wireless/libertas/decl.h +++ b/drivers/net/wireless/libertas/decl.h @@ -1,83 +1,82 @@ -/** - * This file contains declaration referring to - * functions defined in other source files - */ -#ifndef _WLAN_DECL_H_ -#define _WLAN_DECL_H_ +/* + * This file contains declaration referring to + * functions defined in other source files + */ -#include "defs.h" +#ifndef _LBS_DECL_H_ +#define _LBS_DECL_H_ -/** Function Prototype Declaration */ -struct wlan_private; -struct sk_buff; -struct net_device; +#include <linux/netdevice.h> +#include <linux/firmware.h> +#include <linux/nl80211.h> -extern char *libertas_fw_name; +/* Should be terminated by a NULL entry */ +struct lbs_fw_table { + int model; + const char *helper; + const char *fwname; +}; -void libertas_free_adapter(wlan_private * priv); -int libertas_set_mac_packet_filter(wlan_private * priv); +struct lbs_private; +typedef void (*lbs_fw_cb)(struct lbs_private *priv, int ret, + const struct firmware *helper, const struct firmware *mainfw); -int libertas_send_null_packet(wlan_private * priv, u8 pwr_mgmt); -void libertas_send_tx_feedback(wlan_private * priv); -u8 libertas_check_last_packet_indication(wlan_private * priv); +struct lbs_private; +struct sk_buff; +struct net_device; +struct cmd_ds_command; -int libertas_free_cmd_buffer(wlan_private * priv); -struct cmd_ctrl_node; -struct cmd_ctrl_node *libertas_get_free_cmd_ctrl_node(wlan_private * priv); -void libertas_set_cmd_ctrl_node(wlan_private * priv, - struct cmd_ctrl_node *ptempnode, - u32 cmd_oid, u16 wait_option, void *pdata_buf); +/* ethtool.c */ +extern const struct ethtool_ops lbs_ethtool_ops; -int libertas_prepare_and_send_command(wlan_private * priv, - u16 cmd_no, - u16 cmd_action, - u16 wait_option, u32 cmd_oid, void *pdata_buf); -void libertas_queue_cmd(wlan_adapter * adapter, struct cmd_ctrl_node *cmdnode, u8 addtail); +/* tx.c */ +void lbs_send_tx_feedback(struct lbs_private *priv, u32 try_count); +netdev_tx_t lbs_hard_start_xmit(struct sk_buff *skb, + struct net_device *dev); -int libertas_allocate_cmd_buffer(wlan_private * priv); -int libertas_execute_next_command(wlan_private * priv); -int libertas_process_event(wlan_private * priv); -void libertas_interrupt(struct net_device *); -int libertas_set_radio_control(wlan_private * priv); -u32 libertas_index_to_data_rate(u8 index); -u8 libertas_data_rate_to_index(u32 rate); -void libertas_get_fwversion(wlan_adapter * adapter, char *fwversion, int maxlen); +/* rx.c */ +int lbs_process_rxed_packet(struct lbs_private *priv, struct sk_buff *); -int libertas_upload_rx_packet(wlan_private * priv, struct sk_buff *skb); -/** The proc fs interface */ -int libertas_process_rx_command(wlan_private * priv); -int libertas_process_tx(wlan_private * priv, struct sk_buff *skb); -void libertas_cleanup_and_insert_cmd(wlan_private * priv, - struct cmd_ctrl_node *ptempcmd); -void __libertas_cleanup_and_insert_cmd(wlan_private * priv, - struct cmd_ctrl_node *ptempcmd); +/* main.c */ +struct lbs_private *lbs_add_card(void *card, struct device *dmdev); +void lbs_remove_card(struct lbs_private *priv); +int lbs_start_card(struct lbs_private *priv); +void lbs_stop_card(struct lbs_private *priv); +void lbs_host_to_card_done(struct lbs_private *priv); -int libertas_set_regiontable(wlan_private * priv, u8 region, u8 band); +int lbs_start_iface(struct lbs_private *priv); +int lbs_stop_iface(struct lbs_private *priv); +int lbs_set_iface_type(struct lbs_private *priv, enum nl80211_iftype type); -int libertas_process_rxed_packet(wlan_private * priv, struct sk_buff *); +int lbs_rtap_supported(struct lbs_private *priv); -void libertas_ps_sleep(wlan_private * priv, int wait_option); -void libertas_ps_confirm_sleep(wlan_private * priv, u16 psmode); -void libertas_ps_wakeup(wlan_private * priv, int wait_option); +int lbs_set_mac_address(struct net_device *dev, void *addr); +void lbs_set_multicast_list(struct net_device *dev); +void lbs_update_mcast(struct lbs_private *priv); -void libertas_tx_runqueue(wlan_private *priv); +int lbs_suspend(struct lbs_private *priv); +int lbs_resume(struct lbs_private *priv); -extern struct chan_freq_power *libertas_find_cfp_by_band_and_channel( - wlan_adapter * adapter, u8 band, u16 channel); +void lbs_queue_event(struct lbs_private *priv, u32 event); +void lbs_notify_command_response(struct lbs_private *priv, u8 resp_idx); -extern void libertas_mac_event_disconnected(wlan_private * priv); +int lbs_enter_auto_deep_sleep(struct lbs_private *priv); +int lbs_exit_auto_deep_sleep(struct lbs_private *priv); -void libertas_send_iwevcustom_event(wlan_private * priv, s8 * str); +u32 lbs_fw_index_to_data_rate(u8 index); +u8 lbs_data_rate_to_fw_index(u32 rate); -int reset_device(wlan_private *priv); -/* main.c */ -extern struct chan_freq_power *libertas_get_region_cfp_table(u8 region, u8 band, - int *cfp_no); -wlan_private *wlan_add_card(void *card); -int wlan_remove_card(void *card); +int lbs_get_firmware(struct device *dev, u32 card_model, + const struct lbs_fw_table *fw_table, + const struct firmware **helper, + const struct firmware **mainfw); +int lbs_get_firmware_async(struct lbs_private *priv, struct device *device, + u32 card_model, const struct lbs_fw_table *fw_table, + lbs_fw_cb callback); +void lbs_wait_for_firmware_load(struct lbs_private *priv); -#endif /* _WLAN_DECL_H_ */ +#endif |
