<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/sound/soc/generic/simple-card-utils.c, branch linux-rolling-stable</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-rolling-stable</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-rolling-stable'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2026-03-19T15:14:52Z</updated>
<entry>
<title>ASoC: simple-card-utils: fix graph_util_is_ports0() for DT overlays</title>
<updated>2026-03-19T15:14:52Z</updated>
<author>
<name>Sen Wang</name>
<email>sen@ti.com</email>
</author>
<published>2026-03-09T04:21:09Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b4dafa970c824eac6488f98183029b958257b89e'/>
<id>urn:sha1:b4dafa970c824eac6488f98183029b958257b89e</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-01-05T13:14:44Z</updated>
<author>
<name>Shengjiu Wang</name>
<email>shengjiu.wang@nxp.com</email>
</author>
<published>2025-12-29T09:04:32Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=22a507d7680f2c3499c133f6384349f62f916176'/>
<id>urn:sha1:22a507d7680f2c3499c133f6384349f62f916176</id>
<content type='text'>
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;
</content>
</entry>
<entry>
<title>AsoC: Phase out hybrid PCI devres</title>
<updated>2025-05-05T23:42:25Z</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2025-05-05T23:42:25Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/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:35Z</updated>
<author>
<name>Alexander Stein</name>
<email>alexander.stein@ew.tq-group.com</email>
</author>
<published>2025-04-29T09:49:10Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/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:36Z</updated>
<author>
<name>Kuninori Morimoto</name>
<email>kuninori.morimoto.gx@renesas.com</email>
</author>
<published>2025-04-14T00:45:59Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/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: Merge up fixes</title>
<updated>2025-03-14T02:31:06Z</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2025-03-14T02:31:06Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/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:02Z</updated>
<author>
<name>Kuninori Morimoto</name>
<email>kuninori.morimoto.gx@renesas.com</email>
</author>
<published>2025-02-28T00:29:30Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/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>
<entry>
<title>ASoC: simple-card-utils: use snd_soc_ret()</title>
<updated>2025-02-06T17:26:22Z</updated>
<author>
<name>Kuninori Morimoto</name>
<email>kuninori.morimoto.gx@renesas.com</email>
</author>
<published>2025-02-05T00:16:27Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2d7395b23dbf4c2d60be49b73e4c4705fc446662'/>
<id>urn:sha1:2d7395b23dbf4c2d60be49b73e4c4705fc446662</id>
<content type='text'>
We can use snd_soc_ret() to indicate error message when return.
Let's use it.

Signed-off-by: Kuninori Morimoto &lt;kuninori.morimoto.gx@renesas.com&gt;
Link: https://patch.msgid.link/87a5b12qlg.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: simple-card-utils.c: add missing dlc-&gt;of_node</title>
<updated>2025-02-05T11:55:27Z</updated>
<author>
<name>Kuninori Morimoto</name>
<email>kuninori.morimoto.gx@renesas.com</email>
</author>
<published>2025-02-04T23:50:08Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=dabbd325b25edb5cdd99c94391817202dd54b651'/>
<id>urn:sha1:dabbd325b25edb5cdd99c94391817202dd54b651</id>
<content type='text'>
commit 90de551c1bf ("ASoC: simple-card-utils.c: enable multi Component
support") added muiti Component support, but was missing to add
dlc-&gt;of_node. Because of it, Sound device list will indicates strange
name if it was DPCM connection and driver supports dai-&gt;driver-&gt;dai_args,
like below

	&gt; aplay -l
	card X: sndulcbmix [xxxx], device 0: fe.(null).rsnd-dai.0 (*) []
	...                                     ^^^^^^

It will be fixed by this patch

	&gt; aplay -l
	card X: sndulcbmix [xxxx], device 0: fe.sound@ec500000.rsnd-dai.0 (*) []
	...                                     ^^^^^^^^^^^^^^

Signed-off-by: Kuninori Morimoto &lt;kuninori.morimoto.gx@renesas.com&gt;
Reviewed-by: Daniel Baluta &lt;daniel.baluta@nxp.com&gt;
Link: https://patch.msgid.link/87ikpp2rtb.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'asoc-v6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus</title>
<updated>2025-01-20T15:15:07Z</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2025-01-20T15:15:07Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=8514d8f80e5cc87eb68ec037857fcd64d9c0bc68'/>
<id>urn:sha1:8514d8f80e5cc87eb68ec037857fcd64d9c0bc68</id>
<content type='text'>
ASoC: Updates for v6.14

This was quite a quiet release for what I imagine are holiday related
reasons, the diffstat is dominated by some Cirrus Logic Kunit tests.
There's the usual mix of small improvements and fixes, plus a few new
drivers and features.  The diffstat includes some DRM changes due to
work on HDMI audio.

 - Allow clocking on each DAI in an audio graph card to be configured
   separately.
 - Improved power management for Renesas RZ-SSI.
 - KUnit testing for the Cirrus DSP framework.
 - Memory to meory operation support for Freescale/NXP platforms.
 - Support for pause operations in SOF.
 - Support for Allwinner suinv F1C100s, Awinc AW88083, Realtek
   ALC5682I-VE
</content>
</entry>
</feed>
