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

brcm80211: fmac: change function add_if parameter

Change parameter to device pointer for bus layer interface function
brcmf_add_if. This 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>
上级 fbf59108
...@@ -574,6 +574,7 @@ struct brcmf_dcmd { ...@@ -574,6 +574,7 @@ struct brcmf_dcmd {
struct brcmf_bus { struct brcmf_bus {
u8 type; /* bus type */ u8 type; /* bus type */
void *bus_priv; /* pointer to bus private structure */ void *bus_priv; /* pointer to bus private structure */
void *drvr; /* pointer to driver pub structure brcmf_pub */
enum brcmf_bus_state state; enum brcmf_bus_state state;
}; };
...@@ -743,7 +744,7 @@ extern int brcmf_c_host_event(struct brcmf_pub *drvr, int *idx, ...@@ -743,7 +744,7 @@ extern int brcmf_c_host_event(struct brcmf_pub *drvr, int *idx,
void *pktdata, struct brcmf_event_msg *, void *pktdata, struct brcmf_event_msg *,
void **data_ptr); void **data_ptr);
extern int brcmf_add_if(struct brcmf_pub *drvr, int ifidx, extern int brcmf_add_if(struct device *dev, int ifidx,
char *name, u8 *mac_addr); char *name, u8 *mac_addr);
extern void brcmf_del_if(struct brcmf_pub *drvr, int ifidx); extern void brcmf_del_if(struct brcmf_pub *drvr, int ifidx);
......
...@@ -473,7 +473,7 @@ brcmf_c_host_event(struct brcmf_pub *drvr, int *ifidx, void *pktdata, ...@@ -473,7 +473,7 @@ brcmf_c_host_event(struct brcmf_pub *drvr, int *ifidx, void *pktdata,
if (ifevent->ifidx > 0 && ifevent->ifidx < BRCMF_MAX_IFS) { if (ifevent->ifidx > 0 && ifevent->ifidx < BRCMF_MAX_IFS) {
if (ifevent->action == BRCMF_E_IF_ADD) if (ifevent->action == BRCMF_E_IF_ADD)
brcmf_add_if(drvr, ifevent->ifidx, brcmf_add_if(drvr->dev, ifevent->ifidx,
event->ifname, event->ifname,
pvt_data->eth.h_dest); pvt_data->eth.h_dest);
else else
......
...@@ -840,10 +840,12 @@ static const struct net_device_ops brcmf_netdev_ops_pri = { ...@@ -840,10 +840,12 @@ static const struct net_device_ops brcmf_netdev_ops_pri = {
}; };
int int
brcmf_add_if(struct brcmf_pub *drvr, int ifidx, char *name, u8 *mac_addr) brcmf_add_if(struct device *dev, int ifidx, char *name, u8 *mac_addr)
{ {
struct brcmf_if *ifp; struct brcmf_if *ifp;
struct net_device *ndev; struct net_device *ndev;
struct brcmf_bus *bus_if = dev_get_drvdata(dev);
struct brcmf_pub *drvr = bus_if->drvr;
brcmf_dbg(TRACE, "idx %d\n", ifidx); brcmf_dbg(TRACE, "idx %d\n", ifidx);
...@@ -937,6 +939,7 @@ struct brcmf_pub *brcmf_attach(struct brcmf_sdio *bus, uint bus_hdrlen, ...@@ -937,6 +939,7 @@ struct brcmf_pub *brcmf_attach(struct brcmf_sdio *bus, uint bus_hdrlen,
drvr->bus = bus; drvr->bus = bus;
drvr->hdrlen = bus_hdrlen; drvr->hdrlen = bus_hdrlen;
drvr->bus_if = dev_get_drvdata(dev); drvr->bus_if = dev_get_drvdata(dev);
drvr->bus_if->drvr = drvr;
drvr->dev = dev; drvr->dev = dev;
/* Attach and link in the protocol */ /* Attach and link in the protocol */
...@@ -1108,6 +1111,7 @@ void brcmf_detach(struct brcmf_pub *drvr) ...@@ -1108,6 +1111,7 @@ void brcmf_detach(struct brcmf_pub *drvr)
if (drvr->prot) if (drvr->prot)
brcmf_proto_detach(drvr); brcmf_proto_detach(drvr);
drvr->bus_if->drvr = NULL;
kfree(drvr); kfree(drvr);
} }
} }
......
...@@ -3980,7 +3980,7 @@ void *brcmf_sdbrcm_probe(u32 regsva, struct brcmf_sdio_dev *sdiodev) ...@@ -3980,7 +3980,7 @@ void *brcmf_sdbrcm_probe(u32 regsva, struct brcmf_sdio_dev *sdiodev)
} }
/* add interface and open for business */ /* add interface and open for business */
if (brcmf_add_if(bus->drvr, 0, "wlan%d", NULL)) { if (brcmf_add_if(bus->sdiodev->dev, 0, "wlan%d", NULL)) {
brcmf_dbg(ERROR, "Add primary net device interface failed!!\n"); brcmf_dbg(ERROR, "Add primary net device interface failed!!\n");
goto fail; goto fail;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册