lkml.org 
[lkml]   [2021]   [Mar]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4/5] soc: qcom: wcnss_ctrl: Allow reading firmware-name from DT
    Date
    The WLAN NV firmware blob differs between platforms, and possibly
    devices, so add support in the wcnss_ctrl 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).

    The new property is optional and the code falls back to the old filename
    if the property isn't specified.

    Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    ---
    drivers/soc/qcom/wcnss_ctrl.c | 10 +++++++---
    1 file changed, 7 insertions(+), 3 deletions(-)

    diff --git a/drivers/soc/qcom/wcnss_ctrl.c b/drivers/soc/qcom/wcnss_ctrl.c
    index 358526b9de06..2a06d631e415 100644
    --- a/drivers/soc/qcom/wcnss_ctrl.c
    +++ b/drivers/soc/qcom/wcnss_ctrl.c
    @@ -200,6 +200,7 @@ static int wcnss_download_nv(struct wcnss_ctrl *wcnss, bool *expect_cbc)
    struct wcnss_download_nv_req *req;
    const struct firmware *fw;
    struct device *dev = wcnss->dev;
    + const char *nvbin = NVBIN_FILE;
    const void *data;
    ssize_t left;
    int ret;
    @@ -208,10 +209,13 @@ static int wcnss_download_nv(struct wcnss_ctrl *wcnss, bool *expect_cbc)
    if (!req)
    return -ENOMEM;

    - ret = request_firmware(&fw, NVBIN_FILE, dev);
    + ret = of_property_read_string(dev->of_node, "firmware-name", &nvbin);
    + if (ret < 0 && ret != -EINVAL)
    + goto free_req;
    +
    + ret = request_firmware(&fw, nvbin, dev);
    if (ret < 0) {
    - dev_err(dev, "Failed to load nv file %s: %d\n",
    - NVBIN_FILE, ret);
    + dev_err(dev, "Failed to load nv file %s: %d\n", nvbin, ret);
    goto free_req;
    }

    --
    2.29.2
    \
     
     \ /
      Last update: 2021-03-12 01:33    [W:4.230 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site