lkml.org 
[lkml]   [2022]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 192/563] backlight: qcom-wled: Override default length with qcom,enabled-strings
    Date
    From: Marijn Suijten <marijn.suijten@somainline.org>

    [ Upstream commit 2b4b49602f9feca7b7a84eaa33ad9e666c8aa695 ]

    The length of qcom,enabled-strings as property array is enough to
    determine the number of strings to be enabled, without needing to set
    qcom,num-strings to override the default number of strings when less
    than the default (which is also the maximum) is provided in DT.

    This also introduces an extra warning when qcom,num-strings is set,
    denoting that it is not necessary to set both anymore. It is usually
    more concise to set just qcom,num-length when a zero-based, contiguous
    range of strings is needed (the majority of the cases), or to only set
    qcom,enabled-strings when a specific set of indices is desired.

    Fixes: 775d2ffb4af6 ("backlight: qcom-wled: Restructure the driver for WLED3")
    Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>
    Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
    Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Link: https://lore.kernel.org/r/20211115203459.1634079-6-marijn.suijten@somainline.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/video/backlight/qcom-wled.c | 12 +++++++++---
    1 file changed, 9 insertions(+), 3 deletions(-)

    diff --git a/drivers/video/backlight/qcom-wled.c b/drivers/video/backlight/qcom-wled.c
    index 9e09165984b48..70fcee74866a5 100644
    --- a/drivers/video/backlight/qcom-wled.c
    +++ b/drivers/video/backlight/qcom-wled.c
    @@ -1521,6 +1521,8 @@ static int wled_configure(struct wled *wled)
    return -EINVAL;
    }
    }
    +
    + cfg->num_strings = string_len;
    }

    rc = of_property_read_u32(dev->of_node, "qcom,num-strings", &val);
    @@ -1531,9 +1533,13 @@ static int wled_configure(struct wled *wled)
    return -EINVAL;
    }

    - if (string_len > 0 && val > string_len) {
    - dev_err(dev, "qcom,num-strings exceeds qcom,enabled-strings\n");
    - return -EINVAL;
    + if (string_len > 0) {
    + dev_warn(dev, "Only one of qcom,num-strings or qcom,enabled-strings"
    + " should be set\n");
    + if (val > string_len) {
    + dev_err(dev, "qcom,num-strings exceeds qcom,enabled-strings\n");
    + return -EINVAL;
    + }
    }

    cfg->num_strings = val;
    --
    2.34.1


    \
     
     \ /
      Last update: 2022-01-24 21:09    [W:3.156 / U:0.196 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site