ath6kl: Add tx_complete() to struct htc_ep_callbacks
authorKalle Valo <kvalo@qca.qualcomm.com>
Sun, 25 Mar 2012 14:15:22 +0000 (17:15 +0300)
committerKalle Valo <kvalo@qca.qualcomm.com>
Mon, 26 Mar 2012 13:36:45 +0000 (16:36 +0300)
This is needed by the USB code. Also while at it replace one void pointer
with a properly typed pointer.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath6kl/core.h
drivers/net/wireless/ath/ath6kl/htc.c
drivers/net/wireless/ath/ath6kl/htc.h
drivers/net/wireless/ath/ath6kl/txrx.c

index a29a349..f1ce003 100644 (file)
@@ -754,7 +754,8 @@ void init_netdev(struct net_device *dev);
 void ath6kl_cookie_init(struct ath6kl *ar);
 void ath6kl_cookie_cleanup(struct ath6kl *ar);
 void ath6kl_rx(struct htc_target *target, struct htc_packet *packet);
-void ath6kl_tx_complete(void *context, struct list_head *packet_queue);
+void ath6kl_tx_complete(struct htc_target *context,
+                       struct list_head *packet_queue);
 enum htc_send_full_action ath6kl_tx_queue_full(struct htc_target *target,
                                               struct htc_packet *packet);
 void ath6kl_stop_txrx(struct ath6kl *ar);
index 5dfb7cc..9173d46 100644 (file)
@@ -432,7 +432,7 @@ static void htc_tx_complete(struct htc_endpoint *endpoint,
                   "htc tx complete ep %d pkts %d\n",
                   endpoint->eid, get_queue_depth(txq));
 
-       ath6kl_tx_complete(endpoint->target->dev->ar, txq);
+       ath6kl_tx_complete(endpoint->target, txq);
 }
 
 static void htc_tx_comp_handler(struct htc_target *target,
index 5027ccc..7b0c489 100644 (file)
@@ -319,6 +319,7 @@ enum htc_send_full_action {
 };
 
 struct htc_ep_callbacks {
+       void (*tx_complete) (struct htc_target *, struct htc_packet *);
        void (*rx) (struct htc_target *, struct htc_packet *);
        void (*rx_refill) (struct htc_target *, enum htc_endpoint_id endpoint);
        enum htc_send_full_action (*tx_full) (struct htc_target *,
index f85353f..befe305 100644 (file)
@@ -666,9 +666,10 @@ static void ath6kl_tx_clear_node_map(struct ath6kl_vif *vif,
        }
 }
 
-void ath6kl_tx_complete(void *context, struct list_head *packet_queue)
+void ath6kl_tx_complete(struct htc_target *target,
+                       struct list_head *packet_queue)
 {
-       struct ath6kl *ar = context;
+       struct ath6kl *ar = target->dev->ar;
        struct sk_buff_head skb_queue;
        struct htc_packet *packet;
        struct sk_buff *skb;