<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/sound/soc/codecs/cs42l51.c, branch master</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=master</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2025-11-17T00:14:53+00:00</updated>
<entry>
<title>ASoC: codecs: cs42l51: convert to snd_soc_dapm_xxx()</title>
<updated>2025-11-17T00:14:53+00:00</updated>
<author>
<name>Kuninori Morimoto</name>
<email>kuninori.morimoto.gx@renesas.com</email>
</author>
<published>2025-11-11T00:20:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=c9ba54d36ac20fd94c9479e8b82b32610a4cb979'/>
<id>urn:sha1:c9ba54d36ac20fd94c9479e8b82b32610a4cb979</id>
<content type='text'>
This patch converts below functions.

dapm-&gt;dev					-&gt; snd_soc_dapm_to_dev()
dapm-&gt;card					-&gt; snd_soc_dapm_to_card()
dapm-&gt;component					-&gt; snd_soc_dapm_to_component()

dapm_kcontrol_get_value()			-&gt; snd_soc_dapm_kcontrol_get_value()

snd_soc_component_enable_pin()			-&gt; snd_soc_dapm_enable_pin()
snd_soc_component_enable_pin_unlocked()		-&gt; snd_soc_dapm_enable_pin_unlocked()
snd_soc_component_disable_pin()			-&gt; snd_soc_dapm_disable_pin()
snd_soc_component_disable_pin_unlocked()	-&gt; snd_soc_dapm_disable_pin_unlocked()
snd_soc_component_nc_pin()			-&gt; snd_soc_dapm_nc_pin()
snd_soc_component_nc_pin_unlocked()		-&gt; snd_soc_dapm_nc_pin_unlocked()
snd_soc_component_get_pin_status()		-&gt; snd_soc_dapm_get_pin_status()
snd_soc_component_force_enable_pin()		-&gt; snd_soc_dapm_force_enable_pin()
snd_soc_component_force_enable_pin_unlocked()	-&gt; snd_soc_dapm_force_enable_pin_unlocked()
snd_soc_component_force_bias_level()		-&gt; snd_soc_dapm_force_bias_level()
snd_soc_component_get_bias_level()		-&gt; snd_soc_dapm_get_bias_level()
snd_soc_component_init_bias_level()		-&gt; snd_soc_dapm_init_bias_level()
snd_soc_component_get_dapm()			-&gt; snd_soc_component_to_dapm()

snd_soc_dapm_kcontrol_component()		-&gt; snd_soc_dapm_kcontrol_to_component()
snd_soc_dapm_kcontrol_widget()			-&gt; snd_soc_dapm_kcontrol_to_widget()
snd_soc_dapm_kcontrol_dapm()			-&gt; snd_soc_dapm_kcontrol_to_dapm()
snd_soc_dapm_np_pin()				-&gt; snd_soc_dapm_disable_pin()

Signed-off-by: Kuninori Morimoto &lt;kuninori.morimoto.gx@renesas.com&gt;
Reviewed-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Link: https://patch.msgid.link/87seel7737.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: codecs: cs42l51: use snd_kcontrol_chip() instead of snd_soc_kcontrol_component()</title>
<updated>2025-10-20T01:42:38+00:00</updated>
<author>
<name>Kuninori Morimoto</name>
<email>kuninori.morimoto.gx@renesas.com</email>
</author>
<published>2025-10-14T04:21:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e621116150c5983dde75195f0eb2ea22baf4e87c'/>
<id>urn:sha1:e621116150c5983dde75195f0eb2ea22baf4e87c</id>
<content type='text'>
We have very similar name functions (A)(B). Both gets component from
snd_kcontrol, but (A) is used in callback functions which is registered
through snd_soc_add_component_controls(), (B) is used through
snd_soc_dapm_new_widgets().

	(A) snd_soc_kcontrol_component()
	(B) snd_soc_dapm_kcontrol_component()

