<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/sound/soc/codecs, branch master</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=master</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2026-04-10T11:41:03Z</updated>
<entry>
<title>ASoC: rt1320-sdw: Add an approach to get new hardware advance gain</title>
<updated>2026-04-10T11:41:03Z</updated>
<author>
<name>Jack Yu</name>
<email>jack.yu@realtek.com</email>
</author>
<published>2026-04-10T06:42:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2603ea46ce5c59568cf968ce35d2bf2854042182'/>
<id>urn:sha1:2603ea46ce5c59568cf968ce35d2bf2854042182</id>
<content type='text'>
Add an approach to get new hardware advance gain,
and if there is no advance gain with this approach,
we can still get advance gain with original method.

Signed-off-by: Jack Yu &lt;jack.yu@realtek.com&gt;
Link: https://patch.msgid.link/20260410064225.662656-1-jack.yu@realtek.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: uda1380: Modernize the driver</title>
<updated>2026-04-10T10:27:52Z</updated>
<author>
<name>Linus Walleij</name>
<email>linusw@kernel.org</email>
</author>
<published>2026-04-09T21:39:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0cb7aa965ad02e90ba7d6bf847f3de07e8d0c05e'/>
<id>urn:sha1:0cb7aa965ad02e90ba7d6bf847f3de07e8d0c05e</id>
<content type='text'>
This codec driver depended on the legacy GPIO API, and nothing
in the kernel is defining the platform data, so get rid of this.

Two in-kernel device trees are defining this codec using
undocumented device tree properties, so support these for now.
The same properties can be defined using software nodes if board
files are desired. The device tree use the "-gpio" rather than
"-gpios" suffix but the GPIO DT parser will deal with that.

Since there may be out of tree users, migrate to GPIO descriptors,
drop the platform data that is unused, and assign the dac_clk the
value that was used in all platforms found in a historical dig,
and support setting the clock to the PLL using the undocumented
device tree property.

Add some menuconfig so the codec can be selected and tested.

Signed-off-by: Linus Walleij &lt;linusw@kernel.org&gt;
Link: https://patch.msgid.link/20260409-asoc-uda1380-v3-1-b3d5a53f31be@kernel.org
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: rt1320-sdw: kcontrol for brown-out feature update</title>
<updated>2026-04-09T19:41:48Z</updated>
<author>
<name>Jack Yu</name>
<email>jack.yu@realtek.com</email>
</author>
<published>2026-04-09T06:01:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=fbb1f8ba4e2d847859d04220c4a775996f072d57'/>
<id>urn:sha1:fbb1f8ba4e2d847859d04220c4a775996f072d57</id>
<content type='text'>
Create a kcontrol to enable or disable brown-out dynamically.

Signed-off-by: Jack Yu &lt;jack.yu@realtek.com&gt;
Link: https://patch.msgid.link/20260409060102.4177554-1-jack.yu@realtek.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: Yet another round of SDCA fixes</title>
<updated>2026-04-09T18:39:32Z</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2026-04-09T18:39:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c822e308c32588a9b52edc2394303d14f675330c'/>
<id>urn:sha1:c822e308c32588a9b52edc2394303d14f675330c</id>
<content type='text'>
Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt; says:

Another round of SDCA fixes a couple of fix to the IRQ cleanup
from Richard, and a minor tweak to the IRQ handling from me.
</content>
</entry>
<entry>
<title>ASoC: tas2781: Explicit association of Device, Device Name, and Device ID</title>
<updated>2026-04-08T18:05:16Z</updated>
<author>
<name>Shenghao Ding</name>
<email>shenghao-ding@ti.com</email>
</author>
<published>2026-04-06T10:31:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9a52d1b7cb4a00a0dde3036b56a9706f54fccbb9'/>
<id>urn:sha1:9a52d1b7cb4a00a0dde3036b56a9706f54fccbb9</id>
<content type='text'>
By correlating devices with their names and IDs, the driver becomes more
discoverable.

Signed-off-by: Shenghao Ding &lt;shenghao-ding@ti.com&gt;
Link: https://patch.msgid.link/20260406103131.1883-1-shenghao-ding@ti.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: nau8325: Add software reset during probe</title>
<updated>2026-04-08T12:01:06Z</updated>
<author>
<name>Neo Chang</name>
<email>YLCHANG2@nuvoton.com</email>
</author>
<published>2026-04-08T05:26:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f4c90fb761f696ebbcf1e8fb7f83d83cbb30cb0c'/>
<id>urn:sha1:f4c90fb761f696ebbcf1e8fb7f83d83cbb30cb0c</id>
<content type='text'>
Currently, the driver only performs a hardware reset during the I2C probe
sequence. To ensure all internal states of the codec are properly cleared
without affecting the configuration registers, a software reset is also
required.

