<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/include/sound/soc.h, branch linux-6.15.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.15.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.15.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2025-03-19T12:48:05Z</updated>
<entry>
<title>ASoC: ops: Remove snd_soc_put_volsw_range()</title>
<updated>2025-03-19T12:48:05Z</updated>
<author>
<name>Charles Keepax</name>
</author>
<published>2025-03-18T17:14:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7d5df968f95cee274740d5fa42e0798ffb59bd38'/>
<id>urn:sha1:7d5df968f95cee274740d5fa42e0798ffb59bd38</id>
<content type='text'>
With the addition of the soc_mixer_ctl_to_reg() helper it is now very
clear that the only difference between snd_soc_put_volsw() and
snd_soc_put_volsw_range() is that the former supports double controls
with both values in the same register. As such we can combine both
functions.

Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Link: https://patch.msgid.link/20250318171459.3203730-11-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: ops: Remove snd_soc_get_volsw_range()</title>
<updated>2025-03-19T12:48:04Z</updated>
<author>
<name>Charles Keepax</name>
</author>
<published>2025-03-18T17:14:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fd7442561cfe9516b37cdb1d229dc1f811dc86cc'/>
<id>urn:sha1:fd7442561cfe9516b37cdb1d229dc1f811dc86cc</id>
<content type='text'>
With the addition of the soc_mixer_reg_to_ctl() helper it is now very
clear that the only difference between snd_soc_get_volsw() and
snd_soc_get_volsw_range() is that the former supports double controls
with both values in the same register. As such we can combine both
functions.

Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Link: https://patch.msgid.link/20250318171459.3203730-10-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: ops: Remove snd_soc_info_volsw_range()</title>
<updated>2025-03-19T12:48:04Z</updated>
<author>
<name>Charles Keepax</name>
</author>
<published>2025-03-18T17:14:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=894a37c9de4b8a447ffa609d552e91ccb447c0a9'/>
<id>urn:sha1:894a37c9de4b8a447ffa609d552e91ccb447c0a9</id>
<content type='text'>
The only difference between snd_soc_info_volsw() and
snd_soc_info_volsw_range() is that the later will not force a 2
value control to be of type integer if the name ends in "Volume".