(B) is using very picky way to get component but using it is necessary in
ASoC. But (A) is just wrapper function to snd_kcontrol_chip(), and directly
using it without wrapper is very common way on ALSA.
To reduce confusions of similar function, let's use common way on (A).

Signed-off-by: Kuninori Morimoto &lt;kuninori.morimoto.gx@renesas.com&gt;
Link: https://patch.msgid.link/87v7kiru4z.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: cs42l51: Convert to SYSTEM_SLEEP_PM_OPS()</title>
<updated>2025-03-17T10:13:55+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2025-03-17T09:54:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=92104ed88e7c2f1a10cb72f5372107136738c2c9'/>
<id>urn:sha1:92104ed88e7c2f1a10cb72f5372107136738c2c9</id>
<content type='text'>
Use the newer SYSTEM_SLEEP_PM_OPS() macro instead of
SET_SYSTEM_SLEEP_PM_OPS().

Also, drop superfluous __maybe_unused attributes to cs42l51_suspend()
and _resume() functions.

Merely a cleanup, there should be no actual code change.

Cc: patches@opensource.cirrus.com
Reviewed-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Link: https://patch.msgid.link/20250317095603.20073-11-tiwai@suse.de
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: codec: cs42l51: use inclusive language for SND_SOC_DAIFMT_CBx_CFx</title>
<updated>2025-03-03T12:57:32+00:00</updated>
<author>
<name>Kuninori Morimoto</name>
<email>kuninori.morimoto.gx@renesas.com</email>
</author>
<published>2025-02-26T01:31:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=fad200733e5026b103ec2504ad3dfc2843216cc8'/>
<id>urn:sha1:fad200733e5026b103ec2504ad3dfc2843216cc8</id>
<content type='text'>
In SND_SOC_DAIFMT_CBx_CFx, M/S are no longer used. use P/C.

Signed-off-by: Kuninori Morimoto &lt;kuninori.morimoto.gx@renesas.com&gt;
Link: https://patch.msgid.link/87frk1fq4j.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: cs42l51: Fix some error handling paths in cs42l51_probe()</title>
<updated>2024-10-28T12:21:17+00:00</updated>
<author>
<name>Christophe JAILLET</name>
<email>christophe.jaillet@wanadoo.fr</email>
</author>
<published>2024-10-26T20:46:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=d221b844ee79823ffc29b7badc4010bdb0960224'/>
<id>urn:sha1:d221b844ee79823ffc29b7badc4010bdb0960224</id>
<content type='text'>
If devm_gpiod_get_optional() fails, we need to disable previously enabled
regulators, as done in the other error handling path of the function.

Also, gpiod_set_value_cansleep(, 1) needs to be called to undo a
potential gpiod_set_value_cansleep(, 0).
If the "reset" gpio is not defined, this additional call is just a no-op.

This behavior is the same as the one already in the .remove() function.

Fixes: 11b9cd748e31 ("ASoC: cs42l51: add reset management")
Signed-off-by: Christophe JAILLET &lt;christophe.jaillet@wanadoo.fr&gt;
Reviewed-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Link: https://patch.msgid.link/a5e5f4b9fb03f46abd2c93ed94b5c395972ce0d1.1729975570.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: Merge up fixes from mainline</title>
<updated>2023-07-23T22:33:05+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2023-07-23T22:33:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=de1b43a57aff8b1808bbfe0402932f9e373d1172'/>
<id>urn:sha1:de1b43a57aff8b1808bbfe0402932f9e373d1172</id>
<content type='text'>
There's several things here that will really help my CI.
</content>
</entry>
<entry>
<title>ASoC: cs42l51: Update to use maple tree register cache</title>
<updated>2023-07-18T13:45:06+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2023-07-13T00:13:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=b5a0e5e4bf96de3d34f3d36afc32b3e9cd0376c2'/>
<id>urn:sha1:b5a0e5e4bf96de3d34f3d36afc32b3e9cd0376c2</id>
<content type='text'>
The maple tree register cache is based on a much more modern data structure
than the rbtree cache and makes optimisation choices which are probably
more appropriate for modern systems than those made by the rbtree cache. In
v6.5 it has also acquired the ability to generate multi-register writes in
sync operations, bringing performance up to parity with the rbtree cache
there.

