<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/sound/soc/generic, branch v6.18.22</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v6.18.22</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v6.18.22'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2026-03-19T15:08:15+00:00</updated>
<entry>
<title>ASoC: simple-card-utils: fix graph_util_is_ports0() for DT overlays</title>
<updated>2026-03-19T15:08:15+00:00</updated>
<author>
<name>Sen Wang</name>
<email>sen@ti.com</email>
</author>
<published>2026-03-09T04:21:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ce0b8fd5e35545b352113282a43959e512f7fe03'/>
<id>urn:sha1:ce0b8fd5e35545b352113282a43959e512f7fe03</id>
<content type='text'>
[ Upstream commit 4185b95f8a42d92d68c49289b4644546b51e252b ]

graph_util_is_ports0() identifies DPCM front-end (ports@0) vs back-end
(ports@1) by calling of_get_child_by_name() to find the first "ports"
child and comparing pointers. This relies on child iteration order
matching DTS source order.

When the DPCM topology comes from a DT overlay, __of_attach_node()
inserts new children at the head of the sibling list, reversing the
order. of_get_child_by_name() then returns ports@1 instead of ports@0,
causing all front-end links to be classified as back-ends. The card
registers with no PCM devices.

Fix this by matching the unit address directly from the node name
instead of relying on sibling order.

Fixes: 92939252458f ("ASoC: simple-card-utils: add asoc_graph_is_ports0()")
Signed-off-by: Sen Wang &lt;sen@ti.com&gt;
Acked-by: Kuninori Morimoto &lt;kuninori.morimoto.gx@renesas.com&gt;
Link: https://patch.msgid.link/20260309042109.2576612-1-sen@ti.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: simple-card-utils: Check device node before overwrite direction</title>
<updated>2026-02-11T12:41:51+00:00</updated>
<author>
<name>Shengjiu Wang</name>
<email>shengjiu.wang@nxp.com</email>
</author>
<published>2025-12-29T09:04:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a883080063f9785a42ad3ed8d7bae5719b75ea09'/>
<id>urn:sha1:a883080063f9785a42ad3ed8d7bae5719b75ea09</id>
<content type='text'>
[ Upstream commit 22a507d7680f2c3499c133f6384349f62f916176 ]

Even the device node don't exist, the graph_util_parse_link_direction()
will overwrite the playback_only and capture_only to be zero. Which
cause the playback_only and capture_only are not correct, so check device
node exist or not before update the value.

Signed-off-by: Shengjiu Wang &lt;shengjiu.wang@nxp.com&gt;
Acked-by: Kuninori Morimoto &lt;kuninori.morimoto.gx@renesas.com&gt;
Link: https://patch.msgid.link/20251229090432.3964848-1-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: test-component: Use kcalloc() instead of kzalloc()</title>
<updated>2025-08-20T14:09:24+00:00</updated>
<author>
<name>Qianfeng Rong</name>
<email>rongqianfeng@vivo.com</email>
</author>
<published>2025-08-20T12:34:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=96bcb34df55f7fee99795127c796315950c94fed'/>
<id>urn:sha1:96bcb34df55f7fee99795127c796315950c94fed</id>
<content type='text'>
Use devm_kcalloc() in test_driver_probe() to gain built-in overflow
protection, making memory allocation safer when calculating allocation
size compared to explicit multiplication.

Signed-off-by: Qianfeng Rong &lt;rongqianfeng@vivo.com&gt;
Link: https://patch.msgid.link/20250820123423.470486-4-rongqianfeng@vivo.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: generic: Standardize ASoC menu</title>
<updated>2025-06-24T00:01:36+00:00</updated>
<author>
<name>Kuninori Morimoto</name>
<email>kuninori.morimoto.gx@renesas.com</email>
</author>
<published>2025-06-12T01:44:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=acc84d15e45393fbbe87758c5fed25d01c83ef92'/>
<id>urn:sha1:acc84d15e45393fbbe87758c5fed25d01c83ef92</id>
<content type='text'>
Current Kconfig menu at [ALSA for SoC audio support] has no rules.
So, some venders are using menu style, some venders are listed each drivers
on top page, etc. It is difficult to find target vender and/or drivers
because it is very random.

Let's standardize ASoC menu

Signed-off-by: Kuninori Morimoto &lt;kuninori.morimoto.gx@renesas.com&gt;
Link: https://patch.msgid.link/87wm9hybrf.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>AsoC: Phase out hybrid PCI devres</title>
<updated>2025-05-05T23:42:25+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2025-05-05T23:42:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=02ca7898185fcbfc5890f0a8e42664bcd95d94a1'/>
<id>urn:sha1:02ca7898185fcbfc5890f0a8e42664bcd95d94a1</id>
<content type='text'>
Merge series from Philipp Stanner &lt;phasta@kernel.org&gt;:

A year ago we spent quite some work trying to get PCI into better shape.
Some pci_ functions can be sometimes managed with devres, which is
obviously bad. We want to provide an obvious API, where pci_ functions
are never, and pcim_ functions are always managed.

Thus, everyone enabling his device with pcim_enable_device() must be
ported to pcim_ functions. Porting all users will later enable us to
significantly simplify parts of the PCI subsystem. See here [1] for
details.

This patch series does that for sound.

Feel free to squash the commits as you see fit.

P.