According to the hardware specification, writing to the Software Reset
register (R01) twice will reset all internal states safely.

This patch adds the nau8325_software_reset() function, executes it right
after the hardware reset in the probe function, and marks the R01 register
as writeable in the regmap configuration.

Signed-off-by: Neo Chang &lt;YLCHANG2@nuvoton.com&gt;
Reviewed-by: Cezary Rojewski &lt;cezary.rojewski@intel.com&gt;
Link: https://patch.msgid.link/20260408052639.187149-1-YLCHANG2@nuvoton.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: rt5640: Handle 0Hz sysclk during stream shutdown</title>
<updated>2026-04-06T12:04:03Z</updated>
<author>
<name>Sheetal</name>
<email>sheetal@nvidia.com</email>
</author>
<published>2026-04-06T09:05:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=247d1c13992d2c501e2e020e84d9d2920e11bf78'/>
<id>urn:sha1:247d1c13992d2c501e2e020e84d9d2920e11bf78</id>
<content type='text'>
Commit 2458adb8f92a ("SoC: simple-card-utils: set 0Hz to sysclk when
shutdown") sends a 0Hz sysclk request during stream shutdown to clear
codec rate constraints. The rt5640 codec forwards this 0Hz to
clk_set_rate(), which can cause clock controller firmware faults on
platforms where MCLK is SoC-driven (e.g. Tegra) and 0Hz falls below
the hardware minimum rate.

Handle the 0Hz case by clearing the internal sysclk state and
returning early, avoiding the invalid clk_set_rate() call.

Signed-off-by: Sheetal &lt;sheetal@nvidia.com&gt;
Link: https://patch.msgid.link/20260406090547.988966-1-sheetal@nvidia.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: codecs: tlv320dac33: remove kmemdup_array</title>
<updated>2026-04-03T14:11:50Z</updated>
<author>
<name>Rosen Penev</name>
<email>rosenp@gmail.com</email>
</author>
<published>2026-04-02T02:50:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=04cc47624a33a6b56c62bfd65ad6b2d1c42e17c4'/>
<id>urn:sha1:04cc47624a33a6b56c62bfd65ad6b2d1c42e17c4</id>
<content type='text'>
Use a flexible array member and struct_size to use one allocation.

Signed-off-by: Rosen Penev &lt;rosenp@gmail.com&gt;
Link: https://patch.msgid.link/20260402025040.93569-1-rosenp@gmail.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: ak5558: remove unused snd_soc_component</title>
<updated>2026-04-01T12:07:22Z</updated>
<author>
<name>Kuninori Morimoto</name>
<email>kuninori.morimoto.gx@renesas.com</email>
</author>
<published>2026-04-01T00:19:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9b4f93a8b1a5d058ff42000a226fa3a237078425'/>
<id>urn:sha1:9b4f93a8b1a5d058ff42000a226fa3a237078425</id>
<content type='text'>
ak5558_priv::component has never been used. Remove it.

Signed-off-by: Kuninori Morimoto &lt;kuninori.morimoto.gx@renesas.com&gt;
Link: https://patch.msgid.link/875x6bttv8.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: jz47xx: Convert to devm_clk_get_enabled()</title>
<updated>2026-03-30T18:40:31Z</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2026-03-30T18:40:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=18cc8cc30b71feaec4d80724917f91782987a4a7'/>
<id>urn:sha1:18cc8cc30b71feaec4d80724917f91782987a4a7</id>
<content type='text'>
Jihed Chaibi &lt;jihed.chaibi.dev@gmail.com&gt; says:

The jz4725b, jz4760 and jz4770 Ingenic codec drivers all share the same
clock management pattern: the clock is obtained with devm_clk_get() in
the platform probe, then manually enabled in the component probe and
disabled in the component remove. The clk_prepare_enable() call in the
component probe is unchecked, meaning clock enable failures are silently
ignored and can lead to register access on unpowered hardware.

This series converts all three drivers to devm_clk_get_enabled(), which
combines the get, prepare and enable steps and ties the clock lifetime to
the device via devres. The now-redundant component remove callbacks and
the struct clk pointers in the private structs are removed.
</content>
</entry>
</feed>
