aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArend van Spriel <arend@broadcom.com>2013-02-06 12:40:45 -0500
committerJohn W. Linville <linville@tuxdriver.com>2013-02-08 14:51:34 -0500
commit75d907d3ee835f8759fe291023aa609dccebe504 (patch)
treeb70f45bfce276d42cb1cfd15a2595b953fcb00b7
parent1701261d070e2077867fd08efe7b5977e3a130f9 (diff)
brcmfmac: add chip information to the bus interface
Extend the bus interface with chip identifier and revision. This will be used when certain devices need special handling in the driver. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Piotr Haber <phaber@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h4
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c2
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/usb.c2
3 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h b/drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h
index 6af7c9dce0f7..ad25c3408b59 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h
@@ -64,6 +64,8 @@ struct brcmf_bus_ops {
64 * @dstats: dongle-based statistical data. 64 * @dstats: dongle-based statistical data.
65 * @align: alignment requirement for the bus. 65 * @align: alignment requirement for the bus.
66 * @dcmd_list: bus/device specific dongle initialization commands. 66 * @dcmd_list: bus/device specific dongle initialization commands.
67 * @chip: device identifier of the dongle chip.
68 * @chiprev: revision of the dongle chip.
67 */ 69 */
68struct brcmf_bus { 70struct brcmf_bus {
69 union { 71 union {
@@ -76,6 +78,8 @@ struct brcmf_bus {
76 uint maxctl; 78 uint maxctl;
77 unsigned long tx_realloc; 79 unsigned long tx_realloc;
78 u8 align; 80 u8 align;
81 u32 chip;
82 u32 chiprev;
79 struct list_head dcmd_list; 83 struct list_head dcmd_list;
80 84
81 struct brcmf_bus_ops *ops; 85 struct brcmf_bus_ops *ops;
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
index d424dd63077b..04680c56bafc 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
@@ -3927,6 +3927,8 @@ void *brcmf_sdbrcm_probe(u32 regsva, struct brcmf_sdio_dev *sdiodev)
3927 /* Assign bus interface call back */ 3927 /* Assign bus interface call back */
3928 bus->sdiodev->bus_if->dev = bus->sdiodev->dev; 3928 bus->sdiodev->bus_if->dev = bus->sdiodev->dev;
3929 bus->sdiodev->bus_if->ops = &brcmf_sdio_bus_ops; 3929 bus->sdiodev->bus_if->ops = &brcmf_sdio_bus_ops;
3930 bus->sdiodev->bus_if->chip = bus->ci->chip;
3931 bus->sdiodev->bus_if->chiprev = bus->ci->chiprev;
3930 3932
3931 /* Attach to the brcmf/OS/network interface */ 3933 /* Attach to the brcmf/OS/network interface */
3932 ret = brcmf_attach(SDPCM_RESERVE, bus->sdiodev->dev); 3934 ret = brcmf_attach(SDPCM_RESERVE, bus->sdiodev->dev);
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/usb.c b/drivers/net/wireless/brcm80211/brcmfmac/usb.c
index 06f7339b50b4..a55994d33763 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/usb.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/usb.c
@@ -1250,6 +1250,8 @@ static int brcmf_usb_probe_cb(struct brcmf_usbdev_info *devinfo)
1250 bus->bus_priv.usb = bus_pub; 1250 bus->bus_priv.usb = bus_pub;
1251 dev_set_drvdata(dev, bus); 1251 dev_set_drvdata(dev, bus);
1252 bus->ops = &brcmf_usb_bus_ops; 1252 bus->ops = &brcmf_usb_bus_ops;
1253 bus->chip = bus_pub->devid;
1254 bus->chiprev = bus_pub->chiprev;
1253 1255
1254 /* Attach to the common driver interface */ 1256 /* Attach to the common driver interface */
1255 ret = brcmf_attach(0, dev); 1257 ret = brcmf_attach(0, dev);