The kernel currently contains no users of snd_soc_info_volsw_range()
that would return a boolean control with this code, so the risk is
quite low and it seems appropriate that it should contain volume
control detection. So remove snd_soc_info_volsw_range() and point its
users at snd_soc_info_volsw().

Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Link: https://patch.msgid.link/20250318171459.3203730-9-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: Merge up fixes</title>
<updated>2025-03-14T02:31:06Z</updated>
<author>
<name>Mark Brown</name>
</author>
<published>2025-03-14T02:31:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e0afd7d370c6f577c1dacb1512e18048eabf322e'/>
<id>urn:sha1:e0afd7d370c6f577c1dacb1512e18048eabf322e</id>
<content type='text'>
Merge the for-6.14 to resolve conflicts with simple-card-utils.c due to
parallel delveopment.
</content>
</entry>
<entry>
<title>ASoC: ops: Consistently treat platform_max as control value</title>
<updated>2025-03-05T17:25:25Z</updated>
<author>
<name>Charles Keepax</name>
</author>
<published>2025-02-28T15:14:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0eba2a7e858907a746ba69cd002eb9eb4dbd7bf3'/>
<id>urn:sha1:0eba2a7e858907a746ba69cd002eb9eb4dbd7bf3</id>
<content type='text'>
This reverts commit 9bdd10d57a88 ("ASoC: ops: Shift tested values in
snd_soc_put_volsw() by +min"), and makes some additional related
updates.

There are two ways the platform_max could be interpreted; the maximum
register value, or the maximum value the control can be set to. The
patch moved from treating the value as a control value to a register
one. When the patch was applied it was technically correct as
snd_soc_limit_volume() also used the register interpretation. However,
even then most of the other usages treated platform_max as a
control value, and snd_soc_limit_volume() has since been updated to
also do so in commit fb9ad24485087 ("ASoC: ops: add correct range
check for limiting volume"). That patch however, missed updating
snd_soc_put_volsw() back to the control interpretation, and fixing
snd_soc_info_volsw_range(). The control interpretation makes more
sense as limiting is typically done from the machine driver, so it is
appropriate to use the customer facing representation rather than the
internal codec representation. Update all the code to consistently use
this interpretation of platform_max.

Finally, also add some comments to the soc_mixer_control struct to
hopefully avoid further patches switching between the two approaches.

Fixes: fb9ad24485087 ("ASoC: ops: add correct range check for limiting volume")
Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Link: https://patch.msgid.link/20250228151456.3703342-1-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: Tidy up SOC_DOUBLE_* and SOC_SINGLE_* helpers</title>
<updated>2025-03-04T16:41:03Z</updated>
<author>
<name>Charles Keepax</name>
</author>
<published>2025-03-04T14:05:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6db63090272768785e6bb4a3afa16650c1e96c54'/>
<id>urn:sha1:6db63090272768785e6bb4a3afa16650c1e96c54</id>
<content type='text'>
Re-implement SOC_DOUBLE_VALUE() in terms of SOC_DOUBLE_S_VALUE().
SOC_DOUBLE_S_VALUE() already had a minimum value so add this to
SOC_DOUBLE_VALUE as well, this allows replacement of several hard coded
value entries. Likewise update SOC_SINGLE_VALUE to match, which allows
replacement of even more hard coded values.

Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Link: https://patch.msgid.link/20250304140500.976127-14-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: Tidy up SOC_DOUBLE_R_* helpers</title>
<updated>2025-03-03T18:14:56Z</updated>
<author>
<name>Charles Keepax</name>
</author>
<published>2025-03-03T17:14:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1743dbb45b2cbe5500068900794a355a7e0dd853'/>
<id>urn:sha1:1743dbb45b2cbe5500068900794a355a7e0dd853</id>
<content type='text'>
Re-implement SOC_DOUBLE_R_VALUE() in terms of SOC_DOUBLE_R_S_VALUE().
SOC_DOUBLE_R_S_VALUE() already had a minimum value so add this to
SOC_DOUBLE_R_VALUE() as well, which makes SOC_DOUBLE_R_RANGE_VALUE()
redundant, so its usage is replaced.

Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Link: https://patch.msgid.link/20250303171424.444556-13-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: Remove unused helper macro</title>
<updated>2025-03-03T18:14:45Z</updated>
<author>
<name>Charles Keepax</name>
</author>
<published>2025-03-03T17:14:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c01a74844b74c584160d5253f794bbd2af015bec'/>
<id>urn:sha1:c01a74844b74c584160d5253f794bbd2af015bec</id>
<content type='text'>
SOC_SINGLE_VALUE_EXT() has no users, so remove it.

Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Link: https://patch.msgid.link/20250303171424.444556-2-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: topology: Save num_channels value for mixer controls</title>
<updated>2025-02-24T16:01:52Z</updated>
<author>
<name>Cezary Rojewski</name>
</author>
<published>2025-02-17T10:21:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=81eb3a2bd273b84fa9808e6b13b533f9c55e16eb'/>
<id>urn:sha1:81eb3a2bd273b84fa9808e6b13b533f9c55e16eb</id>
<content type='text'>
To provide minimal support for multi-channel kcontrols i.e.: more than
stereo configuration, store the number of channels specified within the
SectionControlMixer. The field is part of the topology standard,
currently skipped by the ASoC core.

Signed-off-by: Cezary Rojewski &lt;cezary.rojewski@intel.com&gt;
Link: https://patch.msgid.link/20250217102115.3539427-3-cezary.rojewski@intel.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: remove update from snd_soc_card</title>
<updated>2025-02-16T23:51:05Z</updated>
<author>
<name>Kuninori Morimoto</name>
</author>
<published>2025-02-12T02:28:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=257a060fe219bb0dcb98f12ce34f04eca6d08352'/>
<id>urn:sha1:257a060fe219bb0dcb98f12ce34f04eca6d08352</id>
<content type='text'>
snd_soc_card :: update is used only for passing parameters to
dapm_widget_update() like below.

	card-&gt;update = update;
	ret = soc_dapm_xxx(card, ...);
	card-&gt;update = NULL;

Let's passing it via function parameter and remove update from
snd_soc_card.

Signed-off-by: Kuninori Morimoto &lt;kuninori.morimoto.gx@renesas.com&gt;
Link: https://patch.msgid.link/87ldubyjz9.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
</feed>
