summaryrefslogtreecommitdiff
path: root/sound
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: Clean up AC'97 glue driverMark Brown2010-09-241-9/+5
| | | | | | | Remove version number and clean up some indentation. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* ASoC: Add debug logging for s3c-ac97 resetsMark Brown2010-09-241-0/+3
| | | | | | | | Helps tracing errors further up the stack. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Jassi Brar <jassi.brar@samsung.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* ASoC: Convert s3c-ac97 to pr_() macrosMark Brown2010-09-241-5/+6
| | | | | | | | | Could use dev_() but we'd have to remember the struct device somewhere and it wouldn't make the logging clearer. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Jassi Brar <jassi.brar@samsung.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* ASoC: Clean up the CODEC device as well as the board for SMDK WM9713Mark Brown2010-09-241-0/+1
| | | | | | | | | Otherwise we try to re-register the CODEC device if the module is reloaded and sysfs becomes miserable. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Jassi Brar <jassi.brar@samsung.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* ASoC: Clarify naming for SMDK WM9713 driverMark Brown2010-09-241-1/+1
| | | | | | | | | | At least some of the systems using this device have multiple audio subsystems so provide some guidance to userspace about which one this is. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Jassi Brar <jassi.brar@samsung.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* ASoC: Remove unneeded WM9713 header include from SMDK WM9713 driverMark Brown2010-09-241-1/+0
| | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Jassi Brar <jassi.brar@samsung.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* ASoC: Fix incorrect parameter to snd_soc_codec_volatile_registerDimitris Papastamos2010-09-231-1/+1
| | | | | | | | | | We need to pass the register index and not the register value. This patch depends on my previous patch "ASoC: Delegate to hw specific read for volatile registers". Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Delegate to hw specific read for volatile registersDimitris Papastamos2010-09-231-26/+50
| | | | | | | | | Ensure that reads on volatile registers will correctly delegate to the bus specific read function. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: adapt multi-componentism againTakashi Iwai2010-09-231-3/+3
| | | | | | | | Go back to the new world order. (Also fixed indentation.) Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'for-2.6.36' of ↵Takashi Iwai2010-09-231-1/+1
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc
| * ASoC: Fix multi-componentismMark Brown2010-09-221-1/+1
| | | | | | | | | | | | Spot the build testing. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Fix soc-cache buffer overflow bugDimitris Papastamos2010-09-221-2/+3
| | | | | | | | | | | | | | | | | | Make sure we stay within the cache boundaries when updating the register cache. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Return -1 instead of -EINVAL to ensure consistencyDimitris Papastamos2010-09-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | The code can't really cope with I/O errors, so it would be better to be consistent throughout all cache functions and return -1 instead of -EINVAL. The return value of snd_soc_read(...) is mostly checked in the probe function and nowhere else. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Report error codes for card DAI instantiation failuresMark Brown2010-09-221-1/+2
| | | | | | | | | | | | | | Also clean up the error print a bit. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | Merge branch 'for-2.6.37' of ↵Mark Brown2010-09-223-217/+287
|\ \ | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc-2.6 into for-2.6.37
| * | ASoC: tlv320aic3x: Let the codec hit SND_SOC_BIAS_OFF when idleJarkko Nikula2010-09-201-18/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now codec hits the SND_SOC_BIAS_OFF also when it is idle. This is also the default state after probing and codec is left unconfigured and unpowered by default. Initialization will happen when the bias state changes and aic3x_set_power does power-up and cache sync. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
| * | ASoC: tlv320aic3x: Use regulator notifiers for optimizing the cache syncJarkko Nikula2010-09-201-2/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no need to reset the codec and perform cache sync if none of the supply regulators were not disabled. Patch registers a notifier callback for each supply and callback then sets a flag to indicate when cache sync is required. HW writes are also needless when codec bias is off so cache_only flag is set independently of actual supply regulators state. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
| * | ASoC: tlv320aic3x: Add runtime regulator control to aic3x_set_bias_levelJarkko Nikula2010-09-201-18/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now all the regulators are disabled when entering into SND_SOC_BIAS_OFF and enabled when coming back to SND_SOC_BIAS_STANDBY state. Currently this runtime control happens only with suspend/resume as this patch does not change the default idle behavior. This patch manages all the regulators and reset since it seems that register sync is needed even if only analog supplies AVDD and DRVDD are disabled. This was noted when the system was running with idle behavior changed and IOVDD and DVDD were on. It is not known are all the registers needed to sync or only some subset of them. Therefore patch plays safe and does always full shutdown/power-up. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
| * | ASoC: tlv320aic3x: Move regulator management from i2c to soc domainJarkko Nikula2010-09-201-50/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It will be easier to keep regulator enable/disable calls in sync when dynamic regulator management is added if regulator management is moved from aic3x_i2c_probe/_remove to aic3x_probe/_remove. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
| * | Merge remote branch 'asoc/for-2.6.37' into for-2.6.37Liam Girdwood2010-09-201-148/+115
| |\ \
| | * | ASoC: tlv320aic3x: Complete the soc-cache conversionJarkko Nikula2010-09-151-16/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Complete the phasing out of aic3x_read_reg_cache, aic3x_write_reg_cache, aic3x_read and aic3x_write calls. This patch uses in aic3x_read the codec->hw_read that points to a function implemented by soc-cache. Only use for aic3x_read is if wanting to read volatile bits from those registers that has both read-only and read/write bits. All other cases should use snd_soc_read. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
| | * | ASoC: tlv320aic3x: Switch to soc-cache helpersJarkko Nikula2010-09-151-37/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Continue phasing out aic3x_read_reg_cache, aic3x_write_reg_cache, aic3x_read and aic3x_write calls. This patch takes the soc-cache in use and removes aic3x_read_reg_cache and aic3x_write. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
| | * | ASoC: tlv320aic3x: Use snd_soc_read and snd_soc_writeJarkko Nikula2010-09-151-96/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Start phasing out aic3x_read_reg_cache, aic3x_write_reg_cache, aic3x_read and aic3x_write calls in order to switch to soc-cache helpers. This patch replaces aic3x_read_reg_cache and aic3x_write with snd_soc_read and snd_soc_write. This is basically null-op since .read and .write in soc_codec_dev_aic3x points to aic3x_read_reg_cache and aic3x_write. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
| * | | ASoC: tlv320aic3x: Add virtual output pin DetectionJarkko Nikula2010-09-201-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Purpose of this virtual Detection pin is to keep codec bias on whenever the GPIO or jack detection features are needed. Jack detection needs a mic bias so machine drivers can construct a following route for instance for keeping the path and codec bias on: "Input Jack" -> "Mic Bias xV" -> "Detection" -> detection block inside codec. For the GPIO the machine driver can force the pin on with snd_soc_dapm_force_enable_pin. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
| * | | Merge remote branch 'broonie-asoc/for-2.6.37' into for-2.6.37Liam Girdwood2010-09-2050-173/+2551
| |\ \ \ | | |/ / | |/| |
| * | | ASoC: WL1273 FM Radio: Eliminate unnecessary error return value.Matti J. Aaltonen2010-09-111-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this change it's not a error to call wl1273_set_audio_route when the codec is active if the new routing value is the same as the current active setting. Signed-off-by: Matti J. Aaltonen <matti.j.aaltonen@nokia.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
| * | | ASoC: tlv320aic3x: Optimize PLL programming in aic3x_set_bias_levelJarkko Nikula2010-09-111-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is only need to enable/disable once the PLL when the bias is going between on, prepare, standby and off states. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
| * | | OMAP: McBSP: Fix static function warningG, Manjunath Kondaiah2010-09-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes sparse warning due non declaration of static function sound/soc/omap/omap-mcbsp.c:783:5: warning: symbol 'omap_mcbsp_st_info_volsw' was not declared. Should it be static? Signed-off-by: G, Manjunath Kondaiah <manjugk@ti.com> Cc: alsa-devel@alsa-project.org Cc: Jarkko Nikula <jhnikula@gmail.com> Cc: Peter Ujfalusi <peter.ujfalusi@nokia.com> Cc: Liam Girdwood <lrg@slimlogic.co.uk> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: Tony Lindgren <tony@atomide.com> Cc: Nishanth Menon <nm@ti.com> Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Acked-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | | | ASoC: Fix soc-cache buffer overflow bugDimitris Papastamos2010-09-211-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure we stay within the cache boundaries when updating the register cache. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: Remove extra rtd->dev.init_name assignment in soc_probe_dai_linkJarkko Nikula2010-09-211-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rtd->dev.init_name is set twice in soc_probe_dai_link. I removed the first assignement from dai_link->stream_name since then there won't be sysfs name changes and usually dai_link->name seems to fit anyway better for a sysfs directory name. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: Fix merge issue with WM8962 control additionMark Brown2010-09-211-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Let's not add the core controls twice. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | | | ASoC: Report error code when failing to add controlsMark Brown2010-09-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Helps with diagnostics. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | | | ASoC: Prototype s3c64xx_i2s_get_clock()Mark Brown2010-09-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So machine drivers can see the declaration. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Jassi Brar <jassi.brar@samsung.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | | | ASoC: fsi: merge fsi_data_push/pop to fsi_fifo_data_ctrlKuninori Morimoto2010-09-201-95/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current FSI driver had data push/pop functions. But the main operation of these 2 were very similar. This mean it is possible to merge these to 1 function. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: fsi: modify variable name to easy to understandKuninori Morimoto2010-09-201-77/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current FSI driver is using data-length / width / number / offset for variables. But it was a very confusing name. This patch rename them to easy to understand, and add new functions for it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: Fix WM8978/migor driver name conflictMark Brown2010-09-202-2/+2
| |/ / |/| | | | | | | | | | | | | | | | | | | | Standardise on 'wm8978' as the name for the CODEC. Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | | ASoC: fsi: Add fsi_dma_soft_push/pop functionKuninori Morimoto2010-09-191-18/+54
| | | | | | | | | | | | | | | Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: fsi: modify noisy comment outKuninori Morimoto2010-09-191-67/+35
| | | | | | | | | | | | | | | Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: fsi: Add fsi_dma_get_areaKuninori Morimoto2010-09-191-4/+7
| | | | | | | | | | | | | | | Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: fix SIU driver breakage, occurred during the multi-component transitionGuennadi Liakhovetski2010-09-193-13/+32
| | | | | | | | | | | | | | | | | | | | | | | | This patch fixes multiple bugs and a typo, occurred during the multi- component transition. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: fix compile breakage of the sh/siu driverGuennadi Liakhovetski2010-09-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | The sh/siu ASoC driver doesn't compile because of a function defined static in the source and extern in a header. Remove the unneeded declaration in the header. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | Merge branch 'for-2.6.36' into for-2.6.37Mark Brown2010-09-191-2/+13
|\ \ \ | | |/ | |/|
| * | ASoC: fix clkdev API usage in sh/migor.cGuennadi Liakhovetski2010-09-191-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The clkdev API doesn't use .name and .id members of struct clk for clock lookup. Instead clocks should be added to a lookup list. Without this patch audio om the Migo-R board fails silently. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: Add device table to SH FSI driverDzianis Kahanovich2010-09-171-0/+2
| | | | | | | | | | | | | | | | | | Signed-off-by: Dzianis Kahanovich <mahatma@eu.by> [Modified to move the location of the table] Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: da7210: code clean upKuninori Morimoto2010-09-161-9/+9
| | | | | | | | | | | | | | | | | | Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: ak4642: code clean upKuninori Morimoto2010-09-161-11/+11
| | | | | | | | | | | | | | | | | | Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: Add platform listing to debugfsMark Brown2010-09-161-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | List registered platforms in debugfs to improve debugability of machine drivers. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | | ASoC: Add DAI list to debugfsMark Brown2010-09-161-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | Allow the user to inspect the list of registered DAIs at runtime to improve diagnostics for machine driver setup. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | | ASoC: Add debugfs listing of registered CODECsMark Brown2010-09-161-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | Help with diagnostics for machine driver setup by listing all the registered CODECs in debugfs. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | | ASoC: WM8985: Initial driverDimitris Papastamos2010-09-154-0/+2246
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The WM8985 is a low power, high quality, feature-rich stereo CODEC designed for portable multimedia applications that require low power consumption and high quality audio. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>