summaryrefslogtreecommitdiffstats
path: root/sound (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: make ops a pointer in 'struct snd_soc_dai'Eric Miao2009-03-0439-427/+480
| | | | | | | | | | | | | | | | Considering the fact that most cpu_dai or codec_dai are using a same 'snd_soc_dai_ops' for several similar interfaces, 'ops' would be better made a pointer instead, to make sharing easier and code a bit cleaner. The patch below is rather preliminary since the asoc tree is being actively developed, and this touches almost every piece of code, (and possibly many others in development need to be changed as well). Building of all codecs are OK, yet to every SoC, I didn't test that. Signed-off-by: Eric Miao <eric.miao@marvell.com> Acked-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: fix typo and removed unneeded switch case for cs4270Daniel Mack2009-03-021-3/+1
| | | | | | | | | This removes a misspelled comment and got rid of superfluous switch case. Signed-off-by: Daniel Mack <daniel@caiaq.de> Acked-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Add SND_SOC_DAPM_PIN_SWITCH controls for exposing DAPM pinsMark Brown2009-02-281-0/+70
| | | | | | | | | On some systems it is desirable for control for DAPM pins to be provided to user space. This is the case with things like GSM modems which are controlled primarily from user space, for example. Provide a helper which exposes the state of a DAPM pin to user space for use in cases like this. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Add cs4270 support for slave mode configurationsDaniel Mack2009-02-281-1/+23
| | | | | | | | Added support for scenarios where the Cirrus CS4270 audio codec is slave to the bitclk and lrclk. Mixed setups are unsupported. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix copyright statements on Simtec filesBen Dooks2009-02-282-2/+2
| | | | | | | | Fix the copyright statements in two of the S3C24XX ASoC files that have (c) when we require the full word. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8753 - Fix build errorTakashi Iwai2009-02-261-1/+2
| | | | | | | | sound/soc/codecs/wm8753.c: In function 'wm8753_probe': sound/soc/codecs/wm8753.c:1577: error: implicit declaration of function 'wm8753_add_controls' Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ASoC: Only write back non-default registers when resuming WM8753Mark Brown2009-02-251-0/+5
| | | | | | | | This will reduce the number of writes done on resume, allowing that to complete faster (especially on systems with very slow I2C like the current Samsung driver). Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Convert WM8753 to register via normal device probeMark Brown2009-02-253-210/+171
| | | | | | | The base support for the only in-tree user, the GTA01, is out of tree and will be updated separately. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Shuffle WM8753 device registration codeMark Brown2009-02-251-104/+105
| | | | | | | This patch should be pure code motion, separating that out from the functional changes to move to new style device registration. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix Zylonite voice interface stereo configurationsMark Brown2009-02-251-3/+2
| | | | | | We always run in the first timeslot of one. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Improve WM9713 voice DAC shutdown procedureMark Brown2009-02-251-3/+4
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Only unregister drivers we registered for WM8753Mark Brown2009-02-221-3/+7
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Report I/O errors from WM8753 resetMark Brown2009-02-221-1/+5
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Disable WM8731 line bypass by defaultMark Brown2009-02-191-0/+4
| | | | | | | | This avoids temporarily enabling the ouput stages during startup which can cause audible effets in the output stages. Reported-by: Fredrik Redgård <rik@svep.se> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Add device init/exit annotations to new-style Wolfson CODEC driversMark Brown2009-02-184-13/+13
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Check for errors when writing WM8731 reset registerMark Brown2009-02-181-1/+6
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Add digital loopback supportPeter Ujfalusi2009-02-181-6/+50
| | | | | | | | | | | | | | | This patch adds the digital loopback/bypass support for twl4030 codec. The digital loopback will let the digimic0 (routed in the TX1 capture path inside of TWL4030) data to be routed back to the RX2 playback path (I2S stereo). It can also route the analog capture date routed through the TX1 back to RX2. Effectively the digital loopback is routing the audio from the TX1 capture path to the RX2 playback path. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Implement SPI device unregistration for WM8731Mark Brown2009-02-181-1/+6
| | | | | | Completely untested. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix build for corgi and poodleMark Brown2009-02-182-2/+4
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Remove version display from the WM8753 driverMark Brown2009-02-181-4/+0
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Refactor WM8731 device registrationMark Brown2009-02-185-211/+256
| | | | | | | | | | | | | Move the WM8731 driver to use a more standard device registration scheme where the device can be registered independantly of the ASoC probe. As a transition measure push the current manual code for registering the WM8731 into the individual machine driver probes. This allows separate patches to update the relevant architecture files with less risk of merge issues. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Shuffle WM8731 SPI and I2C device registrationMark Brown2009-02-181-103/+112
| | | | | | | This is a pure code motion patch intended to improve reviewability of a following patch moving WM8731 to use more standard device registration. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Rename AT91SAMG20-EK for applicationsMark Brown2009-02-181-1/+1
| | | | | | | This is a bit more idiomatic and makes identifying a configuration based on the board type work better. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Actively manage MCLK for AT91SAM9G20-EKMark Brown2009-02-181-3/+65
| | | | | | | | | | | | | We have software control of the MCLK for the WM8731 so save a bit of power by actively managing it within the machine driver, enabling it only while the codec is active. Once ASoC supports multiple boards and doesn't require the soc-audio device the initial clock setup should be pushed down into the arch/arm code but for now this reduces merge issues. Tested-by: Sedji Gaouaou <sedji.gaouaou@atmel.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Check machine type before loading on AT91SAM9G20-EKMark Brown2009-02-181-0/+4
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Improve diagnostics for AT91SAM9G20-EK probeMark Brown2009-02-181-4/+3
| | | | | | We should display an error by default if we fail to register. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Clean up WM8731 bias level configurationMark Brown2009-02-171-5/+3
| | | | | | | The WM8731 bias level configuration function was written slightly obscurely - streamline the code a little and refresh the comments. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Remove version display from the WM8731 driverMark Brown2009-02-171-4/+0
| | | | | | It makes boot a bit more noisy and I never remember to update it. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix WM8753 DAIs unregisteringPaul Fertser2009-02-171-0/+5
| | | | | | | | | | | WM8753 uses a tricky way to switch DAIs "on the fly", for that it registers 2 dummy DAIs and substitutes them depending on mixer control. List element of registered dummy DAIs should be preserved to allow unregistering of DAIs on module unload. Signed-off-by: Paul Fertser <fercerpav@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix DaVinci module unload errorKevin Hilman2009-02-132-2/+4
| | | | | | | | | | | | | Fix for the error when the audio module is unloaded. On unregistering the platform_device, platform_device_release will free the platform data.If platform data is static the kernel panics when it is freed. Instead use the platform device helper function to add data. This change has been tested on DM644x EVM, DM644x SFFSDR and DM355 EVM. Signed-off-by: Chaithrika U S <chaithrika@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge branch 'for-2.6.30' of ↵Takashi Iwai2009-02-133-60/+44
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc
| * Merge branch 'for-2.6.29' into for-2.6.30Mark Brown2009-02-131-1/+4
| |\
| | * ASoC: Only register AC97 bus if it's not done alreadyMark Brown2009-02-131-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ASoC supports both explicit codec drivers for AC97 devices and a simple driver which uses the standard ALSA AC97 framework for codec support. When used with the generic AC97 codec support that will provide the ad hoc AC97 device for drivers like touchscreens to attach to so the core shouldn't do so. Reported-by: Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: add additional controls to the CS4270 codec driverTimur Tabi2009-02-132-59/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the CS4270 codec driver to allow applications to use the mixer to control Digital Loopback, Soft Ramp, Zero Cross, Popguard, and Auto-Mute. Soft Ramp, Zero Cross, and Auto-Mute are disabled by the driver when it first initializes the hardware, but these features either don't work or interfere with normal ALSA behavior. However, they can now be re-enabled by an application if desired. Remove CONFIG_SND_SOC_CS4270_HWMUTE and always allow ASoC to control the mute bits. The driver previously and erroneously assumed that these bits control only external muting circuitry, but they also control internal muting circuitry, so they should always be used. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: Fix forgotten replacements of socdev->codecTakashi Iwai2009-02-116-6/+6
|/ / | | | | | | | | | | | | The snd_soc_codec was moved into socdev->card, but this change wasn't applied in some places. Fixed now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'for-2.6.29' into for-2.6.30Mark Brown2009-02-101-2/+2
|\|
| * ASoC: Update SDP3430 machine driver for snd_soc_cardLopez Cruz, Misael2009-02-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | This patch replaces "snd_soc_machine" structure by "snd_soc_card" in SP3430 driver. This change is needed in SDP3430 driver to reflect changes introduced by "ASoC: Rename snd_soc_card to snd_soc_machine" patch (875065491fba8eb13219f16c36e79a6fb4e15c68). Signed-off-by: Misael Lopez Cruz <x0052729@ti.com> Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: TLV320AIC3X: Add TLV information for volume controlsJarkko Nikula2009-02-091-41/+73
| | | | | | | | | | | | | | TLV320AIC3X volume controls are logarithmic. Export their dB ranges. Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: TLV320AIC3X: Fix volume rangesJarkko Nikula2009-02-091-19/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a minor fix but helps to define dB ranges for volume controls. Only DAC digital volume has full register value range from 0 to 127 but ADC PGA gain and output stage volume controls don't. For ADC PGA, maximum value is 119 and then it saturates to the same gain value of 59.5 dB. For output stages, value 117 corresponds to -78.3 dB and is muted for values 118 and above. Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: pxa2xx-i2s: remove I2S pin setupPhilipp Zabel2009-02-081-36/+0
| | | | | | | | | | | | | | | | | | | | This removes the calls to pxa_gpio_mode from the pxa2xx-i2s driver. Pin setup should be done during board init via pxa2xx_mfp_config instead. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Acked-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: count reaches 10001, not 10000.Roel Kluin2009-02-081-2/+2
| | | | | | | | | | | | With a postfix increment count reaches 10001, not 10000. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Add initial support of Mitac mioa701 device SoC.Robert Jarzmik2009-02-083-0/+261
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This machine driver enables sound functions on Mitac mio a701 smartphone. Build upon ASoC v1, it handles : - rear speaker - front speaker - microphone - GSM A global "Mio Mode" switch is not yet provided to cope with audio path setup. As balance on audio chip line is no more assured, an incorrect setup can produce a lot of heat and even fry the battery behind the wm9713 and the speaker amplifier. It doesn't cope with : - headset jack - mio master mode - master volume control This driver is backported from ASoc v2, and amputated from scenario setups and master volume control. [Minor mods for terminology in comments -- broonie] Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'for-2.6.29' into for-2.6.30Mark Brown2009-02-062-5/+10
|\|
| * ASoC: WM8990: Fix kcontrol's private value use in put callbackJarkko Nikula2009-02-061-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Function wm899x_outpga_put_volsw_vu misuses the kcontrol's private value by still accessing it as bitfields even SOC_SINGLE_VALUE constructs it as a pointer into struct soc_mixer_control after the commit 4eaa9819dc08d7bfd1065ce530e31b18a119dcaf. This is very similar fix than fix to TLV320AIC3X codec made by Eero Nurkkala <ext-eero.nurkkala@nokia.com>. This fix is compile tested only. Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Cc: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: TLV320AIC3X: Fix kcontrol's private value use in put callbackEero Nurkkala2009-02-061-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Function snd_soc_dapm_put_volsw_aic3x misuses the kcontrol's private value by still accessing it as bitfields even SOC_SINGLE_VALUE constructs it as a pointer into struct soc_mixer_control after the commit 4eaa9819dc08d7bfd1065ce530e31b18a119dcaf. This was causing arbitrary register writes when touching the controls defined with SOC_DAPM_SINGLE_AIC3X. Signed-off-by: Eero Nurkkala <ext-eero.nurkkala@nokia.com> Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: optimize init sequence of Freescale MPC8610 sound driversTimur Tabi2009-02-062-103/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the Freescale MPC8610 sound drivers, relocate all code from the _prepare functions into the corresponding _hw_params functions. These drivers assumed that the sample size is known in the _prepare function and not in the _hw_params function, but this is not true. Move the code in fsl_dma_prepare() into fsl_dma_hw_param(). Create fsl_ssi_hw_params() and move the code from fsl_ssi_prepare() into it. Turn off snooping for DMA operations to/from I/O registers, since that's not necessary. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Blackfin: drop unnecessary dma castsMike Frysinger2009-02-061-61/+43
| | | | | | | | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Blackfin: cleanup sport handling in ASoC Blackfin AC97 codeMike Frysinger2009-02-061-59/+33
| | | | | | | | | | | | | | | | | | | | | | - make sport number handling more dynamic as not all Blackfins have a linear sport map starting at 0 - indexes can be macroed away too Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Cliff Cai <cliff.cai@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: pxa-ssp: fix SSP port requestPhilipp Zabel2009-02-041-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | PXA2xx/3xx SSP ports start from 1, not 0. Thus, the probe function requested the wrong SSP port. Correcting this unveiled another bug where ssp_init tries to request the already-requested SSP port again. So this patch replaces the ssp_init/exit calls with their internals from mach-pxa/ssp.c, leaving out the redundant ssp_request and the unneeded IRQ request. Effectively, that leaves us with not much more than enabling/disabling the SSP clock. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: uda1380: split set_dai_fmt into _both, _playback and _capture variantsPhilipp Zabel2009-02-041-7/+61
| | | | | | | | | | | | | | | | | | | | | | This patch splits set_dai_fmt into three variants (single interface, dual interface playback only, dual interface capture only) so that data input and output formats can be configured separately for dual interface setups. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Tested-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>