aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/brcm80211
diff options
context:
space:
mode:
authorHante Meuleman <meuleman@broadcom.com>2013-12-12 05:59:02 -0500
committerJohn W. Linville <linville@tuxdriver.com>2013-12-18 15:22:53 -0500
commit943258b6a3b1fe4b54dd579b9e2e5bec1d9af407 (patch)
tree2649493c41f64278969f4c8762a1cfb87274ed29 /drivers/net/wireless/brcm80211
parent9ecf51c5831b86b367588f2aa50c0b156738b9c6 (diff)
brcmfmac: Add definition of new protocol layer msgbuf.
A new protocol layer msgbuf will be added in the future. This change makes it possible to select the desired layer by the bus driver. USB and SDIO will select BCDC. At the moment nothing is being done with this information. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/brcm80211')
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c1
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h8
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/usb.c1
3 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
index cf21631440cc..1b333a28a6aa 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
@@ -1036,6 +1036,7 @@ static int brcmf_ops_sdio_probe(struct sdio_func *func,
1036 1036
1037 sdiodev->bus_if = bus_if; 1037 sdiodev->bus_if = bus_if;
1038 bus_if->bus_priv.sdio = sdiodev; 1038 bus_if->bus_priv.sdio = sdiodev;
1039 bus_if->proto_type = BRCMF_PROTO_BCDC;
1039 dev_set_drvdata(&func->dev, bus_if); 1040 dev_set_drvdata(&func->dev, bus_if);
1040 dev_set_drvdata(&sdiodev->func[1]->dev, bus_if); 1041 dev_set_drvdata(&sdiodev->func[1]->dev, bus_if);
1041 sdiodev->dev = &sdiodev->func[1]->dev; 1042 sdiodev->dev = &sdiodev->func[1]->dev;
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h b/drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h
index 6a54905528be..5c12a07673fa 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h
@@ -24,6 +24,12 @@ enum brcmf_bus_state {
24 BRCMF_BUS_DATA /* Ready for frame transfers */ 24 BRCMF_BUS_DATA /* Ready for frame transfers */
25}; 25};
26 26
27/* The level of bus communication with the dongle */
28enum brcmf_bus_protocol_type {
29 BRCMF_PROTO_BCDC,
30 BRCMF_PROTO_MSGBUF
31};
32
27struct brcmf_bus_dcmd { 33struct brcmf_bus_dcmd {
28 char *name; 34 char *name;
29 char *param; 35 char *param;
@@ -65,6 +71,7 @@ struct brcmf_bus_ops {
65 * struct brcmf_bus - interface structure between common and bus layer 71 * struct brcmf_bus - interface structure between common and bus layer
66 * 72 *
67 * @bus_priv: pointer to private bus device. 73 * @bus_priv: pointer to private bus device.
74 * @proto_type: protocol type, bcdc or msgbuf
68 * @dev: device pointer of bus device. 75 * @dev: device pointer of bus device.
69 * @drvr: public driver information. 76 * @drvr: public driver information.
70 * @state: operational state of the bus interface. 77 * @state: operational state of the bus interface.
@@ -80,6 +87,7 @@ struct brcmf_bus {
80 struct brcmf_sdio_dev *sdio; 87 struct brcmf_sdio_dev *sdio;
81 struct brcmf_usbdev *usb; 88 struct brcmf_usbdev *usb;
82 } bus_priv; 89 } bus_priv;
90 enum brcmf_bus_protocol_type proto_type;
83 struct device *dev; 91 struct device *dev;
84 struct brcmf_pub *drvr; 92 struct brcmf_pub *drvr;
85 enum brcmf_bus_state state; 93 enum brcmf_bus_state state;
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/usb.c b/drivers/net/wireless/brcm80211/brcmfmac/usb.c
index 51c4de054b15..c345c32eb631 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/usb.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/usb.c
@@ -1253,6 +1253,7 @@ static int brcmf_usb_probe_cb(struct brcmf_usbdev_info *devinfo)
1253 bus->ops = &brcmf_usb_bus_ops; 1253 bus->ops = &brcmf_usb_bus_ops;
1254 bus->chip = bus_pub->devid; 1254 bus->chip = bus_pub->devid;
1255 bus->chiprev = bus_pub->chiprev; 1255 bus->chiprev = bus_pub->chiprev;
1256 bus->proto_type = BRCMF_PROTO_BCDC;
1256 1257
1257 /* Attach to the common driver interface */ 1258 /* Attach to the common driver interface */
1258 ret = brcmf_attach(dev); 1259 ret = brcmf_attach(dev);