- 29 6月, 2022 1 次提交
-
-
由 Srinivas Kandagatla 提交于
This patch adds support to WSA8830/WSA8812/WSA8835 Class-D Smart Speaker Amplifier. This Amplifier is primarily interfaced with SoundWire. This patch is tested on SM8450 MTP Board. Signed-off-by: NSrinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20220629090644.67982-3-srinivas.kandagatla@linaro.orgSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 06 6月, 2022 1 次提交
-
-
由 Cezary Rojewski 提交于
Add generic ASoC equivalent of ALSA HD-Audio codec. This codec is designed to follow HDA_DEV_LEGACY convention. Driver wrapps existing hda_codec.c handlers to prevent code duplication within the newly added code. Number of DAIs created is dependent on capabilities exposed by the codec itself. Because of this, single solution can be applied to support every single HD-Audio codec type. At the same time, through the ASoC topology, platform drivers may limit the number of endpoints available to the userspace as codec driver exposes BE DAIs only. Both hda_codec_probe() and hda_codec_remove() declare their expectations on device's usage_count and suspended-status. This is to catch any unexpected behavior as PM-related code for HD-Audio has been changing quite a bit throughout the years. In order for codec DAI list to reflect its actual PCM capabilities, PCMs need to be built and that can only happen once codec device is constructed. To do that, a valid component->card->snd_card pointer is needed. Said pointer will be provided by the framework once all card components are accounted for and their probing can begin. Usage of "binder" BE DAI solves the problem - codec can be listed as one of HD-Audio card components without declaring any actual BE DAIs statically. Relation with hdac_hda: Addition of parallel solution is motivated by behavioral differences between hdac_hda.c and its legacy equivalent found in sound/pci/hda e.g.: lack of dynamic, based on codec capabilities, resource allocation and high cost of removing such differences on actively used targets. Major goal of codec driver presented here is to follow HD-Audio legacy behavior in 1:1 fashion by becoming a wrapper. Doing so increases code coverage of the legacy code and reduces the maintenance cost for both solutions. Signed-off-by: NCezary Rojewski <cezary.rojewski@intel.com> Link: https://lore.kernel.org/r/20220511162403.3987658-3-cezary.rojewski@intel.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 19 5月, 2022 2 次提交
-
-
由 Pierre-Louis Bossart 提交于
commit dcc2c012 ("ASoC: Fix gpiolib dependencies") removed a series of unnecessary dependencies on GPIOLIB when the gpio was optional. A similar simplification seems valid for rt1015p, so remove the dependency as well. This will avoid the following warning WARNING: unmet direct dependencies detected for SND_SOC_RT1015P Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && GPIOLIB [=n] Selected by [y]: - SND_SOC_INTEL_SOF_RT5682_MACH [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_INTEL_MACH [=y] && (SND_SOC_SOF_HDA_LINK [=y] || SND_SOC_SOF_BAYTRAIL [=n]) && I2C [=y] && ACPI [=y] && (SND_HDA_CODEC_HDMI [=y] && SND_SOC_SOF_HDA_AUDIO_CODEC [=y] && (MFD_INTEL_LPSS [=y] || COMPILE_TEST [=y]) || SND_SOC_SOF_BAYTRAIL [=n] && (X86_INTEL_LPSS [=n] || COMPILE_TEST [=y])) Reported-by: Nkernel test robot <yujie.liu@intel.com> Signed-off-by: NPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: NPéter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20220517172647.468244-3-pierre-louis.bossart@linux.intel.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Pierre-Louis Bossart 提交于
commit dcc2c012 ("ASoC: Fix gpiolib dependencies") removed a series of unnecessary dependencies on GPIOLIB when the gpio was optional. A similar simplification seems valid for max98357a, so remove the dependency as well. This will avoid the following warning WARNING: unmet direct dependencies detected for SND_SOC_MAX98357A Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && GPIOLIB [=n] Selected by [y]: - SND_SOC_INTEL_SOF_CS42L42_MACH [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_INTEL_MACH [=y] && (SND_SOC_SOF_HDA_LINK [=y] || SND_SOC_SOF_BAYTRAIL [=n]) && I2C [=y] && ACPI [=y] && SND_HDA_CODEC_HDMI [=y] && SND_SOC_SOF_HDA_AUDIO_CODEC [=y] && (MFD_INTEL_LPSS [=y] || COMPILE_TEST [=n]) Reported-by: Nkernel test robot <yujie.liu@intel.com> Signed-off-by: NPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: NPéter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20220517172647.468244-2-pierre-louis.bossart@linux.intel.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 10 5月, 2022 1 次提交
-
-
由 Lukasz Majewski 提交于
This adds devicetree support to the wm8940 codec driver. With a DT-based kernel, there is no board-specific setting to select the driver so allow it to be manually chosen. Signed-off-by: NLukasz Majewski <lukma@denx.de> Acked-by: NCharles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20220509121055.31103-1-lukma@denx.deSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 26 4月, 2022 1 次提交
-
-
由 Ryan Lee 提交于
This series of patches adds support for Analog Devices MAX98396 mono amplifier with IV sense. The device provides a PCM interface for audio data and a standard I2C interface for control data communication. This driver also supports MAX98397 which is a variant of MAX98396 with wide input supply range. Signed-off-by: NRyan Lee <ryan.lee.analog@gmail.com> Reported-by: Nkernel test robot <lkp@intel.com> Link: https://lore.kernel.org/r/20220423021558.1773598-1-ryan.lee.analog@gmail.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 07 4月, 2022 1 次提交
-
-
由 Stephen Kitt 提交于
The rt1016 driver wasn't listed in Kconfig and Makefile, which AFAICT means it isn't ever built. This patch adds the appropriate entries to Kconfig and Makefile. Signed-off-by: NStephen Kitt <steve@sk2.org> Link: https://lore.kernel.org/r/20220405171158.2168762-1-steve@sk2.orgSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 06 4月, 2022 1 次提交
-
-
由 James Schulman 提交于
The CS35L45 is a 15 V Boosted Mono Class D Amplifier with DSP Speaker Protection and Adaptive Battery Management. This initial driver provides standard non-boosted audio operation without the DSP. Signed-off-by: NJames Schulman <james.schulman@cirrus.com> Signed-off-by: NRichard Fitzgerald <rf@opensource.cirrus.com> Link: https://lore.kernel.org/r/20220405135419.1230088-6-rf@opensource.cirrus.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 04 4月, 2022 1 次提交
-
-
由 Mark Brown 提交于
Placing both the I2C and SPI code in the same module causes problems with mixes of modular and non-modular builds of the buses so it's generally bad practice. As with other drivers split the bus code out of the WM8731 driver into separate modules. Signed-off-by: NMark Brown <broonie@kernel.org> Acked-by: NCharles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20220325153121.1598494-6-broonie@kernel.orgSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 07 3月, 2022 1 次提交
-
-
由 Jonathan Albrieux 提交于
The Awinic AW8738 is a simple audio amplifier using a single GPIO. The main difference to simple-amplifier is that there is a "one-wire pulse control" that allows configuring the amplifier to one of a few pre-defined modes. This can be used to configure the speaker-guard function (primarily the power limit for the amplifier). Add a simple driver that allows setting it up in the device tree with a specified mode number. Signed-off-by: NJonathan Albrieux <jonathan.albrieux@gmail.com> Co-developed-by: NStephan Gerhold <stephan@gerhold.net> Signed-off-by: NStephan Gerhold <stephan@gerhold.net> Link: https://lore.kernel.org/r/20220304102452.26856-3-stephan@gerhold.netSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 28 2月, 2022 1 次提交
-
-
由 Srinivasa Rao Mandadapu 提交于
Add support for enabling required power domains in digital macro codecs. macro and dcodec power domains are being requested as clocks by HLOS in ADSP based architectures and ADSP internally handling as powerdomains. In ADSP bypass case need to handle them as power domains explicitly. Signed-off-by: NSrinivasa Rao Mandadapu <quic_srivasam@quicinc.com> Co-developed-by: NVenkata Prasad Potturu <quic_potturu@quicinc.com> Signed-off-by: NVenkata Prasad Potturu <quic_potturu@quicinc.com> Reported-by: Nkernel test robot <lkp@intel.com> Link: https://lore.kernel.org/r/1645898959-11231-2-git-send-email-quic_srivasam@quicinc.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 08 2月, 2022 6 次提交
-
-
由 Mark Brown 提交于
The simple-mux driver requires gpiolib. Currently it selects GPIOLIB but since the use of select can lead to issues with randconfig let's instead depend on GPIOLIB, select is more idiomatically used for Kconfig symbols that are not user selectable but GPIOLIB is user selectable. Signed-off-by: NMark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20220202192333.3655269-7-broonie@kernel.orgSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Mark Brown 提交于
The usage of GPIOs is optional in the code so don't force on gpiolib when building it, avoiding warnings in randconfigs. Signed-off-by: NMark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20220202192333.3655269-6-broonie@kernel.orgSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Mark Brown 提交于
The usage of GPIOs is optional in the code so don't force on gpiolib when building it, avoiding warnings in randconfigs. Signed-off-by: NMark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20220202192333.3655269-5-broonie@kernel.orgSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Mark Brown 提交于
The usage of GPIOs is optional in the code so don't force on gpiolib when building it, avoiding warnings in randconfigs. Signed-off-by: NMark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20220202192333.3655269-4-broonie@kernel.orgSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Mark Brown 提交于
The usage of GPIOs is optional in the code so don't force on gpiolib when building it, avoiding warnings in randconfigs. Signed-off-by: NMark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20220202192333.3655269-3-broonie@kernel.orgSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Mark Brown 提交于
The usage of GPIOs is optional in the code so don't force on gpiolib when building it, avoiding warnings in randconfigs. Signed-off-by: NMark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20220202192333.3655269-2-broonie@kernel.orgSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 03 2月, 2022 1 次提交
-
-
由 Charles Keepax 提交于
The Madera CODECs use regmap_irq functions but nothing ensures that regmap_irq is built into the kernel. Add dependencies on the ASoC symbols for the relevant MFD component. There is no point in building the ASoC driver if the MFD doesn't support it and the MFD part contains the necessary dependencies to ensure everything is built into the kernel. Reported-by: NMark Brown <broonie@kernel.org> Signed-off-by: NCharles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20220203115025.16464-1-ckeepax@opensource.cirrus.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 24 1月, 2022 1 次提交
-
-
由 Daniel Beer 提交于
The Texas Instruments TAS5805M is a class D audio amplifier with an integrated DSP. DSP configuration is supplied in a firmware image specified through a device-tree attribute. These register writes set up application-specific DSP settings and are expected to be generated using TI's PPC3 tool. Signed-off-by: NDaniel Beer <daniel.beer@igorinstitute.com> Link: https://lore.kernel.org/r/b82fac1d21a33a5f57a5819eaf37c31f5c86eb65.1642298336.git.daniel.beer@igorinstitute.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 31 12月, 2021 1 次提交
-
-
由 Lucas Tanure 提交于
To support CS35L41 in HDA systems the HDA driver for CS35L41 would have to duplicate some functions that already exist on ASoC driver So instead of duplicate the code, use the new lib source as a shared resource for both ASoC and HDA Also, change the way CONFIG_SND_SOC_CS35L41 is selected, as reported by Intel Kernel test robot, it is possible to build SND_SOC_CS35L41_SPI/I2C without the main driver, which would lead to build failures. Signed-off-by: NLucas Tanure <tanureal@opensource.cirrus.com> Reported-by: Nkernel test robot <lkp@intel.com> Link: https://lore.kernel.org/r/20211217115708.882525-2-tanureal@opensource.cirrus.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 22 12月, 2021 1 次提交
-
-
由 Vincent Knecht 提交于
AK4375 is a 32-bit stereo DAC with headphones amplifier. There's no documentation for it on akm.com, and only a brief datasheet can be found floating on the internets [1]. Thanks to Oriane BAYERD <obayerd@eurocomposant.fr> for finally answering my inquiries through akm.com, if only to tell me that this chip is EOL following AKM factory burning in october 2020 and thus no detailed documentation is available anymore... AK4331 is advertised [2] as pin and register compatible with AK4375 so some scraps of its datasheet were used and this driver might be used as a base for it, but this is totally untested. So this driver is mainly based on downstream code [3] and [4] by Hu Jin from AKM (no known email). Tested on msm8916-alcatel-idol347 and msm8939-alcatel-idol3, which both use PLL driven clock with bypass of SRC (sample rate converter), so only this setup is supported for now. [1] https://datasheetspdf.com/pdf-file/1400317/AKM/AK4375A/1 [2] https://www.akm.com/content/dam/documents/products/audio/audio-dac/ak4331ecb/ak4331ecb-en-datasheet.pdf [3] https://github.com/msm8916-mainline/android_kernel_qcom_msm8916/blob/alcatel-idol347/sound/soc/codecs/idol347/ak4375.c [4] https://github.com/msm8916-mainline/android_kernel_qcom_msm8916/blob/alcatel-idol347/sound/soc/codecs/ak4375.cSigned-off-by: NVincent Knecht <vincent.knecht@mailoo.org> Link: https://lore.kernel.org/r/20211220193725.2650356-2-vincent.knecht@mailoo.orgSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 20 12月, 2021 1 次提交
-
-
由 Ricard Wanderlof 提交于
New codec driver for Texas Instruments TLV320ADC3001 and TLV320ADC3101 audio ADCs. Signed-off-by: NRicard Wanderlof <ricardw@axis.com> Link: https://lore.kernel.org/r/alpine.DEB.2.21.2112151801370.27889@lap5cg0092dnk.se.axis.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 02 12月, 2021 1 次提交
-
-
由 Lucas Tanure 提交于
Auto select core driver if i2c or spi bus drivers are selected Fixes: a5e0091d ("ASoC: cs35l41: Fix link problem") Signed-off-by: NLucas Tanure <tanureal@opensource.cirrus.com> Reported-by: Nkernel test robot <lkp@intel.com> Link: https://lore.kernel.org/r/20211201180004.1402156-2-tanureal@opensource.cirrus.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 26 11月, 2021 1 次提交
-
-
由 Lucas Tanure 提交于
Can't link I2C and SPI to the same binary, better to move CS35L41 to 3 modules approach. And instead of exposing cs35l41_reg, volatile_reg, readable_reg and precious_reg arrays, move cs35l41_regmap_i2c/spi to new module and expose it. Signed-off-by: NLucas Tanure <tanureal@opensource.cirrus.com> Link: https://lore.kernel.org/r/20211125143501.7720-1-tanureal@opensource.cirrus.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 25 11月, 2021 1 次提交
-
-
由 Lukas Bulwahn 提交于
Commit 04544222 ("ASoC: codecs: wcd938x: add audio routing and Kconfig") adds SND_SOC_WCD937X, which does not exist, and SND_SOC_WCD938X, which seems not really to be the intended config to be selected, but only a supporting config symbol to the actual config SND_SOC_WCD938X_SDW for the codec. Add SND_SOC_WCD938_SDW to the list instead of SND_SOC_WCD93{7,8}X. The issue was identified with ./scripts/checkkconfigsymbols.py. Fixes: 04544222 ("ASoC: codecs: wcd938x: add audio routing and Kconfig") Signed-off-by: NLukas Bulwahn <lukas.bulwahn@gmail.com> Link: https://lore.kernel.org/r/20211125095158.8394-3-lukas.bulwahn@gmail.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 16 11月, 2021 1 次提交
-
-
由 David Rhodes 提交于
Support for HALO DSP and firmware Signed-off-by: NDavid Rhodes <drhodes@opensource.cirrus.com> Reviewed-by: NCharles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20211029214028.401284-2-drhodes@opensource.cirrus.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 27 10月, 2021 1 次提交
-
-
由 George Song 提交于
add max98520 audio amplifier driver Signed-off-by: NGeorge Song <george.song@maximintegrated.com> Link: https://lore.kernel.org/r/20211027001431.363-2-george.song@maximintegrated.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 13 10月, 2021 2 次提交
-
-
由 ChiYuan Huang 提交于
Add Richtek rt9120 audio amplifier support. Signed-off-by: NChiYuan Huang <cy_huang@richtek.com> Link: https://lore.kernel.org/r/1634088519-995-3-git-send-email-u0084500@gmail.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Mark Brown 提交于
This drops the rt9210 support due to a race with a new version being sent out for some incremental changes. Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 08 10月, 2021 1 次提交
-
-
由 ChiYuan Huang 提交于
Add Richtek rt9120 audio amplifier support. Signed-off-by: NChiYuan Huang <cy_huang@richtek.com> [Fix a Gain->Volume -- broonie] Message-Id: <1633668612-25524-3-git-send-email-u0084500@gmail.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 07 10月, 2021 1 次提交
-
-
由 Srinivasa Rao Mandadapu 提交于
This patch fixes compilation error in wcd98x codec driver. Fixes: 04544222 ("ASoC: codecs: wcd938x: add audio routing and Kconfig") Signed-off-by: NVenkata Prasad Potturu <potturu@codeaurora.org> Signed-off-by: NSrinivasa Rao Mandadapu <srivasam@codeaurora.org> Reviewed-by: NSrinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/1633614675-27122-1-git-send-email-srivasam@codeaurora.orgSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 02 10月, 2021 1 次提交
-
-
由 Seven Lee 提交于
The driver is for codec NAU88L21 of Nuvoton Technology Corporation. The NAU88L21 is an ultra-low power high performance audio codec that supports both analog and digital audio functions. Signed-off-by: NSeven Lee <wtli@nuvoton.com> Link: https://lore.kernel.org/r/20211001103108.3297848-1-wtli@nuvoton.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 27 9月, 2021 1 次提交
-
-
由 Simon Trimmer 提交于
wm_adsp originally provided firmware loading on some audio DSP and was implemented as an ASoC codec driver. However, the firmware loading now covers a wider range of DSP cores and peripherals containing them, beyond just audio. So it needs to be available to non-audio drivers. All the core firmware loading support has been moved into a new driver cs_dsp, leaving only the ASoC-specific parts in wm_adsp. Signed-off-by: NSimon Trimmer <simont@opensource.cirrus.com> Signed-off-by: NCharles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210913160057.103842-17-simont@opensource.cirrus.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 13 9月, 2021 2 次提交
-
-
由 Derek Fang 提交于
This is an initial codec driver for Realtek ALC5682I-VS codec. Signed-off-by: NDerek Fang <derek.fang@realtek.com> Signed-off-by: Derek Fang <derek.fang@realtek.com<mailto:derek.fang@realtek.com>> Link: https://lore.kernel.org/r/20210831130258.19286-1-derek.fang@realtek.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 David Rhodes 提交于
SoC Audio driver for the Cirrus Logic CS35L41 amplifier Signed-off-by: NDavid Rhodes <drhodes@opensource.cirrus.com> Tested-by: NCharles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210907225719.2018115-2-drhodes@opensource.cirrus.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 23 8月, 2021 1 次提交
-
-
由 Angelo Dureghello 提交于
Despite minimal datasheet differences, the driver seems perfectly compatible with CMM-4030D-261. Tested CMM-4030D-261 to work with this changes: / { cmm4030d: cmm4030d { #sound-dai-cells = <0>; compatible = "cui,cmm-4030d-261"; }; sound_mic { compatible = "simple-audio-card"; simple-audio-card,name = "i2s mem mic"; simple-audio-card,format = "i2s"; simple-audio-card,bitclock-master = <&sound_master>; simple-audio-card,frame-master = <&sound_master>; sound_master: simple-audio-card,cpu { sound-dai = <&ssi2>; system-clock-frequency = <2822400>; }; simple-audio-card,codec { sound-dai = <&cmm4030d>; }; }; }; Audio has been captured and tested successfully by: arecord -D "hw:1,0" -f S24_LE > test.wav aplay test.wav Signed-off-by: NAngelo Dureghello <angelo.dureghello@timesys.com> Link: https://lore.kernel.org/r/20210821082658.4147595-1-angelo.dureghello@timesys.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 06 8月, 2021 1 次提交
-
-
由 Srinivas Kandagatla 提交于
WCD938x has Multi Button Headset Control hardware to support Headset insertion, type detection, 8 headset buttons detection, Over Current detection and Impedence measurements. This patch adds support for this using wcd-mbhc apis. Signed-off-by: NSrinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20210716105918.7301-1-srinivas.kandagatla@linaro.orgSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 22 7月, 2021 1 次提交
-
-
由 Arnd Bergmann 提交于
With SND_SOC_ALL_CODECS=y and SND_SOC_WCD938X_SDW=m, there is a link error from a reverse dependency, since the built-in codec driver calls into the modular soundwire back-end: x86_64-linux-ld: sound/soc/codecs/wcd938x.o: in function `wcd938x_codec_free': wcd938x.c:(.text+0x2c0): undefined reference to `wcd938x_sdw_free' x86_64-linux-ld: sound/soc/codecs/wcd938x.o: in function `wcd938x_codec_hw_params': wcd938x.c:(.text+0x2f6): undefined reference to `wcd938x_sdw_hw_params' x86_64-linux-ld: sound/soc/codecs/wcd938x.o: in function `wcd938x_codec_set_sdw_stream': wcd938x.c:(.text+0x332): undefined reference to `wcd938x_sdw_set_sdw_stream' x86_64-linux-ld: sound/soc/codecs/wcd938x.o: in function `wcd938x_tx_swr_ctrl': wcd938x.c:(.text+0x23de): undefined reference to `wcd938x_swr_get_current_bank' x86_64-linux-ld: sound/soc/codecs/wcd938x.o: in function `wcd938x_bind': wcd938x.c:(.text+0x2579): undefined reference to `wcd938x_sdw_device_get' x86_64-linux-ld: wcd938x.c:(.text+0x25a1): undefined reference to `wcd938x_sdw_device_get' x86_64-linux-ld: wcd938x.c:(.text+0x262a): undefined reference to `__devm_regmap_init_sdw' Work around this using two small hacks: An added Kconfig dependency prevents the main driver from being built-in when soundwire support itself is a loadable module to allow calling devm_regmap_init_sdw(), and a Makefile trick links the wcd938x-sdw backend as built-in if needed to solve the dependency between the two modules. Fixes: 04544222 ("ASoC: codecs: wcd938x: add audio routing and Kconfig") Signed-off-by: NArnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20210721150510.1837221-1-arnd@kernel.orgSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 15 7月, 2021 1 次提交
-
-
由 Pierre-Louis Bossart 提交于
To test the host controller and bus management code, it is currently required to have a physical SoundWire peripheral attached to the bus. To help with pre-silicon or early hardware enablement, it would be very useful to have a SoundWire 'mockup' device that is exposed in platform firmware but does not drive any signal on the bus. This is different to the existing ASoC 'dummy' codec uses for I2S/TDM, the SoundWire spec makes it clear that a device that is not attached to the bus is not permitted to interact with the bus, be it for command/control or data. This patch exposes a 'mockup' device, with a minimalist driver, with 4 partID values reserved by Intel for such test configurations. The mockup device exposes one full-duplex DAI based on 2 ports (DP1 for playback and DP8 for capture). The capture data port is just virtual, such a mockup device is prevented by the SoundWire specification from presenting any data generated by a Source port without being Attached. All the callbacks exposed by the SoundWire Slave interface are populated, even if they just return immediately. This is intentional to describe what a minimal codec driver should do and implement and help new codec vendors provide support for their devices. Signed-off-by: NPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: NRander Wang <rander.wang@intel.com> Signed-off-by: NBard Liao <yung-chuan.liao@linux.intel.com> Link: https://lore.kernel.org/r/20210714032209.11284-2-yung-chuan.liao@linux.intel.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 14 7月, 2021 1 次提交
-
-
由 Srinivas Kandagatla 提交于
currenlty wcd938x has only soundwire interface and depends on symbols from wcd938x soundwire module, so make this dependency explicit in Kconfig Without this one of the randconfig endup setting CONFIG_SND_SOC_WCD938X=y CONFIG_SND_SOC_WCD938X_SDW=m resulting in some undefined reference to wcd938x_sdw* symbols. Reported-by: Nkernel test robot <lkp@intel.com> Fixes: 04544222 ("ASoC: codecs: wcd938x: add audio routing and Kconfig") Signed-off-by: NSrinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20210713140417.23693-1-srinivas.kandagatla@linaro.orgSigned-off-by: NMark Brown <broonie@kernel.org>
-