diff options
| author | Arend Van Spriel <arend.vanspriel@broadcom.com> | 2016-09-05 06:42:12 -0400 |
|---|---|---|
| committer | Kalle Valo <kvalo@codeaurora.org> | 2016-09-09 05:12:14 -0400 |
| commit | 634faf3686900ccdee87b77e2c56df8b2159912b (patch) | |
| tree | 580dd5a7db45a83751c932d0010c1134efe2276e /drivers/net/wireless/broadcom | |
| parent | d43af50566b43fb4abce42789ba999a7e9dc45bb (diff) | |
brcmfmac: add support for bcm4339 chip with modalias sdio:c00v02D0d4339
The driver already supports the bcm4339 chipset but only for the variant
that shares the same modalias as the bcm4335, ie. sdio:c00v02D0d4335.
It turns out that there are also bcm4339 devices out there that have a
more distiguishable modalias sdio:c00v02D0d4339.
Reported-by: Steve deRosier <derosier@gmail.com>
Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
Reviewed-by: Franky Lin <franky.lin@broadcom.com>
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/broadcom')
| -rw-r--r-- | drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c | 1 | ||||
| -rw-r--r-- | drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c index f549c25608d6..03404cbe9237 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c | |||
| @@ -1101,6 +1101,7 @@ static const struct sdio_device_id brcmf_sdmmc_ids[] = { | |||
| 1101 | BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43341), | 1101 | BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43341), |
| 1102 | BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43362), | 1102 | BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43362), |
| 1103 | BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4335_4339), | 1103 | BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4335_4339), |
| 1104 | BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4339), | ||
| 1104 | BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43430), | 1105 | BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43430), |
| 1105 | BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4345), | 1106 | BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4345), |
| 1106 | BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4354), | 1107 | BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4354), |
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c index 68ab3ac15650..589a49cd9cd5 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | |||
| @@ -3757,7 +3757,8 @@ static u32 brcmf_sdio_buscore_read32(void *ctx, u32 addr) | |||
| 3757 | u32 val, rev; | 3757 | u32 val, rev; |
| 3758 | 3758 | ||
| 3759 | val = brcmf_sdiod_regrl(sdiodev, addr, NULL); | 3759 | val = brcmf_sdiod_regrl(sdiodev, addr, NULL); |
| 3760 | if (sdiodev->func[0]->device == SDIO_DEVICE_ID_BROADCOM_4335_4339 && | 3760 | if ((sdiodev->func[0]->device == SDIO_DEVICE_ID_BROADCOM_4335_4339 || |
| 3761 | sdiodev->func[0]->device == SDIO_DEVICE_ID_BROADCOM_4339) && | ||
| 3761 | addr == CORE_CC_REG(SI_ENUM_BASE, chipid)) { | 3762 | addr == CORE_CC_REG(SI_ENUM_BASE, chipid)) { |
| 3762 | rev = (val & CID_REV_MASK) >> CID_REV_SHIFT; | 3763 | rev = (val & CID_REV_MASK) >> CID_REV_SHIFT; |
| 3763 | if (rev >= 2) { | 3764 | if (rev >= 2) { |
