ASoC: max98090: Generate notifications on changes for custom control
authorMark Brown <broonie@kernel.org>
Wed, 20 Apr 2022 19:34:54 +0000 (20:34 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 May 2022 08:26:52 +0000 (10:26 +0200)
[ Upstream commit 13fcf676d9e102594effc686d98521ff5c90b925 ]

The max98090 driver has some custom controls which share a put() function
which returns 0 unconditionally, meaning that events are not generated
when the value changes. Fix that.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220420193454.2647908-2-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/codecs/max98090.c

index 6d92613..62b41ca 100644 (file)
@@ -430,7 +430,7 @@ static int max98090_put_enab_tlv(struct snd_kcontrol *kcontrol,
                mask << mc->shift,
                sel << mc->shift);
 
-       return 0;
+       return *select != val;
 }
 
 static const char *max98090_perf_pwr_text[] =