<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/sound/soc/codecs, branch v5.7-rc6</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v5.7-rc6</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v5.7-rc6'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2020-04-21T14:43:22+00:00</updated>
<entry>
<title>ASoC: wm8960: Fix wrong clock after suspend &amp; resume</title>
<updated>2020-04-21T14:43:22+00:00</updated>
<author>
<name>Shengjiu Wang</name>
<email>shengjiu.wang@nxp.com</email>
</author>
<published>2020-04-21T11:28:45+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=1e060a453c8604311fb45ae2f84f67ed673329b4'/>
<id>urn:sha1:1e060a453c8604311fb45ae2f84f67ed673329b4</id>
<content type='text'>
After suspend &amp; resume, wm8960_hw_params may be called when
bias_level is not SND_SOC_BIAS_ON, then wm8960_configure_clocking
is not called. But if sample rate is changed at that time, then
the output clock rate will be not correct.

So judgement of bias_level is SND_SOC_BIAS_ON in wm8960_hw_params
is not necessary and it causes above issue.

Fixes: 3176bf2d7ccd ("ASoC: wm8960: update pll and clock setting function")
Signed-off-by: Shengjiu Wang &lt;shengjiu.wang@nxp.com&gt;
Acked-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Link: https://lore.kernel.org/r/1587468525-27514-1-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: wm89xx: Add missing dependency</title>
<updated>2020-04-20T14:27:01+00:00</updated>
<author>
<name>YueHaibing</name>
<email>yuehaibing@huawei.com</email>
</author>
<published>2020-04-20T12:53:43+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=9bff3d3024e51122c0c09634056debcd6c7359ec'/>
<id>urn:sha1:9bff3d3024e51122c0c09634056debcd6c7359ec</id>
<content type='text'>
sound/soc/codecs/wm8900.o: In function `wm8900_i2c_probe':
wm8900.c:(.text+0xa36): undefined reference to `__devm_regmap_init_i2c'
sound/soc/codecs/wm8900.o: In function `wm8900_modinit':
wm8900.c:(.init.text+0xb): undefined reference to `i2c_register_driver'
sound/soc/codecs/wm8900.o: In function `wm8900_exit':
wm8900.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'
sound/soc/codecs/wm8988.o: In function `wm8988_i2c_probe':
wm8988.c:(.text+0x857): undefined reference to `__devm_regmap_init_i2c'
sound/soc/codecs/wm8988.o: In function `wm8988_modinit':
wm8988.c:(.init.text+0xb): undefined reference to `i2c_register_driver'
sound/soc/codecs/wm8988.o: In function `wm8988_exit':
wm8988.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'
sound/soc/codecs/wm8995.o: In function `wm8995_i2c_probe':
wm8995.c:(.text+0x1c4f): undefined reference to `__devm_regmap_init_i2c'
sound/soc/codecs/wm8995.o: In function `wm8995_modinit':
wm8995.c:(.init.text+0xb): undefined reference to `i2c_register_driver'
sound/soc/codecs/wm8995.o: In function `wm8995_exit':
wm8995.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'

Add SND_SOC_I2C_AND_SPI dependency to fix this.

Fixes: ea00d95200d02ece ("ASoC: Use imply for SND_SOC_ALL_CODECS")
Reported-by: Hulk Robot &lt;hulkci@huawei.com&gt;
Signed-off-by: YueHaibing &lt;yuehaibing@huawei.com&gt;
Acked-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Link: https://lore.kernel.org/r/20200420125343.20920-1-yuehaibing@huawei.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: codecs: hdac_hdmi: Fix incorrect use of list_for_each_entry</title>
<updated>2020-04-16T12:01:33+00:00</updated>
<author>
<name>Amadeusz Sławiński</name>
<email>amadeuszx.slawinski@linux.intel.com</email>
</author>
<published>2020-04-15T16:28:49+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=326b509238171d37402dbe308e154cc234ed1960'/>
<id>urn:sha1:326b509238171d37402dbe308e154cc234ed1960</id>
<content type='text'>
If we don't find any pcm, pcm will point at address at an offset from
the the list head and not a meaningful structure. Fix this by returning
correct pcm if found and NULL if not. Found with coccinelle.

Signed-off-by: Amadeusz Sławiński &lt;amadeuszx.slawinski@linux.intel.com&gt;
Link: https://lore.kernel.org/r/20200415162849.308-1-amadeuszx.slawinski@linux.intel.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: sgtl5000: Fix VAG power-on handling</title>
<updated>2020-04-15T12:00:27+00:00</updated>
<author>
<name>Sebastian Reichel</name>
<email>sebastian.reichel@collabora.com</email>
</author>
<published>2020-04-14T18:11:40+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=aa7812737f2877e192d57626cbe8825cc7cf6de9'/>
<id>urn:sha1:aa7812737f2877e192d57626cbe8825cc7cf6de9</id>
<content type='text'>
As mentioned slightly out of patch context in the code, there
is no reset routine for the chip. On boards where the chip is
supplied by a fixed regulator, it might not even be resetted
during (e.g. watchdog) reboot and can be in any state.

If the device is probed with VAG enabled, the driver's probe
routine will generate a loud pop sound when ANA_POWER is
being programmed. Avoid this by properly disabling just the
VAG bit and waiting the required power down time.

Signed-off-by: Sebastian Reichel &lt;sebastian.reichel@collabora.com&gt;
Reviewed-by: Fabio Estevam &lt;festivem@gmail.com&gt;
Link: https://lore.kernel.org/r/20200414181140.145825-1-sebastian.reichel@collabora.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: madera: Remove a couple of stray blank lines</title>
<updated>2020-04-14T14:45:29+00:00</updated>
<author>
<name>Charles Keepax</name>
<email>ckeepax@opensource.cirrus.com</email>
</author>
<published>2020-04-09T18:13:11+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=bcbc13d28f7f7bcacb3594f72e68c8e57167a836'/>
<id>urn:sha1:bcbc13d28f7f7bcacb3594f72e68c8e57167a836</id>
<content type='text'>
Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Link: https://lore.kernel.org/r/20200409181311.30247-1-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: wsa881x: mark read_only_wordlength flag</title>
<updated>2020-04-14T14:45:28+00:00</updated>
<author>
<name>Srinivas Kandagatla</name>
<email>srinivas.kandagatla@linaro.org</email>
</author>
<published>2020-04-14T11:03:47+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=0f2a3b02274c02eb97697c4d89c019d1d21ac225'/>
<id>urn:sha1:0f2a3b02274c02eb97697c4d89c019d1d21ac225</id>
<content type='text'>
WSA881x works in PDM mode so the wordlength is fixed, which also makes
the only field "WordLength" in DPN_BlockCtrl1 register a read-only.
Writing to this register will throw up errors with Qualcomm Controller.
So use ro_blockctrl1_reg flag to mark this field as read-only so that
core will not write to this register.

Signed-off-by: Srinivas Kandagatla &lt;srinivas.kandagatla@linaro.org&gt;
Reviewed-by: Vinod Koul &lt;vkoul@kernel.org&gt;
Link: https://lore.kernel.org/r/20200414110347.23829-1-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: tas571x: disable regulators on failed probe</title>
<updated>2020-04-14T11:59:12+00:00</updated>
<author>
<name>Philipp Puschmann</name>
<email>p.puschmann@pironex.de</email>
</author>
<published>2020-04-14T11:27:54+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=9df8ba7c63073508e5aa677dade48fcab6a6773e'/>
<id>urn:sha1:9df8ba7c63073508e5aa677dade48fcab6a6773e</id>
<content type='text'>
If probe fails after enabling the regulators regulator_put is called for
each supply without having them disabled before. This produces some
warnings like

WARNING: CPU: 0 PID: 90 at drivers/regulator/core.c:2044 _regulator_put.part.0+0x154/0x15c
[&lt;c010f7a8&gt;] (unwind_backtrace) from [&lt;c010c544&gt;] (show_stack+0x10/0x14)
[&lt;c010c544&gt;] (show_stack) from [&lt;c012b640&gt;] (__warn+0xd0/0xf4)
[&lt;c012b640&gt;] (__warn) from [&lt;c012b9b4&gt;] (warn_slowpath_fmt+0x64/0xc4)
[&lt;c012b9b4&gt;] (warn_slowpath_fmt) from [&lt;c04c4064&gt;] (_regulator_put.part.0+0x154/0x15c)
[&lt;c04c4064&gt;] (_regulator_put.part.0) from [&lt;c04c4094&gt;] (regulator_put+0x28/0x38)
[&lt;c04c4094&gt;] (regulator_put) from [&lt;c04c40cc&gt;] (regulator_bulk_free+0x28/0x38)
[&lt;c04c40cc&gt;] (regulator_bulk_free) from [&lt;c0579b2c&gt;] (release_nodes+0x1d0/0x22c)
[&lt;c0579b2c&gt;] (release_nodes) from [&lt;c05756dc&gt;] (really_probe+0x108/0x34c)
[&lt;c05756dc&gt;] (really_probe) from [&lt;c0575aec&gt;] (driver_probe_device+0xb8/0x16c)
[&lt;c0575aec&gt;] (driver_probe_device) from [&lt;c0575d40&gt;] (device_driver_attach+0x58/0x60)
[&lt;c0575d40&gt;] (device_driver_attach) from [&lt;c0575da0&gt;] (__driver_attach+0x58/0xcc)
[&lt;c0575da0&gt;] (__driver_attach) from [&lt;c0573978&gt;] (bus_for_each_dev+0x78/0xc0)
[&lt;c0573978&gt;] (bus_for_each_dev) from [&lt;c0574b5c&gt;] (bus_add_driver+0x188/0x1e0)
[&lt;c0574b5c&gt;] (bus_add_driver) from [&lt;c05768b0&gt;] (driver_register+0x74/0x108)
[&lt;c05768b0&gt;] (driver_register) from [&lt;c061ab7c&gt;] (i2c_register_driver+0x3c/0x88)
[&lt;c061ab7c&gt;] (i2c_register_driver) from [&lt;c0102df8&gt;] (do_one_initcall+0x58/0x250)
[&lt;c0102df8&gt;] (do_one_initcall) from [&lt;c01a91bc&gt;] (do_init_module+0x60/0x244)
[&lt;c01a91bc&gt;] (do_init_module) from [&lt;c01ab5a4&gt;] (load_module+0x2180/0x2540)
[&lt;c01ab5a4&gt;] (load_module) from [&lt;c01abbd4&gt;] (sys_finit_module+0xd0/0xe8)
[&lt;c01abbd4&gt;] (sys_finit_module) from [&lt;c01011e0&gt;] (__sys_trace_return+0x0/0x20)

Fixes: 3fd6e7d9a146 (ASoC: tas571x: New driver for TI TAS571x power amplifiers)
Signed-off-by: Philipp Puschmann &lt;p.puschmann@pironex.de&gt;
Link: https://lore.kernel.org/r/20200414112754.3365406-1-p.puschmann@pironex.de
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: cs4270: pull reset GPIO low then high</title>
<updated>2020-04-07T14:29:54+00:00</updated>
<author>
<name>Mike Willard</name>
<email>mwillard@izotope.com</email>
</author>
<published>2020-04-01T20:54:54+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=ccfc531695f3a4aada042f6bdb33ac6be24e1aec'/>
<id>urn:sha1:ccfc531695f3a4aada042f6bdb33ac6be24e1aec</id>
<content type='text'>
Pull the RST line low then high when initializing the driver,
in order to force a reset of the chip.
Previously, the line was not pulled low, which could result in
the chip registers not resetting to their default values on boot.

Signed-off-by: Mike Willard &lt;mwillard@izotope.com&gt;
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20200401205454.79792-1-mwillard@izotope.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: rt5645: Add platform-data for Medion E1239T</title>
<updated>2020-04-06T16:45:24+00:00</updated>
<author>
<name>Hans de Goede</name>
<email>hdegoede@redhat.com</email>
</author>
<published>2020-04-02T18:52:57+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=4146575eb0f0cb41e6d909234b654064d1bed183'/>
<id>urn:sha1:4146575eb0f0cb41e6d909234b654064d1bed183</id>
<content type='text'>
The Medion E1239T uses the default jack-detect mode 3, but instead of
using an analog microphone it is using a DMIC on dmic-data-pin 1,
like other models following Intel's Brasswell's reference design.

This commit adds a DMI quirk pointing to the intel_braswell_platform_data
for this model.

Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Reviewed-by: Pierre-Louis Bossart &lt;pierre-louis.bossart@linux.intel.com&gt;
Link: https://lore.kernel.org/r/20200402185257.3355-1-hdegoede@redhat.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: rt5682: Fix build error without CONFIG_I2C</title>
<updated>2020-04-01T11:06:28+00:00</updated>
<author>
<name>YueHaibing</name>
<email>yuehaibing@huawei.com</email>
</author>
<published>2020-04-01T09:10:55+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=59564e117356d5bb6df6876c03d7d650361781c9'/>
<id>urn:sha1:59564e117356d5bb6df6876c03d7d650361781c9</id>
<content type='text'>
If I2C is n but SoundWire is m, building fails:

sound/soc/codecs/rt5682.c:3716:1: warning: data definition has no type or storage class
 module_i2c_driver(rt5682_i2c_driver);
 ^~~~~~~~~~~~~~~~~
sound/soc/codecs/rt5682.c:3716:1: error: type defaults to 'int' in declaration of 'module_i2c_driver' [-Werror=implicit-int]
sound/soc/codecs/rt5682.c:3716:1: warning: parameter names (without types) in function declaration

Guard this use #ifdef CONFIG_I2C.

Fixes: 5549ea647997 ("ASoC: rt5682: fix unmet dependencies")
Signed-off-by: YueHaibing &lt;yuehaibing@huawei.com&gt;
Link: https://lore.kernel.org/r/20200401091055.34112-1-yuehaibing@huawei.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
</feed>
