mt76x0: usb: move mt76x0u_tx_prepare_skb in usb.c
Move mt76x0u_tx_prepare_skb routine in usb module in order to remove leftover usb dependency from generic code Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
8d98c15343
commit
66a9ccd6e3
|
@ -168,12 +168,12 @@ void mt76x0_mac_set_ampdu_factor(struct mt76x0_dev *dev);
|
||||||
/* TX */
|
/* TX */
|
||||||
void mt76x0_tx(struct ieee80211_hw *hw, struct ieee80211_tx_control *control,
|
void mt76x0_tx(struct ieee80211_hw *hw, struct ieee80211_tx_control *control,
|
||||||
struct sk_buff *skb);
|
struct sk_buff *skb);
|
||||||
|
struct mt76x02_txwi *
|
||||||
|
mt76x0_push_txwi(struct mt76x0_dev *dev, struct sk_buff *skb,
|
||||||
|
struct ieee80211_sta *sta, struct mt76_wcid *wcid,
|
||||||
|
int pkt_len);
|
||||||
|
|
||||||
void mt76x0_queue_rx_skb(struct mt76_dev *mdev, enum mt76_rxq_id q,
|
void mt76x0_queue_rx_skb(struct mt76_dev *mdev, enum mt76_rxq_id q,
|
||||||
struct sk_buff *skb);
|
struct sk_buff *skb);
|
||||||
|
|
||||||
int mt76x0_tx_prepare_skb(struct mt76_dev *mdev, void *data,
|
|
||||||
struct sk_buff *skb, struct mt76_queue *q,
|
|
||||||
struct mt76_wcid *wcid, struct ieee80211_sta *sta,
|
|
||||||
u32 *tx_info);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -17,10 +17,10 @@
|
||||||
#include "../mt76x02_util.h"
|
#include "../mt76x02_util.h"
|
||||||
#include "../mt76x02_usb.h"
|
#include "../mt76x02_usb.h"
|
||||||
|
|
||||||
static struct mt76x02_txwi *
|
struct mt76x02_txwi *
|
||||||
mt76x0_push_txwi(struct mt76x0_dev *dev, struct sk_buff *skb,
|
mt76x0_push_txwi(struct mt76x0_dev *dev, struct sk_buff *skb,
|
||||||
struct ieee80211_sta *sta, struct mt76_wcid *wcid,
|
struct ieee80211_sta *sta, struct mt76_wcid *wcid,
|
||||||
int pkt_len)
|
int pkt_len)
|
||||||
{
|
{
|
||||||
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
|
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
|
||||||
struct ieee80211_tx_rate *rate = &info->control.rates[0];
|
struct ieee80211_tx_rate *rate = &info->control.rates[0];
|
||||||
|
@ -53,6 +53,7 @@ mt76x0_push_txwi(struct mt76x0_dev *dev, struct sk_buff *skb,
|
||||||
|
|
||||||
return txwi;
|
return txwi;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(mt76x0_push_txwi);
|
||||||
|
|
||||||
void mt76x0_tx(struct ieee80211_hw *hw, struct ieee80211_tx_control *control,
|
void mt76x0_tx(struct ieee80211_hw *hw, struct ieee80211_tx_control *control,
|
||||||
struct sk_buff *skb)
|
struct sk_buff *skb)
|
||||||
|
@ -83,22 +84,6 @@ void mt76x0_tx(struct ieee80211_hw *hw, struct ieee80211_tx_control *control,
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(mt76x0_tx);
|
EXPORT_SYMBOL_GPL(mt76x0_tx);
|
||||||
|
|
||||||
int mt76x0_tx_prepare_skb(struct mt76_dev *mdev, void *data,
|
|
||||||
struct sk_buff *skb, struct mt76_queue *q,
|
|
||||||
struct mt76_wcid *wcid, struct ieee80211_sta *sta,
|
|
||||||
u32 *tx_info)
|
|
||||||
{
|
|
||||||
struct mt76x0_dev *dev = container_of(mdev, struct mt76x0_dev, mt76);
|
|
||||||
struct mt76x02_txwi *txwi;
|
|
||||||
int len = skb->len;
|
|
||||||
|
|
||||||
mt76x02_insert_hdr_pad(skb);
|
|
||||||
txwi = mt76x0_push_txwi(dev, skb, sta, wcid, len);
|
|
||||||
|
|
||||||
return mt76x02u_set_txinfo(skb, wcid, q2ep(q->hw_idx));
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL_GPL(mt76x0_tx_prepare_skb);
|
|
||||||
|
|
||||||
void mt76x0_queue_rx_skb(struct mt76_dev *mdev, enum mt76_rxq_id q,
|
void mt76x0_queue_rx_skb(struct mt76_dev *mdev, enum mt76_rxq_id q,
|
||||||
struct sk_buff *skb)
|
struct sk_buff *skb)
|
||||||
{
|
{
|
||||||
|
|
|
@ -159,6 +159,21 @@ static const struct ieee80211_ops mt76x0u_ops = {
|
||||||
.wake_tx_queue = mt76_wake_tx_queue,
|
.wake_tx_queue = mt76_wake_tx_queue,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static int mt76x0u_tx_prepare_skb(struct mt76_dev *mdev, void *data,
|
||||||
|
struct sk_buff *skb, struct mt76_queue *q,
|
||||||
|
struct mt76_wcid *wcid, struct ieee80211_sta *sta,
|
||||||
|
u32 *tx_info)
|
||||||
|
{
|
||||||
|
struct mt76x0_dev *dev = container_of(mdev, struct mt76x0_dev, mt76);
|
||||||
|
struct mt76x02_txwi *txwi;
|
||||||
|
int len = skb->len;
|
||||||
|
|
||||||
|
mt76x02_insert_hdr_pad(skb);
|
||||||
|
txwi = mt76x0_push_txwi(dev, skb, sta, wcid, len);
|
||||||
|
|
||||||
|
return mt76x02u_set_txinfo(skb, wcid, q2ep(q->hw_idx));
|
||||||
|
}
|
||||||
|
|
||||||
static int mt76x0u_register_device(struct mt76x0_dev *dev)
|
static int mt76x0u_register_device(struct mt76x0_dev *dev)
|
||||||
{
|
{
|
||||||
struct ieee80211_hw *hw = dev->mt76.hw;
|
struct ieee80211_hw *hw = dev->mt76.hw;
|
||||||
|
@ -215,7 +230,7 @@ static int mt76x0u_probe(struct usb_interface *usb_intf,
|
||||||
const struct usb_device_id *id)
|
const struct usb_device_id *id)
|
||||||
{
|
{
|
||||||
static const struct mt76_driver_ops drv_ops = {
|
static const struct mt76_driver_ops drv_ops = {
|
||||||
.tx_prepare_skb = mt76x0_tx_prepare_skb,
|
.tx_prepare_skb = mt76x0u_tx_prepare_skb,
|
||||||
.tx_complete_skb = mt76x02_tx_complete_skb,
|
.tx_complete_skb = mt76x02_tx_complete_skb,
|
||||||
.tx_status_data = mt76x02_tx_status_data,
|
.tx_status_data = mt76x02_tx_status_data,
|
||||||
.rx_skb = mt76x0_queue_rx_skb,
|
.rx_skb = mt76x0_queue_rx_skb,
|
||||||
|
|
Loading…
Reference in New Issue