Update the cs42l51 driver to use the more modern data structure.

Acked-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
Link: https://lore.kernel.org/r/20230713-asoc-cirrus-maple-v1-5-a62651831735@kernel.org
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: cs42l51: fix driver to properly autoload with automatic module loading</title>
<updated>2023-07-17T05:15:09+00:00</updated>
<author>
<name>Thomas Petazzoni</name>
<email>thomas.petazzoni@bootlin.com</email>
</author>
<published>2023-07-13T11:21:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e51df4f81b02bcdd828a04de7c1eb6a92988b61e'/>
<id>urn:sha1:e51df4f81b02bcdd828a04de7c1eb6a92988b61e</id>
<content type='text'>
In commit 2cb1e0259f50 ("ASoC: cs42l51: re-hook of_match_table
pointer"), 9 years ago, some random guy fixed the cs42l51 after it was
split into a core part and an I2C part to properly match based on a
Device Tree compatible string.

However, the fix in this commit is wrong: the MODULE_DEVICE_TABLE(of,
....) is in the core part of the driver, not the I2C part. Therefore,
automatic module loading based on module.alias, based on matching with
the DT compatible string, loads the core part of the driver, but not
the I2C part. And threfore, the i2c_driver is not registered, and the
codec is not known to the system, nor matched with a DT node with the
corresponding compatible string.

In order to fix that, we move the MODULE_DEVICE_TABLE(of, ...) into
the I2C part of the driver. The cs42l51_of_match[] array is also moved
as well, as it is not possible to have this definition in one file,
and the MODULE_DEVICE_TABLE(of, ...) invocation in another file, due
to how MODULE_DEVICE_TABLE works.

Thanks to this commit, the I2C part of the driver now properly
autoloads, and thanks to its dependency on the core part, the core
part gets autoloaded as well, resulting in a functional sound card
without having to manually load kernel modules.

Fixes: 2cb1e0259f50 ("ASoC: cs42l51: re-hook of_match_table pointer")
Cc: stable@vger.kernel.org
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@bootlin.com&gt;
Link: https://lore.kernel.org/r/20230713112112.778576-1-thomas.petazzoni@bootlin.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: cs42l51: Use the devm_clk_get_optional() helper</title>
<updated>2023-05-22T10:18:53+00:00</updated>
<author>
<name>Christophe JAILLET</name>
<email>christophe.jaillet@wanadoo.fr</email>
</author>
<published>2023-05-20T14:50:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=c0998e0142af8037e4a0ee84dd01cd20cbe0c76e'/>
<id>urn:sha1:c0998e0142af8037e4a0ee84dd01cd20cbe0c76e</id>
<content type='text'>
Use devm_clk_get_optional() instead of hand writing it.
This saves some LoC and improves the semantic.

Signed-off-by: Christophe JAILLET &lt;christophe.jaillet@wanadoo.fr&gt;
Link: https://lore.kernel.org/r/3debf3bb7ea504ee9ca2d8eb0f948a426681cbdd.1684594240.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: cs42l51: Correct PGA Volume minimum value</title>
<updated>2022-11-25T16:29:52+00:00</updated>
<author>
<name>Charles Keepax</name>
<email>ckeepax@opensource.cirrus.com</email>
</author>
<published>2022-11-25T16:23:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3d1bb6cc1a654c8693a85b1d262e610196edec8b'/>
<id>urn:sha1:3d1bb6cc1a654c8693a85b1d262e610196edec8b</id>
<content type='text'>
The table in the datasheet actually shows the volume values in the wrong
order, with the two -3dB values being reversed. This appears to have
caused the lower of the two values to be used in the driver when the
higher should have been, correct this mixup.

Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Link: https://lore.kernel.org/r/20221125162348.1288005-2-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
</feed>
