提交 b9692d17 编写于 作者: F Franky Lin 提交者: John W. Linville

brcm80211: fmac: abstract bus_txdata interface function pointer

Abstract bus layer brcmf_bus_txdata function pointer for common
layer. This patch is part of the fullmac bus interface refactoring.
Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: NArend van Spriel <arend@broadcom.com>
Reviewed-by: NAlwin Beukers <alwin@broadcom.com>
Signed-off-by: NFranky Lin <frankyl@broadcom.com>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 99a0b8ff
...@@ -53,6 +53,8 @@ struct brcmf_bus { ...@@ -53,6 +53,8 @@ struct brcmf_bus {
void (*brcmf_bus_stop)(struct device *); void (*brcmf_bus_stop)(struct device *);
/* Initialize bus module: prepare for communication w/dongle */ /* Initialize bus module: prepare for communication w/dongle */
int (*brcmf_bus_init)(struct device *); int (*brcmf_bus_init)(struct device *);
/* Send a data frame to the dongle. Callee disposes of txp. */
int (*brcmf_bus_txdata)(struct device *, struct sk_buff *);
}; };
/* /*
...@@ -99,9 +101,6 @@ extern int brcmf_add_if(struct device *dev, int ifidx, ...@@ -99,9 +101,6 @@ extern int brcmf_add_if(struct device *dev, int ifidx,
/* /*
* Exported from brcmf bus module (brcmf_usb, brcmf_sdio) * Exported from brcmf bus module (brcmf_usb, brcmf_sdio)
*/ */
/* Send a data frame to the dongle. Callee disposes of txp. */
extern int brcmf_sdbrcm_bus_txdata(struct device *dev, struct sk_buff *txp);
/* Send/receive a control message to/from the dongle. /* Send/receive a control message to/from the dongle.
* Expects caller to enforce a single outstanding transaction. * Expects caller to enforce a single outstanding transaction.
*/ */
......
...@@ -291,7 +291,7 @@ int brcmf_sendpkt(struct brcmf_pub *drvr, int ifidx, struct sk_buff *pktbuf) ...@@ -291,7 +291,7 @@ int brcmf_sendpkt(struct brcmf_pub *drvr, int ifidx, struct sk_buff *pktbuf)
brcmf_proto_hdrpush(drvr, ifidx, pktbuf); brcmf_proto_hdrpush(drvr, ifidx, pktbuf);
/* Use bus module to send data frame */ /* Use bus module to send data frame */
return brcmf_sdbrcm_bus_txdata(drvr->dev, pktbuf); return drvr->bus_if->brcmf_bus_txdata(drvr->dev, pktbuf);
} }
static int brcmf_netdev_start_xmit(struct sk_buff *skb, struct net_device *ndev) static int brcmf_netdev_start_xmit(struct sk_buff *skb, struct net_device *ndev)
......
...@@ -2655,7 +2655,7 @@ static int brcmf_sdbrcm_dpc_thread(void *data) ...@@ -2655,7 +2655,7 @@ static int brcmf_sdbrcm_dpc_thread(void *data)
return 0; return 0;
} }
int brcmf_sdbrcm_bus_txdata(struct device *dev, struct sk_buff *pkt) static int brcmf_sdbrcm_bus_txdata(struct device *dev, struct sk_buff *pkt)
{ {
int ret = -EBADE; int ret = -EBADE;
uint datalen, prec; uint datalen, prec;
...@@ -3955,6 +3955,7 @@ void *brcmf_sdbrcm_probe(u32 regsva, struct brcmf_sdio_dev *sdiodev) ...@@ -3955,6 +3955,7 @@ void *brcmf_sdbrcm_probe(u32 regsva, struct brcmf_sdio_dev *sdiodev)
/* Assign bus interface call back */ /* Assign bus interface call back */
bus->sdiodev->bus_if->brcmf_bus_stop = brcmf_sdbrcm_bus_stop; bus->sdiodev->bus_if->brcmf_bus_stop = brcmf_sdbrcm_bus_stop;
bus->sdiodev->bus_if->brcmf_bus_init = brcmf_sdbrcm_bus_init; bus->sdiodev->bus_if->brcmf_bus_init = brcmf_sdbrcm_bus_init;
bus->sdiodev->bus_if->brcmf_bus_txdata = brcmf_sdbrcm_bus_txdata;
/* Attach to the brcmf/OS/network interface */ /* Attach to the brcmf/OS/network interface */
ret = brcmf_attach(SDPCM_RESERVE, bus->sdiodev->dev); ret = brcmf_attach(SDPCM_RESERVE, bus->sdiodev->dev);
if (ret != 0) { if (ret != 0) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册