diff options
author | Arend van Spriel <arend@broadcom.com> | 2013-02-06 12:40:45 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-02-08 14:51:34 -0500 |
commit | 75d907d3ee835f8759fe291023aa609dccebe504 (patch) | |
tree | b70f45bfce276d42cb1cfd15a2595b953fcb00b7 | |
parent | 1701261d070e2077867fd08efe7b5977e3a130f9 (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.h | 4 | ||||
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmfmac/usb.c | 2 |
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 | */ |
68 | struct brcmf_bus { | 70 | struct 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); |