summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-07-17ASoC: SOF: amd: Add Probe functionality support for amd platforms.V sujith kumar Reddy
This patch consist of probe client device registration,stream tag and dma channel configuration for SOF firmware. Signed-off-by: V sujith kumar Reddy <Vsujithkumar.Reddy@amd.com> Link: https://lore.kernel.org/r/20230713125709.418851-2-vsujithkumar.reddy@amd.corp-partner.google.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-14ASoC: codecs: ES8326: Add es8326_mute functionZhu Ning
The internal analog power and hp Vref of es8326 should always be on to reduce pop noise. The HP_VOL and HP_CAL are moved to es8326_mute function so they are turned on at last and turned off at first. Also, the calibration should be done manually once during start-up to reduce DC offset on headphone. Signed-off-by: Zhu Ning <zhuning0077@gmail.com> Link: https://lore.kernel.org/r/20230714032453.3334-1-zhuning0077@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-13ASoC: ad: Update Analog Devices drivers to maple treeMark Brown
Merge series from Mark Brown <broonie@kernel.org>: The maple tree register cache has now got to feature parity with the rbtree cache, there are some different tradeoffs made and it should be a better choice for most modern systems. Convert the Analog Devices drivers to use the more modern data structure. Signed-off-by: Mark Brown <broonie@kernel.org> --- Mark Brown (10): ASoC: ad1836: Update to use maple tree register cache ASoC: ad1980: Update to use maple tree register cache ASoC: adau1372: Update to use maple tree register cache ASoC: adau1373: Update to use maple tree register cache ASoC: adau1701: Update to use maple tree register cache ASoC: adau1761: Update to use maple tree register cache ASoC: adau1781: Update to use maple tree register cache ASoC: adau1977: Update to use maple tree register cache ASoC: adau7118: Update to use maple tree register cache ASoC: adav80x: Update to use maple tree register cache sound/soc/codecs/ad1836.c | 2 +- sound/soc/codecs/ad1980.c | 2 +- sound/soc/codecs/adau1372.c | 2 +- sound/soc/codecs/adau1373.c | 2 +- sound/soc/codecs/adau1701.c | 2 +- sound/soc/codecs/adau1761.c | 2 +- sound/soc/codecs/adau1781.c | 2 +- sound/soc/codecs/adau1977.c | 2 +- sound/soc/codecs/adau7118-i2c.c | 2 +- sound/soc/codecs/adav80x.c | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) --- base-commit: 06c2afb862f9da8dc5efa4b6076a0e48c3fbaaa5 change-id: 20230701-asoc-ad-maple-170068cf0c39 Best regards, -- Mark Brown <broonie@kernel.org>
2023-07-13ASoC: q6dsp: q6apm: make g_apm staticMin-Hua Chen
This patch fixes the following sprse warning: sound/soc/qcom/qdsp6/q6apm.c:30:14: sparse: warning: symbol 'g_apm' was not declared. Should it be static? No functional change intended Signed-off-by: Min-Hua Chen <minhuadotchen@gmail.com> Link: https://lore.kernel.org/r/20230713151744.86072-1-minhuadotchen@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-13ASoC: amd: acp: clean up some inconsistent indentingsYang Li
sound/soc/amd/acp/acp-rembrandt.c:283 rmb_pcm_resume() warn: inconsistent indenting Reported-by: Abaci Robot <abaci@linux.alibaba.com> Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=5863 Signed-off-by: Yang Li <yang.lee@linux.alibaba.com> Link: https://lore.kernel.org/r/20230713065106.21564-1-yang.lee@linux.alibaba.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-13ASoC: adav80x: Update to use maple tree register cacheMark Brown
The maple tree register cache is based on a much more modern data structure than the rbtree cache and makes optimisation choices which are probably more appropriate for modern systems than those made by the rbtree cache. In v6.5 it has also acquired the ability to generate multi-register writes in sync operations, bringing performance up to parity with the rbtree cache there. Update the adav80x driver to use the more modern data structure. Reviewed-by: Nuno Sa <nuno.sa@analog.com> Signed-off-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20230713-asoc-ad-maple-v1-10-7d2f35d42b5f@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-13ASoC: adau7118: Update to use maple tree register cacheMark Brown
The maple tree register cache is based on a much more modern data structure than the rbtree cache and makes optimisation choices which are probably more appropriate for modern systems than those made by the rbtree cache. In v6.5 it has also acquired the ability to generate multi-register writes in sync operations, bringing performance up to parity with the rbtree cache there. Update the adau7118 driver to use the more modern data structure. Reviewed-by: Nuno Sa <nuno.sa@analog.com> Signed-off-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20230713-asoc-ad-maple-v1-9-7d2f35d42b5f@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-13ASoC: adau1977: Update to use maple tree register cacheMark Brown
The maple tree register cache is based on a much more modern data structure than the rbtree cache and makes optimisation choices which are probably more appropriate for modern systems than those made by the rbtree cache. In v6.5 it has also acquired the ability to generate multi-register writes in sync operations, bringing performance up to parity with the rbtree cache there. Update the adau1977 driver to use the more modern data structure. Reviewed-by: Nuno Sa <nuno.sa@analog.com> Signed-off-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20230713-asoc-ad-maple-v1-8-7d2f35d42b5f@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-13ASoC: adau1781: Update to use maple tree register cacheMark Brown
The maple tree register cache is based on a much more modern data structure than the rbtree cache and makes optimisation choices which are probably more appropriate for modern systems than those made by the rbtree cache. In v6.5 it has also acquired the ability to generate multi-register writes in sync operations, bringing performance up to parity with the rbtree cache there. Update the adau1781 driver to use the more modern data structure. Reviewed-by: Nuno Sa <nuno.sa@analog.com> Signed-off-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20230713-asoc-ad-maple-v1-7-7d2f35d42b5f@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-13ASoC: adau1761: Update to use maple tree register cacheMark Brown
The maple tree register cache is based on a much more modern data structure than the rbtree cache and makes optimisation choices which are probably more appropriate for modern systems than those made by the rbtree cache. In v6.5 it has also acquired the ability to generate multi-register writes in sync operations, bringing performance up to parity with the rbtree cache there. Update the adau1761 driver to use the more modern data structure. Reviewed-by: Nuno Sa <nuno.sa@analog.com> Signed-off-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20230713-asoc-ad-maple-v1-6-7d2f35d42b5f@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-13ASoC: adau1701: Update to use maple tree register cacheMark Brown
The maple tree register cache is based on a much more modern data structure than the rbtree cache and makes optimisation choices which are probably more appropriate for modern systems than those made by the rbtree cache. In v6.5 it has also acquired the ability to generate multi-register writes in sync operations, bringing performance up to parity with the rbtree cache there. Update the adau1701 driver to use the more modern data structure. Reviewed-by: Nuno Sa <nuno.sa@analog.com> Signed-off-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20230713-asoc-ad-maple-v1-5-7d2f35d42b5f@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-13ASoC: adau1373: Update to use maple tree register cacheMark Brown
The maple tree register cache is based on a much more modern data structure than the rbtree cache and makes optimisation choices which are probably more appropriate for modern systems than those made by the rbtree cache. In v6.5 it has also acquired the ability to generate multi-register writes in sync operations, bringing performance up to parity with the rbtree cache there. Update the adau1373 driver to use the more modern data structure. Reviewed-by: Nuno Sa <nuno.sa@analog.com> Signed-off-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20230713-asoc-ad-maple-v1-4-7d2f35d42b5f@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-13ASoC: adau1372: Update to use maple tree register cacheMark Brown
The maple tree register cache is based on a much more modern data structure than the rbtree cache and makes optimisation choices which are probably more appropriate for modern systems than those made by the rbtree cache. In v6.5 it has also acquired the ability to generate multi-register writes in sync operations, bringing performance up to parity with the rbtree cache there. Update the adau1382 driver to use the more modern data structure. Reviewed-by: Nuno Sa <nuno.sa@analog.com> Signed-off-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20230713-asoc-ad-maple-v1-3-7d2f35d42b5f@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-13ASoC: ad1980: Update to use maple tree register cacheMark Brown
The maple tree register cache is based on a much more modern data structure than the rbtree cache and makes optimisation choices which are probably more appropriate for modern systems than those made by the rbtree cache. In v6.5 it has also acquired the ability to generate multi-register writes in sync operations, bringing performance up to parity with the rbtree cache there. Update the ad1980 driver to use the more modern data structure. Reviewed-by: Nuno Sa <nuno.sa@analog.com> Signed-off-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20230713-asoc-ad-maple-v1-2-7d2f35d42b5f@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-13ASoC: ad1836: Update to use maple tree register cacheMark Brown
The maple tree register cache is based on a much more modern data structure than the rbtree cache and makes optimisation choices which are probably more appropriate for modern systems than those made by the rbtree cache. In v6.5 it has also acquired the ability to generate multi-register writes in sync operations, bringing performance up to parity with the rbtree cache there. Update the ad1836 driver to use the more modern data structure. Reviewed-by: Nuno Sa <nuno.sa@analog.com> Signed-off-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20230713-asoc-ad-maple-v1-1-7d2f35d42b5f@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-12ASoC: Intel: sof_rt5682: add jsl_rt5650 board configBrent Lu
This configuration supports JSL boards which implement ALC5650 dual I2S interface codec. Two DAI links are added: AIF1 (on codec side) for headphone and AIF2 for speakers. Signed-off-by: Brent Lu <brent.lu@intel.com> Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20230712191423.443765-1-brent.lu@intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-12ASoC: Another set of platform remove conversionsMark Brown
Merge series from Uwe Kleine-König <u.kleine-koenig@pengutronix.de>: Two more drivers were added during the current merge window that are users of the original .remove callback that I plan to get rid of. Convert them to .remove_new.
2023-07-12ASoC: rt5677: Refactor GPIO and useMark Brown
Merge series from Andy Shevchenko <andriy.shevchenko@linux.intel.com>: The code can be simplified with refactored GPIO parts and with use of device_get_match_data(). Besides that couple of additional changes, one for maintenance and one for making IRQ domain agnostic (not being pinned to OF).
2023-07-12Refactor acp legacy driver and addMark Brown
Merge series from Syed Saba Kareem <Syed.SabaKareem@amd.com>: This patch series to refactor acp leagacy driver and add pm ops support for rembrandt platforms.
2023-07-12Add acpi mahine id's for vangogh platform andMark Brown
Merge series from Venkata Prasad Potturu <venkataprasad.potturu@amd.com>: This patch series is to add acpi machine id's for vangogh platform and add new dmi entries and machine driver support for nau8821 and max98388 codecs.
2023-07-12ASoC: mt8188: add memory-region supportMark Brown
Merge series from Trevor Wu <trevor.wu@mediatek.com>: This series introduces support for memory-region, allowing afe memif to utilize the region specified in dts.
2023-07-12AMD Vangogh support for NAU8821/MAX98388Mark Brown
Merge series from Cristian Ciocaltea <cristian.ciocaltea@collabora.com>: This patch series extends the Vangogh machine driver to support a variant based on the Nuvoton NAU88L21 Codec and the Analog Devices MAX98388 Speaker Amplifier.
2023-07-12ASoC: Intel: avs: New boards and fixes to existingMark Brown
Merge series from Cezary Rojewski <cezary.rojewski@intel.com>: Series adds support for two boards: es8336 and rt5663. The former is utilized by some KBL-based tablets whereas the latter unlocks Chromebooks with rt5663 i2c codecs. As existing implementation of es8336 (es8316.c) codec driver is not prepared to cope with KBL-based platforms, couple of small, clock-related changes precede anything avs-driver related. The tail of patchset cleans up existing implementation of rt5682.
2023-07-12ASoC: remove copy of intlog10()Mark Brown
Merge series from Andy Shevchenko <andriy.shevchenko@linux.intel.com>: The first three patches moves intlog10() to be available in entire kernel. The last one removes copy of it in one driver. Besides already good Lines of Code (LoC) statistics the upcoming users, if any, can utilize the exported functions. The series can be routed via ASoC tree (as Mauro suggested). Note, int_log.h is separated from math.h due to licensing. I dunno if we can mix two in a single header file. In any case we may do it later on.
2023-07-12Add support for IIO devices in ASoCMark Brown
Merge series from Herve Codina <herve.codina@bootlin.com>: Several weeks ago, I sent a series [1] for adding a potentiometer as an auxiliary device in ASoC. The feedback was that the potentiometer should be directly handled in IIO (as other potentiometers) and something more generic should be present in ASoC in order to have a binding to import some IIO devices into sound cards. The series related to the IIO potentiometer device is already applied. This series introduces audio-iio-aux. Its goal is to offer the binding between IIO and ASoC. It exposes attached IIO devices as ASoC auxiliary devices and allows to control them through mixer controls. On my system, the IIO device is a potentiometer and it is present in an amplifier design present in the audio path.
2023-07-09ASoC: rt5645: add the system level suspend-resume callbackShuming Fan
This patch handles the regmap settings and re-detects the jack when the system level suspend/resume. Signed-off-by: Shuming Fan <shumingf@realtek.com> Link: https://lore.kernel.org/r/20230705042931.24950-1-shumingf@realtek.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-09ASoC: stac9766: fix build errors with REGMAP_AC97Randy Dunlap
Select REGMAP_AC97 to fix these build errors: ERROR: modpost: "regmap_ac97_default_volatile" [sound/soc/codecs/snd-soc-stac9766.ko] undefined! ERROR: modpost: "__regmap_init_ac97" [sound/soc/codecs/snd-soc-stac9766.ko] undefined! Fixes: 6bbf787bb70c ("ASoC: stac9766: Convert to regmap") Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Cc: Lars-Peter Clausen <lars@metafoo.de> Cc: Mark Brown <broonie@kernel.org> Cc: Liam Girdwood <lgirdwood@gmail.com> Cc: alsa-devel@alsa-project.org Link: https://lore.kernel.org/r/20230701044836.18789-1-rdunlap@infradead.org Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-09ASoC: Convert pm8916-wcd-analog-codec to YAMLKonrad Dybcio
Convert the PM8916 analog WCD codec bindings to YAML. Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20230627-topic-more_bindings-v1-5-6b4b6cd081e5@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-09ASoC: dwc: Add TDM mode supportMaxim Kochetkov
Depending on hardware implementaion of DWC I2S controller may support TDM mode if enabled in SoC at design time. Unfortunately there is no way to detect TDM capability for DWC by reading registers. Anyway, if such capability enabled, TDM mode can be enabled and configured by dai-tdm-slot-* DT options. Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru> Link: https://lore.kernel.org/r/20230622200031.120168-1-fido_max@inbox.ru Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-09ASoC: tas2781: No need to set device_driver ownerYang Li
Remove .owner field if calls are used which set it automatically. to silence the warning: ./sound/soc/codecs/tas2781-i2c.c:746:3-8: No need to set .owner here. The core will do it. Reported-by: Abaci Robot <abaci@linux.alibaba.com> Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=5589 Signed-off-by: Yang Li <yang.lee@linux.alibaba.com> Link: https://lore.kernel.org/r/20230625010547.7353-1-yang.lee@linux.alibaba.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-09ASoC: dt-bindings: nau8821: Convert to dtschemaSeven Lee
Convert the NAU8821 audio CODEC bindings to DT schema. Signed-off-by: Seven Lee <wtli@nuvoton.com> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20230628085009.1130318-1-wtli@nuvoton.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-09ASoC: rt722-sdca: Remove redundant sdca maskJack Yu
Remove redundant sdca mask for clear code. Signed-off-by: Jack Yu <jack.yu@realtek.com> Link: https://lore.kernel.org/r/20230621080750.13511-1-jack.yu@realtek.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-09ASoC: soc-core: protect dlc->of_node under mutexKuninori Morimoto
dlc->of_node will be set on snd_soc_get_dlc(), but we want 1) protect it by mutex, 2) set only when successed. This patch do it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/878rc1kerv.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-09ASoC: imx-pcm-rpmsg: Set PCM hardware parameters separatelyChancel Liu
Different PCM devices may have different PCM hardware parameters. It requires PCM hardware parameters set separately if there is more than one rpmsg sound card. Signed-off-by: Chancel Liu <chancel.liu@nxp.com> Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20230625065412.651870-1-chancel.liu@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-09ASoC: rt5645: implement set_jack callbackShuming Fan
Add a wrapper function to support set_jack component driver callback. Signed-off-by: Shuming Fan <shumingf@realtek.com> Link: https://lore.kernel.org/r/20230705042349.24905-1-shumingf@realtek.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-09ASoC: soc-core.c: cleanup soc_dai_link_sanity_check()Kuninori Morimoto
Required CPU/Codec/Platform dlc (snd_soc_dai_link_component) are similar but not same, and very complex. Current implementation is very confusable and it will be more complex if multi Component was supported. This patch cleanup it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87o7l9blsn.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-09ASoC: soc-core.c: initialize dlc on snd_soc_get_dai_id()Kuninori Morimoto
Current snd_soc_get_dai_id() is initializing dlc *manually*, but it will might be a problem if dlc had new extra parameter. This patch uses default initialization, otherwise, non initialized part will be strange value. This is prepare for multi Component support. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87pm5pblst.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-09ASoC: SOF: amd: refactor PSP smn_readMastan Katragadda
Use the read_poll_timeout marco for PSP smn_read calls. Signed-off-by: Mastan Katragadda <Mastan.Katragadda@amd.com> Link: https://lore.kernel.org/r/20230630070544.2167421-2-Mastan.Katragadda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-09ASoC: simple-card: Handle additional devicesHerve Codina
An additional-devs subnode can be present in the simple-card top node. This subnode is used to declared some "virtual" additional devices. Create related devices from this subnode and avoid this subnode presence to interfere with the already supported subnodes analysis. Signed-off-by: Herve Codina <herve.codina@bootlin.com> Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> Link: https://lore.kernel.org/r/20230623085830.749991-14-herve.codina@bootlin.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-09ASoC: codecs: Add support for the generic IIO auxiliary devicesHerve Codina
Industrial I/O devices can be present in the audio path. These devices needs to be used as audio components in order to be fully integrated in the audio path. This support allows to consider these Industrial I/O devices as auxiliary audio devices and allows one to control them using mixer controls. Signed-off-by: Herve Codina <herve.codina@bootlin.com> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> Link: https://lore.kernel.org/r/20230623085830.749991-13-herve.codina@bootlin.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-09ASoC: soc-dapm.h: Convert macros to return a compound literalHerve Codina
The SND_SOC_DAPM_* helpers family are used to build widgets array in a static way. Convert them to return a compound literal in order to use them in both static and dynamic way. With this conversion, the different SND_SOC_DAPM_* parameters can be computed by the code and the widget can be built based on this parameter computation. static int create_widget(char *input_name) { struct snd_soc_dapm_widget widget; char name*; ... name = input_name; if (!name) name = "default"; widget = SND_SOC_DAPM_INPUT(name); ... } Signed-off-by: Herve Codina <herve.codina@bootlin.com> Suggested-by: Andy Shevchenko <andy.shevchenko@gmail.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> Link: https://lore.kernel.org/r/20230623085830.749991-12-herve.codina@bootlin.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-09iio: inkern: Add a helper to query an available minimum raw valueHerve Codina
A helper, iio_read_max_channel_raw() exists to read the available maximum raw value of a channel but nothing similar exists to read the available minimum raw value. This new helper, iio_read_min_channel_raw(), fills the hole and can be used for reading the available minimum raw value of a channel. It is fully based on the existing iio_read_max_channel_raw(). Signed-off-by: Herve Codina <herve.codina@bootlin.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> Link: https://lore.kernel.org/r/20230623085830.749991-11-herve.codina@bootlin.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-09iio: inkern: Replace a FIXME comment by a TODO oneHerve Codina
This FIXME comment is more a TODO one. It is a note when someone will need for this currently unsupported case. Change from FIXME to TODO. Signed-off-by: Herve Codina <herve.codina@bootlin.com> Suggested-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> Link: https://lore.kernel.org/r/20230623085830.749991-10-herve.codina@bootlin.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-09iio: inkern: Use max_array() to get the maximum value from an arrayHerve Codina
Use max_array() to get the maximum value from an array instead of a custom local loop. Signed-off-by: Herve Codina <herve.codina@bootlin.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> Link: https://lore.kernel.org/r/20230623085830.749991-9-herve.codina@bootlin.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-09minmax: Introduce {min,max}_array()Herve Codina
Introduce min_array() (resp max_array()) in order to get the minimal (resp maximum) of values present in an array. Signed-off-by: Herve Codina <herve.codina@bootlin.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> Link: https://lore.kernel.org/r/20230623085830.749991-8-herve.codina@bootlin.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-09iio: inkern: Fix headers inclusion orderHerve Codina
Fix the mutex.h inclusion order as it seems to be the only one misplaces. Signed-off-by: Herve Codina <herve.codina@bootlin.com> Suggested-by: Andy Shevchenko <andy.shevchenko@gmail.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> Link: https://lore.kernel.org/r/20230623085830.749991-7-herve.codina@bootlin.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-09iio: inkern: Remove the 'unused' variable usage in iio_channel_read_max()Herve Codina
The code uses a local variable to initialize a null pointer in order to avoid accessing this null pointer later on. Simply removed the 'unused' variable and check for the null pointer just before accessing it. Signed-off-by: Herve Codina <herve.codina@bootlin.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> Link: https://lore.kernel.org/r/20230623085830.749991-6-herve.codina@bootlin.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-09iio: consumer.h: Fix raw values documentation notesHerve Codina
The raw values notes mention 'ADC counts' and are not fully accurate. Reword the notes in order to remove the 'ADC counts' and describe the conversion needed between a raw value and a value in the standard units. Signed-off-by: Herve Codina <herve.codina@bootlin.com> Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> Link: https://lore.kernel.org/r/20230623085830.749991-5-herve.codina@bootlin.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-09iio: inkern: Check error explicitly in iio_channel_read_max()Herve Codina
The current implementation returns the error code as part of the default switch case. This can lead to returning an incorrect positive value in case of iio_avail_type enum entries evolution. In order to avoid this case, be more strict in error checking. Signed-off-by: Herve Codina <herve.codina@bootlin.com> Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> Link: https://lore.kernel.org/r/20230623085830.749991-4-herve.codina@bootlin.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-07-09ASoC: dt-bindings: simple-card: Add additional-devs subnodeHerve Codina
The additional-devs subnode allows to declared some virtual devices as sound card children. These virtual devices can then be used by the sound card and so be present in the audio path. The first virtual device supported is the audio IIO auxiliary device in order to support an IIO device as an audio auxiliary device. Signed-off-by: Herve Codina <herve.codina@bootlin.com> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Christophe Leroy <christophe.leroy@©sgroup.eu> Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> Link: https://lore.kernel.org/r/20230623085830.749991-3-herve.codina@bootlin.com Signed-off-by: Mark Brown <broonie@kernel.org>