summaryrefslogtreecommitdiff
path: root/sound/soc
AgeCommit message (Collapse)AuthorFilesLines
2013-09-20ASoC: 88pm860x: Use regmap for I/OMark Brown2-114/+63
As part of a move to remove the duplication of regmap functionality in ASoC convert the 88pm860x driver to use the regmap from the MFD. This means that we no longer cache the registers so performance will be slightly reduced on I/O operations. Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-20ASoC: 88pm60x: Don't use control data for i2cMark Brown1-8/+9
In preparation for using the regmap directly in the CODEC driver replace references to the I2C client using control_data with references to the driver private data. Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-19ASoC: mmp-sspa: Use devm_snd_soc_register_componentSachin Kamat1-3/+2
devm_snd_soc_register_component makes code simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-19ASoC: omap-mcpdm: Use devm_snd_soc_register_componentSachin Kamat1-9/+3
devm_snd_soc_register_component makes code simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-19ASoC: mxs-saif: Use devm_snd_soc_register_componentSachin Kamat1-9/+3
devm_snd_soc_register_component makes code simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-19ASoC: fsl_spdif: Use devm_snd_soc_register_componentSachin Kamat1-11/+3
devm_snd_soc_register_component makes code simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-19ASoC: omap-twl4030: Use devm_snd_soc_register_cardSachin Kamat1-3/+2
devm_snd_soc_register_card makes code simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-19ASoC: mfld: Use devm_snd_soc_register_cardSachin Kamat1-9/+1
devm_snd_soc_register_card makes code simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-19ASoC: imx-wm8962: Use devm_snd_soc_register_cardSachin Kamat1-2/+1
devm_snd_soc_register_card makes code simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-19ASoC: imx-spdif: Use devm_snd_soc_register_cardSachin Kamat1-3/+1
devm_snd_soc_register_card makes code simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-19ASoC: imx-sgtl5000: Use devm_snd_soc_register_cardSachin Kamat1-11/+1
devm_snd_soc_register_card makes code simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-19ASoC: SPEAr spdif_out: Remove redundant variableSachin Kamat1-4/+2
Return directly and remove the intermediate local variable. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-19ASoC: rt5640: Omit ACPI match table only if !ACPIThierry Reding1-0/+2
The ACPI_PTR() macro evaluates to NULL if ACPI is disabled and hence the ACPI match table won't be used, causing the compiler to complain. Avoid this by protecting the table using an #ifdef CONFIG_ACPI. Signed-off-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-18ASoC: SPEAr spdif_out: Use devm_snd_soc_register_componentSachin Kamat1-10/+2
devm_snd_soc_register_component makes code simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-18ASoC: SPEAr spdif_in: Use devm_snd_soc_register_componentSachin Kamat1-10/+2
devm_snd_soc_register_component makes code simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-18ASoC: davinci-evm: Move sysclk logic away from evm_hw_paramsJyri Sarha1-20/+44
The sysclk rate does not change runtime so it should be initialized at init time. Signed-off-by: Jyri Sarha <jsarha@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: rsnd: gen: rsnd_gen_ops cares .probe and .removeKuninori Morimoto1-17/+24
Current rsnd_gen_ops didn't care about .probe and .remove functions, but it was not good sense. This patch tidyup it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: fsl_ssi: Remove redundant dev_set_drvdataSachin Kamat1-1/+0
Driver core sets the driver data to NULL on detach. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: fsl_spdif: Remove redundant semicolonSachin Kamat1-2/+2
Redundant semicolon at the end of brace is removed. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17Merge remote-tracking branch 'asoc/topic/component' into asoc-coreMark Brown1-90/+147
Conflicts: include/sound/soc.h
2013-09-17ASoC: add .of_xlate_dai_name on snd_soc_component_driverKuninori Morimoto1-0/+35
ASoC sound driver requires CPU/CODEC drivers for probing, and each CPU/CODEC has some DAI on it. Then, "dai name matching" have been used to identify CPU-CODEC DAI pair on ASoC. But, the "dai port number matching" is now required from DeviceTree. The solution of this issue is to replace the dai port number into dai name. Now, CPU/CODEC are based on struct snd_soc_component, and it can care above as common issue. This patch adds .of_xlate_dai_name callback interface on struct snd_soc_component_driver, and snd_soc_of_get_dai_name() which is using .of_xlate_dai_name. Then, #sound-dai-cells which enables DAI specifier is required on CPU/CODEC device tree properties. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: snd_soc_codec includes snd_soc_componentKuninori Morimoto1-90/+112
Codec includes component by this patch, and component moved to upside of codec to avoid extra declaration. Codec dai will be registered via component by this patch. Current component register function is used for cpu, and it is using dai/dais functions properly to keep existing cpu dai name. And now, it will be used from codec also. But codec driver had been used dais function only even though it was single dai. This patch adds new flag which can selects dai/dais function on component register function to keep existing codec dai name. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: core: Add API for configuration of DAI BCLK ratioLiam Girdwood1-0/+16
Some codec drivers when running in slave mode require that BCLK to sample rate ratio is explicitly set by the machine driver as it may not be exactly rate * frame size. Extend the DAI API by adding :- int snd_soc_dai_set_bclk_ratio(struct snd_soc_dai *dai, unsigned int ratio); Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: ak4642: Remove redundant breakSachin Kamat1-2/+0
'break' after return statement is redundant. Remove it. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: samsung-i2s: Use devm_snd_soc_register_component()Mark Brown1-6/+6
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: smdk_wm8994: Use devm_snd_soc_unregister_card()Mark Brown1-11/+1
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17Merge remote-tracking branch 'asoc/topic/devm' into asoc-samsungMark Brown2-1/+87
2013-09-17ASoC: core: Add devm_snd_soc_register_card()Mark Brown1-0/+34
Simplify error handling and remove repetitive (and rarely executed) code for unregistration by providing a devm_snd_soc_register() card. Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
2013-09-17ASoC: core: Implement devm_snd_soc_register_component()Mark Brown2-1/+53
Since with the wider use of devres many drivers are now only calling snd_soc_unregister_component() in their remove functions providing a managed version will save a reasonable amount of code. Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: twl6040: Remove redundant semicolonSachin Kamat1-2/+2
Redundant semicolon removed. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: blackfin: Add missing break statement to bf6xxValentin Ilie1-0/+1
SNDRV_PCM_FORMAT_S8 isn't supposed to fall through to SNDRV_PCM_FORMAT_S16_LE Signed-off-by: Valentin Ilie <valentin.ilie@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: ak4104: provide a module device tableDaniel Mack1-3/+8
Provide a module device table for the SPI subsystem, so the driver can be autoloaded by the SPI core. While at it, get rid of an unnecessary #define. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: arizona: Improve handling of setting REFCLK to 0Charles Keepax1-9/+14
This patch suppresses calculation of REFCLK parameters when the REFCLK source frequency is set to zero, additionally it will consider a source frequency of zero as the REFCLK being disabled and switch to using the SYNCCLK. Reported-by: Kyung Kwee Ryu <Kyung-Kwee.Ryu@wolfsonmicro.com> Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: bells: Add missing route to power up DSP clockCharles Keepax1-0/+1
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: samsung: Allow mono in i2s driverCharles Keepax1-1/+1
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: wm8400: Use regmap for I/OMark Brown1-22/+4
Since we no longer have a fake register to simulate we can use the framework for I/O. Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: wm8400: Use supplies to manage input powerMark Brown1-55/+18
Rather than using a fake register to manage input power create some supply widgets and use those. Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: rt5640: Add ACPI probing support.Liam Girdwood1-0/+8
Allow the RT5640 to be probed as an ACPI I2C device. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: rt5640: Provide more useful hw_params error reasons.Liam Girdwood1-1/+2
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: rt5640: Staticize hp_amp_power_onSachin Kamat1-1/+1
'hp_amp_power_on' is used only in this file. Make it static. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: mxs: mxs-sgtl5000: Simplify probe functionFabio Estevam1-17/+3
mxs is a device tree only platform, which allows us to simplify a bit mxs_sgtl5000_probe(), because there is no need to check whether device tree is supported or not. Remove mxs_sgtl5000_probe_dt() and place its content inside mxs_sgtl5000_probe() for making the code simpler. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: kirkwood-dma: remove IEC958_SUBFRAME formatsRussell King1-3/+1
The Audio block does not support IEC958 subframes as formatted by ALSA: they're very close, but not close enough. The formats differ by: 3 2 2 2 1 1 1 8 4 0 6 2 8 4 0 PCUVDDDDDDDDDDDDDDDD....AAAATTTT - IEC958 subframe PCUV0000........DDDDDDDDDDDDDDDD - Audio block format Where P = parity, C = channel status, U = user data, V = validity, D = sample data, A = aux, T = preamble. As can be seen, the position of the sample is in a different position, and the audio block does not have the aux or preamble bits. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: fsl_ssi: Staticize local symbolsSachin Kamat1-2/+2
Local symbols used only in this file are made static. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: cq93vc: Don't use control data for core driver dataMark Brown1-1/+1
The platform data is being used to obtain the core driver data for the device (which is a bit of an abuse but not the issue at hand) so reference it directly in order to support refactoring to use regmap. Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: core utils: Dont set DMA params for BE substreamsLiam Girdwood1-1/+5
BE substreams dont require dummy DMA configs so dont set any. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: Remove infrastructure for supporting multiple cache typesLars-Peter Clausen2-164/+58
The only cache type left is the flat cache and new other cache types won't be added since new drivers are supposed to use regmap directly for IO and caching. This patch removes the snd_soc_cache_ops indirection that was added to support multiple cache types and modifies the code to always use the flat cache directly. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: Remove 'reg_size' field from snd_soc_codec structLars-Peter Clausen2-9/+5
The reg_size field is calculated in snd_soc_register_codec() and then used exactly once in snd_soc_flat_cache_init(). Since it is calculated based on other fields from the codec struct just move the calculation to snd_soc_flat_cache_init() and remove the 'reg_size' field from the codec struct. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: Remove reg_def_copyLars-Peter Clausen2-19/+6
reg_def_copy was introduced in commit 3335ddca ("ASoC: soc-cache: Use reg_def_copy instead of reg_cache_default") to keep a copy of the register defaults around in case the register defaults where placed in the __devinitdata section. With the __devinitdata section gone we effectivly keep the same data around twice. This patch removes reg_def_copy and uses reg_cache_default directly instead. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: Remove snd_soc_bulk_write_raw()Lars-Peter Clausen2-33/+0
No users of snd_soc_bulk_write_raw() are left and new drivers are going to use regmap directly for this, so the function can be removed. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: Remove support for reg_access_defaultsLars-Peter Clausen2-72/+0
No users of reg_access_defaults are left and new drivers are going to use regmap for this, so support for it can be removed. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>