]> git.proxmox.com Git - mirror_ubuntu-kernels.git/blame - drivers/net/wireless/libertas/decl.h
libertas: kill TxLockFlag
[mirror_ubuntu-kernels.git] / drivers / net / wireless / libertas / decl.h
CommitLineData
876c9d3a
MT
1/**
2 * This file contains declaration referring to
3 * functions defined in other source files
4 */
5
10078321
HS
6#ifndef _LBS_DECL_H_
7#define _LBS_DECL_H_
876c9d3a 8
7732ca45
DW
9#include <linux/device.h>
10
876c9d3a
MT
11#include "defs.h"
12
13/** Function Prototype Declaration */
10078321 14struct lbs_private;
69f9032d 15struct lbs_adapter;
876c9d3a
MT
16struct sk_buff;
17struct net_device;
0d61d042 18struct cmd_ctrl_node;
675787e2 19struct cmd_ds_command;
876c9d3a 20
69f9032d 21int lbs_set_mac_packet_filter(struct lbs_private *priv);
876c9d3a 22
69f9032d 23void lbs_send_tx_feedback(struct lbs_private *priv);
876c9d3a 24
69f9032d 25int lbs_free_cmd_buffer(struct lbs_private *priv);
876c9d3a 26
448a51ae
DW
27int lbs_cmd(struct lbs_private *priv, uint16_t command, void *cmd, int cmd_size,
28 int (*callback)(uint16_t, struct cmd_ds_command *, struct lbs_private *));
675787e2 29
69f9032d
HS
30int lbs_prepare_and_send_command(struct lbs_private *priv,
31 u16 cmd_no,
32 u16 cmd_action,
33 u16 wait_option, u32 cmd_oid, void *pdata_buf);
876c9d3a 34
69f9032d
HS
35void lbs_queue_cmd(struct lbs_adapter *adapter,
36 struct cmd_ctrl_node *cmdnode,
37 u8 addtail);
876c9d3a 38
69f9032d
HS
39int lbs_allocate_cmd_buffer(struct lbs_private *priv);
40int lbs_execute_next_command(struct lbs_private *priv);
41int lbs_process_event(struct lbs_private *priv);
10078321 42void lbs_interrupt(struct net_device *);
69f9032d 43int lbs_set_radio_control(struct lbs_private *priv);
10078321
HS
44u32 lbs_fw_index_to_data_rate(u8 index);
45u8 lbs_data_rate_to_fw_index(u32 rate);
69f9032d
HS
46void lbs_get_fwversion(struct lbs_adapter *adapter,
47 char *fwversion,
48 int maxlen);
876c9d3a 49
69f9032d 50void lbs_upload_rx_packet(struct lbs_private *priv, struct sk_buff *skb);
876c9d3a
MT
51
52/** The proc fs interface */
69f9032d
HS
53int lbs_process_rx_command(struct lbs_private *priv);
54int lbs_process_tx(struct lbs_private *priv, struct sk_buff *skb);
55void __lbs_cleanup_and_insert_cmd(struct lbs_private *priv,
56 struct cmd_ctrl_node *ptempcmd);
876c9d3a 57
69f9032d 58int lbs_set_regiontable(struct lbs_private *priv, u8 region, u8 band);
876c9d3a 59
69f9032d 60int lbs_process_rxed_packet(struct lbs_private *priv, struct sk_buff *);
876c9d3a 61
69f9032d
HS
62void lbs_ps_sleep(struct lbs_private *priv, int wait_option);
63void lbs_ps_confirm_sleep(struct lbs_private *priv, u16 psmode);
64void lbs_ps_wakeup(struct lbs_private *priv, int wait_option);
876c9d3a 65
69f9032d 66void lbs_tx_runqueue(struct lbs_private *priv);
876c9d3a 67
10078321 68struct chan_freq_power *lbs_find_cfp_by_band_and_channel(
69f9032d
HS
69 struct lbs_adapter *adapter,
70 u8 band,
71 u16 channel);
876c9d3a 72
69f9032d 73void lbs_mac_event_disconnected(struct lbs_private *priv);
876c9d3a 74
69f9032d 75void lbs_send_iwevcustom_event(struct lbs_private *priv, s8 *str);
876c9d3a 76
876c9d3a 77/* main.c */
69f9032d
HS
78struct chan_freq_power *lbs_get_region_cfp_table(u8 region,
79 u8 band,
80 int *cfp_no);
81struct lbs_private *lbs_add_card(void *card, struct device *dmdev);
82int lbs_remove_card(struct lbs_private *priv);
83int lbs_start_card(struct lbs_private *priv);
84int lbs_stop_card(struct lbs_private *priv);
85int lbs_add_mesh(struct lbs_private *priv, struct device *dev);
86void lbs_remove_mesh(struct lbs_private *priv);
87int lbs_reset_device(struct lbs_private *priv);
e775ed7c 88void lbs_host_to_card_done(struct lbs_private *priv);
10078321
HS
89
90#endif