1 From e457a8a01a19277e96830d3d95887e0e3c1e2f26 Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
3 Date: Sat, 7 Jan 2017 23:43:45 +0100
4 Subject: [PATCH] brcmfmac: make brcmf_of_probe more generic
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
9 We may want to use Open Firmware for other devices than just SDIO ones.
10 In future we may want to support more Broadcom properties so there is
11 really no reason for such limitation.
13 Call brcmf_of_probe for all kind of devices & move extra conditions to
14 the body of that funcion.
16 Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
17 Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
19 drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c | 8 +++-----
20 drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c | 7 +++++--
21 drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.h | 6 ++++--
22 3 files changed, 12 insertions(+), 9 deletions(-)
24 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
25 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
26 @@ -299,11 +299,9 @@ struct brcmf_mp_device *brcmf_get_module
30 - if ((bus_type == BRCMF_BUSTYPE_SDIO) && (!found)) {
31 - /* No platform data for this device. In case of SDIO try OF
32 - * (Open Firwmare) Device Tree.
34 - brcmf_of_probe(dev, &settings->bus.sdio);
36 + /* No platform data for this device, try OF (Open Firwmare) */
37 + brcmf_of_probe(dev, bus_type, settings);
41 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c
42 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c
47 -void brcmf_of_probe(struct device *dev, struct brcmfmac_sdio_pd *sdio)
48 +void brcmf_of_probe(struct device *dev, enum brcmf_bus_type bus_type,
49 + struct brcmf_mp_device *settings)
51 + struct brcmfmac_sdio_pd *sdio = &settings->bus.sdio;
52 struct device_node *np = dev->of_node;
57 - if (!np || !of_device_is_compatible(np, "brcm,bcm4329-fmac"))
58 + if (!np || bus_type != BRCMF_BUSTYPE_SDIO ||
59 + !of_device_is_compatible(np, "brcm,bcm4329-fmac"))
62 if (of_property_read_u32(np, "brcm,drive-strength", &val) == 0)
63 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.h
64 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.h
66 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
69 -void brcmf_of_probe(struct device *dev, struct brcmfmac_sdio_pd *sdio);
70 +void brcmf_of_probe(struct device *dev, enum brcmf_bus_type bus_type,
71 + struct brcmf_mp_device *settings);
73 -static void brcmf_of_probe(struct device *dev, struct brcmfmac_sdio_pd *sdio)
74 +static void brcmf_of_probe(struct device *dev, enum brcmf_bus_type bus_type,
75 + struct brcmf_mp_device *settings)
78 #endif /* CONFIG_OF */