Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e457a8a0 authored by Rafał Miłecki's avatar Rafał Miłecki Committed by Kalle Valo
Browse files

brcmfmac: make brcmf_of_probe more generic



We may want to use Open Firmware for other devices than just SDIO ones.
In future we may want to support more Broadcom properties so there is
really no reason for such limitation.

Call brcmf_of_probe for all kind of devices & move extra conditions to
the body of that funcion.

Signed-off-by: default avatarRafał Miłecki <rafal@milecki.pl>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 259010c5
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -299,11 +299,9 @@ struct brcmf_mp_device *brcmf_get_module_param(struct device *dev,
			}
		}
	}
	if ((bus_type == BRCMF_BUSTYPE_SDIO) && (!found)) {
		/* No platform data for this device. In case of SDIO try OF
		 * (Open Firwmare) Device Tree.
		 */
		brcmf_of_probe(dev, &settings->bus.sdio);
	if (!found) {
		/* No platform data for this device, try OF (Open Firwmare) */
		brcmf_of_probe(dev, bus_type, settings);
	}
	return settings;
}
+5 −2
Original line number Diff line number Diff line
@@ -23,14 +23,17 @@
#include "common.h"
#include "of.h"

void brcmf_of_probe(struct device *dev, struct brcmfmac_sdio_pd *sdio)
void brcmf_of_probe(struct device *dev, enum brcmf_bus_type bus_type,
		    struct brcmf_mp_device *settings)
{
	struct brcmfmac_sdio_pd *sdio = &settings->bus.sdio;
	struct device_node *np = dev->of_node;
	int irq;
	u32 irqf;
	u32 val;

	if (!np || !of_device_is_compatible(np, "brcm,bcm4329-fmac"))
	if (!np || bus_type != BRCMF_BUSTYPE_SDIO ||
	    !of_device_is_compatible(np, "brcm,bcm4329-fmac"))
		return;

	if (of_property_read_u32(np, "brcm,drive-strength", &val) == 0)
+4 −2
Original line number Diff line number Diff line
@@ -14,9 +14,11 @@
 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */
#ifdef CONFIG_OF
void brcmf_of_probe(struct device *dev, struct brcmfmac_sdio_pd *sdio);
void brcmf_of_probe(struct device *dev, enum brcmf_bus_type bus_type,
		    struct brcmf_mp_device *settings);
#else
static void brcmf_of_probe(struct device *dev, struct brcmfmac_sdio_pd *sdio)
static void brcmf_of_probe(struct device *dev, enum brcmf_bus_type bus_type,
			   struct brcmf_mp_device *settings)
{
}
#endif /* CONFIG_OF */