2020-04-30 09:14:31

by Kai-Heng Feng

[permalink] [raw]
Subject: [PATCH] ASoC: SOF: Update correct LED status at the first time usage of update_mute_led()

At the first time update_mute_led() gets called, if channels are already
muted, the temp value equals to led_value as 0, skipping the following
LED setting.

So set led_value to -1 as an uninitialized state, to update the correct
LED status at first time usage.

Fixes: 5d43001ae436 ("ASoC: SOF: acpi led support for switch controls")
Signed-off-by: Kai-Heng Feng <[email protected]>
---
sound/soc/sof/control.c | 4 ++--
sound/soc/sof/sof-audio.h | 2 +-
sound/soc/sof/topology.c | 2 ++
3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/sound/soc/sof/control.c b/sound/soc/sof/control.c
index dfc412e2d956..6d63768d42aa 100644
--- a/sound/soc/sof/control.c
+++ b/sound/soc/sof/control.c
@@ -19,8 +19,8 @@ static void update_mute_led(struct snd_sof_control *scontrol,
struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol)
{
- unsigned int temp = 0;
- unsigned int mask;
+ int temp = 0;
+ int mask;
int i;

mask = 1U << snd_ctl_get_ioffidx(kcontrol, &ucontrol->id);
diff --git a/sound/soc/sof/sof-audio.h b/sound/soc/sof/sof-audio.h
index bf65f31af858..875a5fc13297 100644
--- a/sound/soc/sof/sof-audio.h
+++ b/sound/soc/sof/sof-audio.h
@@ -56,7 +56,7 @@ struct snd_sof_pcm {
struct snd_sof_led_control {
unsigned int use_led;
unsigned int direction;
- unsigned int led_value;
+ int led_value;
};

/* ALSA SOF Kcontrol device */
diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c
index fe8ba3e05e08..ab2b69de1d4d 100644
--- a/sound/soc/sof/topology.c
+++ b/sound/soc/sof/topology.c
@@ -1203,6 +1203,8 @@ static int sof_control_load(struct snd_soc_component *scomp, int index,
return ret;
}

+ scontrol->led_ctl.led_value = -1;
+
dobj->private = scontrol;
list_add(&scontrol->list, &sdev->kcontrol_list);
return ret;
--
2.17.1


2020-04-30 17:44:47

by Kai Vehmanen

[permalink] [raw]
Subject: Re: [PATCH] ASoC: SOF: Update correct LED status at the first time usage of update_mute_led()

Hi,

On Thu, 30 Apr 2020, Kai-Heng Feng wrote:

> At the first time update_mute_led() gets called, if channels are already
> muted, the temp value equals to led_value as 0, skipping the following
> LED setting.

thanks, looks good!

Acked-by: Kai Vehmanen <[email protected]>

Br, Kai

2020-04-30 23:30:18

by Ranjani Sridharan

[permalink] [raw]
Subject: Re: [PATCH] ASoC: SOF: Update correct LED status at the first time usage of update_mute_led()

On Thu, 2020-04-30 at 17:11 +0800, Kai-Heng Feng wrote:
> At the first time update_mute_led() gets called, if channels are
> already
> muted, the temp value equals to led_value as 0, skipping the
> following
> LED setting.
>
> So set led_value to -1 as an uninitialized state, to update the
> correct
> LED status at first time usage.
>
> Fixes: 5d43001ae436 ("ASoC: SOF: acpi led support for switch
> controls")
> Signed-off-by: Kai-Heng Feng <[email protected]>

LGTM, thanks!

Reviewed-by: Ranjani Sridharan <[email protected]>

2020-05-01 11:30:00

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH] ASoC: SOF: Update correct LED status at the first time usage of update_mute_led()

On Thu, 30 Apr 2020 17:11:39 +0800, Kai-Heng Feng wrote:
> At the first time update_mute_led() gets called, if channels are already
> muted, the temp value equals to led_value as 0, skipping the following
> LED setting.
>
> So set led_value to -1 as an uninitialized state, to update the correct
> LED status at first time usage.
>
> [...]

Applied to

https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-5.7

Thanks!

[1/1] ASoC: SOF: Update correct LED status at the first time usage of update_mute_led()
commit: 49c22696348d6e7c8a2ecfd7e60fddfe188ded82

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark