aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt2x00.h
diff options
context:
space:
mode:
authorIvo van Doorn <ivdoorn@gmail.com>2008-07-09 09:12:44 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-07-14 14:52:56 -0400
commitbd88a7812f1afd50549f3789cacb707b983fef54 (patch)
tree53818d0fbfacabca3ac5f64bf524f5f71952fa27 /drivers/net/wireless/rt2x00/rt2x00.h
parente360c4cb2bc2fb2a37981809685984efe8433c52 (diff)
rt2x00: Reorganize beacon handling
With the new beacon handling from mac80211 we can reorganize the beacon handling in rt2x00 as well. This patch will move the function to the TX handlers, and move all duplicate code into rt2x00queue.c. After this change the descriptor helper functions from rt2x00queue.c no longer need to be exported outside of rt2x00lib and can be declared static. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00.h')
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00.h36
1 files changed, 1 insertions, 35 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00.h b/drivers/net/wireless/rt2x00/rt2x00.h
index b32fedf4a1b9..f0d7e083d8f8 100644
--- a/drivers/net/wireless/rt2x00/rt2x00.h
+++ b/drivers/net/wireless/rt2x00/rt2x00.h
@@ -521,6 +521,7 @@ struct rt2x00lib_ops {
521 struct sk_buff *skb, 521 struct sk_buff *skb,
522 struct txentry_desc *txdesc); 522 struct txentry_desc *txdesc);
523 int (*write_tx_data) (struct queue_entry *entry); 523 int (*write_tx_data) (struct queue_entry *entry);
524 void (*write_beacon) (struct queue_entry *entry);
524 int (*get_tx_data_len) (struct rt2x00_dev *rt2x00dev, 525 int (*get_tx_data_len) (struct rt2x00_dev *rt2x00dev,
525 struct sk_buff *skb); 526 struct sk_buff *skb);
526 void (*kick_tx_queue) (struct rt2x00_dev *rt2x00dev, 527 void (*kick_tx_queue) (struct rt2x00_dev *rt2x00dev,
@@ -535,8 +536,6 @@ struct rt2x00lib_ops {
535 /* 536 /*
536 * Configuration handlers. 537 * Configuration handlers.
537 */ 538 */
538 int (*beacon_update) (struct ieee80211_hw *hw, struct sk_buff *bcn);
539
540 void (*config_filter) (struct rt2x00_dev *rt2x00dev, 539 void (*config_filter) (struct rt2x00_dev *rt2x00dev,
541 const unsigned int filter_flags); 540 const unsigned int filter_flags);
542 void (*config_intf) (struct rt2x00_dev *rt2x00dev, 541 void (*config_intf) (struct rt2x00_dev *rt2x00dev,
@@ -913,39 +912,6 @@ static inline u16 get_duration_res(const unsigned int size, const u8 rate)
913void rt2x00queue_map_txskb(struct rt2x00_dev *rt2x00dev, struct sk_buff *skb); 912void rt2x00queue_map_txskb(struct rt2x00_dev *rt2x00dev, struct sk_buff *skb);
914 913
915/** 914/**
916 * rt2x00queue_create_tx_descriptor - Create TX descriptor from mac80211 input
917 * @entry: The entry which will be used to transfer the TX frame.
918 * @txdesc: rt2x00 TX descriptor which will be initialized by this function.
919 *
920 * This function will initialize the &struct txentry_desc based on information
921 * from mac80211. This descriptor can then be used by rt2x00lib and the drivers
922 * to correctly initialize the hardware descriptor.
923 * Note that before calling this function the skb->cb array must be untouched
924 * by rt2x00lib. Only after this function completes will it be save to
925 * overwrite the skb->cb information.
926 * The reason for this is that mac80211 writes its own tx information into
927 * the skb->cb array, and this function will use that information to initialize
928 * the &struct txentry_desc structure.
929 */
930void rt2x00queue_create_tx_descriptor(struct queue_entry *entry,
931 struct txentry_desc *txdesc);
932
933/**
934 * rt2x00queue_write_tx_descriptor - Write TX descriptor to hardware
935 * @entry: The entry which will be used to transfer the TX frame.
936 * @txdesc: TX descriptor which will be used to write hardware descriptor
937 *
938 * This function will write a TX descriptor initialized by
939 * &rt2x00queue_create_tx_descriptor to the hardware. After this call
940 * has completed the frame is now owned by the hardware, the hardware
941 * queue will have automatically be kicked unless this frame was generated
942 * by rt2x00lib, in which case the frame is "special" and must be kicked
943 * by the caller.
944 */
945void rt2x00queue_write_tx_descriptor(struct queue_entry *entry,
946 struct txentry_desc *txdesc);
947
948/**
949 * rt2x00queue_get_queue - Convert queue index to queue pointer 915 * rt2x00queue_get_queue - Convert queue index to queue pointer
950 * @rt2x00dev: Pointer to &struct rt2x00_dev. 916 * @rt2x00dev: Pointer to &struct rt2x00_dev.
951 * @queue: rt2x00 queue index (see &enum data_queue_qid). 917 * @queue: rt2x00 queue index (see &enum data_queue_qid).