Re: [PATCH] leds: ledtrig-pattern: Use last_repeat when applying hw pattern

From: Marijn Suijten
Date: Wed May 04 2022 - 12:02:23 EST


Pavel,

On 2021-04-18 23:34:26, Marijn Suijten wrote:
> `last_repeat` holds the actual value requested by the user whereas
> `repeat` is a software iteration variable that is unused in hardware
> patterns.
>
> Furthermore `last_repeat` is the field returned to the user when reading
> the `repeat` sysfs property. This field is initialized to `-1` which is
> - together with `1` - the only valid value in the upcoming Qualcomm LPG
> driver. It is thus unexpected when `repeat` with an initialization
> value of `0` is passed into the the driver, when the sysfs property
> clearly presents a value of `-1`.
>
> Signed-off-by: Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>

Thanks for picking up Bjorn's LPG patch into your tree! Will you also
be able to pick up this patch to accompany it?

- Marijn

> ---
> drivers/leds/trigger/ledtrig-pattern.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/leds/trigger/ledtrig-pattern.c b/drivers/leds/trigger/ledtrig-pattern.c
> index 4d138d5317e9..2853b75df338 100644
> --- a/drivers/leds/trigger/ledtrig-pattern.c
> +++ b/drivers/leds/trigger/ledtrig-pattern.c
> @@ -126,7 +126,8 @@ static int pattern_trig_start_pattern(struct led_classdev *led_cdev)
>
> if (data->is_hw_pattern) {
> return led_cdev->pattern_set(led_cdev, data->patterns,
> - data->npatterns, data->repeat);
> + data->npatterns,
> + data->last_repeat);
> }
>
> /* At least 2 tuples for software pattern. */
> --
> 2.31.1
>