Re: [RESEND PATCH] wcn36xx: Allow firmware name to be overridden by DT

Kalle Valo
2021-08-27T12:53:27Z

Bjorn Andersson <bjorn.andersson@linaro.org> writes:

> The WLAN NV firmware blob differs between platforms, and possibly
> devices, so add support in the wcn36xx driver for reading the path of
> this file from DT in order to allow these files to live in a generic
> file system (or linux-firmware).
>
> For some reason the parent (wcnss_ctrl) also needs to upload this blob,
> so rather than specifying the same information in both nodes wcn36xx
> reads the string from the parent's of_node.
>
> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> Tested-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> Tested-by: Aníbal Limón <anibal.limon@linaro.org>

[...]

> --- a/drivers/net/wireless/ath/wcn36xx/main.c
> +++ b/drivers/net/wireless/ath/wcn36xx/main.c
> @@ -1500,6 +1500,13 @@ static int wcn36xx_probe(struct platform_device *pdev)
> goto out_wq;
> }
>
> + wcn->nv_file = WLAN_NV_FILE;
> + ret = of_property_read_string(wcn->dev->parent->of_node, "firmware-name", &wcn->nv_file);
> + if (ret < 0 && ret != -EINVAL) {
> + wcn36xx_err("failed to read \"firmware-name\" property\n");

I included the value of ret to the error print to ease debugging.
Modified patch is soon in the pending branch, please take a look.

--