[1] https://elixir.bootlin.com/linux/v6.14-rc4/source/drivers/pci/devres.c#L18
</content>
</entry>
<entry>
<title>ASoC: simple-card-utils: Fix pointer check in graph_util_parse_link_direction</title>
<updated>2025-04-30T23:22:35+00:00</updated>
<author>
<name>Alexander Stein</name>
<email>alexander.stein@ew.tq-group.com</email>
</author>
<published>2025-04-29T09:49:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3cc393d2232ec770b5f79bf0673d67702a3536c3'/>
<id>urn:sha1:3cc393d2232ec770b5f79bf0673d67702a3536c3</id>
<content type='text'>
Actually check if the passed pointers are valid, before writing to them.
This also fixes a USBAN warning:
UBSAN: invalid-load in ../sound/soc/fsl/imx-card.c:687:25
load of value 255 is not a valid value for type '_Bool'

This is because playback_only is uninitialized and is not written to, as
the playback-only property is absent.

Fixes: 844de7eebe97 ("ASoC: audio-graph-card2: expand dai_link property part")
Signed-off-by: Alexander Stein &lt;alexander.stein@ew.tq-group.com&gt;
Link: https://patch.msgid.link/20250429094910.1150970-1-alexander.stein@ew.tq-group.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: simple-card-utils: fixup dlc-&gt;xxx handling for error case</title>
<updated>2025-04-14T10:48:36+00:00</updated>
<author>
<name>Kuninori Morimoto</name>
<email>kuninori.morimoto.gx@renesas.com</email>
</author>
<published>2025-04-14T00:45:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2b4ce994afca0690ab79b7860045e6883e8706db'/>
<id>urn:sha1:2b4ce994afca0690ab79b7860045e6883e8706db</id>
<content type='text'>
Current graph_util_parse_dai() has 2 issue for dlc-&gt;xxx handling.

1) dlc-&gt;xxx might be filled if snd_soc_get_dai_via_args() (A) works.
   In such case it will fill dlc-&gt;xxx first (B), and detect error
   after that (C). We need to fill dlc-&gt;xxx in success case only.

(A)	dai = snd_soc_get_dai_via_args(&amp;args);
	if (dai) {
		ret = -ENOMEM;
 ^		dlc-&gt;of_node  = ...
(B)		dlc-&gt;dai_name = ...
 v		dlc-&gt;dai_args = ...
(C)		if (!dlc-&gt;dai_args)
			goto end;
		...
	}

2) graph_util_parse_dai() itself has 2 patterns (X)(Y) to fill dlc-&gt;xxx.
   Both case, we need to call of_node_put(node) (Z) in error case, but we
   are calling it only in (Y) case.

	int graph_util_parse_dai(...)
	{
		...
		dai = snd_soc_get_dai_via_args(&amp;args);
		if (dai) {
			...
 ^			dlc-&gt;of_node  = ...
(X)			dlc-&gt;dai_name = ...
 v			dlc-&gt;dai_args = ...
			...
		}
		...
(Y)		ret = snd_soc_get_dlc(&amp;args, dlc);
		if (ret &lt; 0) {
(Z)			of_node_put(node);
			...
		}
		...
	}

This patch fixup both case. Make it easy to understand, update
lavel "end" to "err", too.

Signed-off-by: Kuninori Morimoto &lt;kuninori.morimoto.gx@renesas.com&gt;
Link: https://patch.msgid.link/87fribr2ns.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: test-component: add set_tdm_slot stub implementation</title>
<updated>2025-04-11T12:01:26+00:00</updated>
<author>
<name>Nicolas Frattaroli</name>
<email>nicolas.frattaroli@collabora.com</email>
</author>
<published>2025-04-10T19:25:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e78e7856d233010e6afef62f15567a8e7777c8bc'/>
<id>urn:sha1:e78e7856d233010e6afef62f15567a8e7777c8bc</id>
<content type='text'>
The test-component driver implements various stub callbacks. One
of the ones it doesn't implement is set_tdm_slot. This has no
functional impact on whether ASoC core believes test-component to
do TDM or not, it just means that any TDM configuration can't
readily be dumped for debugging purposes like it can with the other
callbacks.

Add a stub implementation to allow for this. The output uses dev_info
rather than dev_dbg, to be in line with the set_fmt stub implementation
above.

Signed-off-by: Nicolas Frattaroli &lt;nicolas.frattaroli@collabora.com&gt;
Acked-by: Kuninori Morimoto &lt;kuninori.morimoto.gx@renesas.com&gt;
Link: https://patch.msgid.link/20250410-test-component-tdm-slot-v1-1-9c3a7162fa7a@collabora.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:06+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2025-03-14T02:31:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.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: simple-card-utils: Don't use __free(device_node) at graph_util_parse_dai()</title>
<updated>2025-03-13T22:33:02+00:00</updated>
<author>
<name>Kuninori Morimoto</name>
<email>kuninori.morimoto.gx@renesas.com</email>
</author>
<published>2025-02-28T00:29:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=de74ec718e0788e1998eb7289ad07970e27cae27'/>
<id>urn:sha1:de74ec718e0788e1998eb7289ad07970e27cae27</id>
<content type='text'>
commit 419d1918105e ("ASoC: simple-card-utils: use __free(device_node) for
device node") uses __free(device_node) for dlc-&gt;of_node, but we need to
keep it while driver is in use.

Don't use __free(device_node) in graph_util_parse_dai().

Fixes: 419d1918105e ("ASoC: simple-card-utils: use __free(device_node) for device node")
Reported-by: Thuan Nguyen &lt;thuan.nguyen-hong@banvien.com.vn&gt;
Reported-by: Detlev Casanova &lt;detlev.casanova@collabora.com&gt;
Signed-off-by: Kuninori Morimoto &lt;kuninori.morimoto.gx@renesas.com&gt;
Tested-by: Thuan Nguyen &lt;thuan.nguyen-hong@banvien.com.vn&gt;
Tested-by: Detlev Casanova &lt;detlev.casanova@collabora.com&gt;
Link: https://patch.msgid.link/87eczisyhh.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
</feed>
