Commit d08b6a37 authored by Franky Lin's avatar Franky Lin Committed by John W. Linville

brcm80211: fmac: unify common layer driver data structure

No need to split data structure for common layer into brcmf_pub and
brcmf_info. Absorb brcmf_info into brcmf_pub to increase code
readability.
Reviewed-by: default avatarPieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: default avatarArend van Spriel <arend@broadcom.com>
Reviewed-by: default avatarAlwin Beukers <alwin@broadcom.com>
Signed-off-by: default avatarFranky Lin <frankyl@broadcom.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 5b68a7ca
...@@ -580,7 +580,6 @@ struct brcmf_bus { ...@@ -580,7 +580,6 @@ struct brcmf_bus {
/* Forward decls for struct brcmf_pub (see below) */ /* Forward decls for struct brcmf_pub (see below) */
struct brcmf_sdio; /* device bus info */ struct brcmf_sdio; /* device bus info */
struct brcmf_proto; /* device communication protocol info */ struct brcmf_proto; /* device communication protocol info */
struct brcmf_info; /* device driver info */
struct brcmf_cfg80211_dev; /* cfg80211 device info */ struct brcmf_cfg80211_dev; /* cfg80211 device info */
/* Common structure for module and instance linkage */ /* Common structure for module and instance linkage */
...@@ -589,7 +588,6 @@ struct brcmf_pub { ...@@ -589,7 +588,6 @@ struct brcmf_pub {
struct brcmf_sdio *bus; struct brcmf_sdio *bus;
struct brcmf_bus *bus_if; struct brcmf_bus *bus_if;
struct brcmf_proto *prot; struct brcmf_proto *prot;
struct brcmf_info *info;
struct brcmf_cfg80211_dev *config; struct brcmf_cfg80211_dev *config;
struct device *dev; /* fullmac dongle device pointer */ struct device *dev; /* fullmac dongle device pointer */
...@@ -663,6 +661,15 @@ struct brcmf_pub { ...@@ -663,6 +661,15 @@ struct brcmf_pub {
u8 country_code[BRCM_CNTRY_BUF_SZ]; u8 country_code[BRCM_CNTRY_BUF_SZ];
char eventmask[BRCMF_EVENTING_MASK_LEN]; char eventmask[BRCMF_EVENTING_MASK_LEN];
struct brcmf_if *iflist[BRCMF_MAX_IFS];
struct mutex proto_block;
struct work_struct setmacaddr_work;
struct work_struct multicast_work;
u8 macvalue[ETH_ALEN];
atomic_t pend_8021x_cnt;
}; };
struct brcmf_if_event { struct brcmf_if_event {
...@@ -734,14 +741,14 @@ extern int brcmf_os_proto_unblock(struct brcmf_pub *drvr); ...@@ -734,14 +741,14 @@ extern int brcmf_os_proto_unblock(struct brcmf_pub *drvr);
extern int brcmf_write_to_file(struct brcmf_pub *drvr, const u8 *buf, int size); extern int brcmf_write_to_file(struct brcmf_pub *drvr, const u8 *buf, int size);
#endif /* BCMDBG */ #endif /* BCMDBG */
extern int brcmf_ifname2idx(struct brcmf_info *drvr_priv, char *name); extern int brcmf_ifname2idx(struct brcmf_pub *drvr, char *name);
extern int brcmf_c_host_event(struct brcmf_info *drvr_priv, int *idx, 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_info *drvr_priv, int ifidx, extern int brcmf_add_if(struct brcmf_pub *drvr, int ifidx,
char *name, u8 *mac_addr); char *name, u8 *mac_addr);
extern void brcmf_del_if(struct brcmf_info *drvr_priv, int ifidx); extern void brcmf_del_if(struct brcmf_pub *drvr, int ifidx);
/* Send packet to dongle via data channel */ /* Send packet to dongle via data channel */
extern int brcmf_sendpkt(struct brcmf_pub *drvr, int ifidx,\ extern int brcmf_sendpkt(struct brcmf_pub *drvr, int ifidx,\
......
...@@ -431,7 +431,7 @@ brcmf_c_show_host_event(struct brcmf_event_msg *event, void *event_data) ...@@ -431,7 +431,7 @@ brcmf_c_show_host_event(struct brcmf_event_msg *event, void *event_data)
#endif /* BCMDBG */ #endif /* BCMDBG */
int int
brcmf_c_host_event(struct brcmf_info *drvr_priv, int *ifidx, void *pktdata, brcmf_c_host_event(struct brcmf_pub *drvr, int *ifidx, void *pktdata,
struct brcmf_event_msg *event, void **data_ptr) struct brcmf_event_msg *event, void **data_ptr)
{ {
/* check whether packet is a BRCM event pkt */ /* check whether packet is a BRCM event pkt */
...@@ -473,18 +473,18 @@ brcmf_c_host_event(struct brcmf_info *drvr_priv, int *ifidx, void *pktdata, ...@@ -473,18 +473,18 @@ brcmf_c_host_event(struct brcmf_info *drvr_priv, 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_priv, ifevent->ifidx, brcmf_add_if(drvr, ifevent->ifidx,
event->ifname, event->ifname,
pvt_data->eth.h_dest); pvt_data->eth.h_dest);
else else
brcmf_del_if(drvr_priv, ifevent->ifidx); brcmf_del_if(drvr, ifevent->ifidx);
} else { } else {
brcmf_dbg(ERROR, "Invalid ifidx %d for %s\n", brcmf_dbg(ERROR, "Invalid ifidx %d for %s\n",
ifevent->ifidx, event->ifname); ifevent->ifidx, event->ifname);
} }
/* send up the if event: btamp user needs it */ /* send up the if event: btamp user needs it */
*ifidx = brcmf_ifname2idx(drvr_priv, event->ifname); *ifidx = brcmf_ifname2idx(drvr, event->ifname);
break; break;
/* These are what external supplicant/authenticator wants */ /* These are what external supplicant/authenticator wants */
...@@ -496,7 +496,7 @@ brcmf_c_host_event(struct brcmf_info *drvr_priv, int *ifidx, void *pktdata, ...@@ -496,7 +496,7 @@ brcmf_c_host_event(struct brcmf_info *drvr_priv, int *ifidx, void *pktdata,
default: default:
/* Fall through: this should get _everything_ */ /* Fall through: this should get _everything_ */
*ifidx = brcmf_ifname2idx(drvr_priv, event->ifname); *ifidx = brcmf_ifname2idx(drvr, event->ifname);
brcmf_dbg(TRACE, "MAC event %d, flags %x, status %x\n", brcmf_dbg(TRACE, "MAC event %d, flags %x, status %x\n",
type, flags, status); type, flags, status);
......
...@@ -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((struct brcmf_info *)bus->drvr, 0, "wlan%d", NULL)) { if (brcmf_add_if(bus->drvr, 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%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment