summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-03-11ALSA: Add snd_ctl_activate_id()Takashi Iwai2-0/+48
Added a new API function snd_ctl_activate_id() for activate / inactivate the control element dynamically. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-03-10Merge branch 'for-2.6.38' into for-2.6.39Mark Brown1-1/+9
2011-03-09ASoC: Ensure WM8958 gets all WM8994 late revision widgetsMark Brown1-0/+8
Without this fix the driver won't instantiate properly on relevant devices. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com> Cc: stable@kernel.org
2011-03-09ASoC: Fix typo in late revision WM8994 DAC2R nameMark Brown1-1/+1
Without this fix the driver won't instantiate properly on relevant devices. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com> Cc: stable@kernel.org
2011-03-09ASoC: Enable 192kHz sample rate for EP93xx.Alexander Sverdlin2-4/+4
Enable 192kHz sample rate for EP93xx. Signed-off-by: Alexander Sverdlin <subaparts@yandex.ru> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-03-09ASoC: Improve EP93xx I2S clocks management.Alexander Sverdlin1-10/+9
Improve EP93xx I2S clocks management. Some freqs values are set not exact as they requested for MCLK and original code was not able to find divisors for SCLK and LRCLK. This code just picks up nearest value from 3 possible variants. This patch makes 44100 and 192000 rates working and fixes capture function (by selecting SCLK/LRCLK=64 where possible). All other rates should work as before. Signed-off-by: Alexander Sverdlin <subaparts@yandex.ru> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-03-09ASoC: EDB93xx: Manage I2S rates according to datasheet for CS4271 CODEC.Alexander Sverdlin1-8/+8
Manage I2S rates according to datasheet for CS4271 CODEC in EDB93xx machine driver. Signed-off-by: Alexander Sverdlin <subaparts@yandex.ru> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-03-09ASoC: Manage mode and rate bits correctly for CS4271 CODEC.Alexander Sverdlin1-30/+53
Manage mode and rate bits correctly, according to datasheet in CS4271 CODEC. This is done to make capture work properly. Signed-off-by: Alexander Sverdlin <subaparts@yandex.ru> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-03-09Merge branch 'for-2.6.38' into for-2.6.39Mark Brown1-1/+1
Conflicts: sound/soc/codecs/wm8978.c sound/soc/soc-dapm.c
2011-03-09ASoC: Fix double addition of prefixes due to widget prefixingMark Brown1-3/+26
We're not only prefixing all controls, we're also prefixing the widget names in the runtime data. This causes us to add the prefix twice - once when using the widget name to generate the control name and once when adding the control. Really we shouldn't be prefixing the widget names at all, the matching code should be handing this as we always know which DAPM context a widget came from and always display the widget name in terms of a DAPM context. However, we're quite close to the merge window and that's relatively invasive. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Reported-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com>
2011-03-09ASoC: Use the correct DAPM context when cleaning up final widget setMark Brown1-1/+1
Now we've got multi-component we need to make sure that the DAPM context (and hence register I/O context) we use to apply the pending updates at the end of a DAPM sequence is the one we were processing rather than the one that was used to initate the state change. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2011-03-09ASoC: Fix broken bitfield definitions in WM8978Mark Brown1-6/+8
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Cc: stable@kernel.org
2011-03-09ASoC: Simplify WM9081 speaker startup by using widgets for spaker outputMark Brown1-26/+6
Now we have a register write minimisation code in DAPM we don't need to worry about the ordering of the enable and disable of the PGA and the output stage. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2011-03-08ASoC: sgtl5000: use after free in ldo_regulator_register()Dan Carpenter1-1/+3
The "ldo" variable was dereferenced after free on the error path. Signed-off-by: Dan Carpenter <error27@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-03-08ASoC: Fix prefixing of DAPM controls by factoring prefix into snd_soc_cnew()Mark Brown3-17/+47
Currently will ignore prefixes when creating DAPM controls. Since currently all control creation goes through snd_soc_cnew() we can fix this by factoring the prefixing into that function. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2011-03-08ASoC: Warn rather than set a silly constraint when we can't do symmetryMark Brown1-0/+10
Symmetric rate configuration can fail if the second stream starting tries to apply the symmetric constraint before the first stream has got far enough to pick a rate. Rather than try to enforce a nonsensical rate of 0Hz log a warning and allow the application to carry on. Things might go wrong later on but the user will know about it and there's unlikely to be lasting damage. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2011-03-08ASoC: Refactor symmetric_rates check to reduce indentationMark Brown1-14/+14
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2011-03-08ASoC: Convert WM9081 SYSCLK configuration to be device wideMark Brown1-3/+5
Also respace the CODEC ops a bit for legibility. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2011-03-08ASoC: Provide CODEC clocking operations and API callsMark Brown2-0/+57
When multi component systems use DAIless amplifiers which require clocking configuration it is at best hard to use the current clocking API as this requires a DAI even though the device may not even have one. Address this by adding set_sysclk() and set_pll() operations and APIs for CODECs. In order to avoid issues with devices which could be used either with or without DAIs make the DAI variants call through to their CODEC counterparts if there is no DAI specific operation. Converting over entirely would create problems for multi-DAI devices which offer per-DAI clocking setup. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2011-03-08ASoC: Fix section mismatch warnings in WM8994Mark Brown2-2/+2
Annoying as the __devinitdata is actually correct. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2011-03-08ASoC: Use data based init for WM9081 DAPMMark Brown1-6/+5
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2011-03-08ASoC: Add DAPM widget and path data to CODEC driver structureMark Brown2-2/+16
Allow a slight simplification of CODEC drivers by allowing DAPM routes and widgets to be provided in a table. They will be instantiated at the end of CODEC probe. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2011-03-07ASoC: Remove warnings in ep93xx-i2s.cAlexander Sverdlin1-2/+6
Remove warnings in ep93xx-i2s.c Signed-off-by: Alexander Sverdlin <subaparts@yandex.ru> Acked-by: Ryan Mallon <ryan@bluewatersys.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-03-07ASoC: Extend range of supported sample rates for CS4271 CODEC.Alexander Sverdlin1-2/+3
Extend range of supported sample rates for CS4271 CODEC. Signed-off-by: Alexander Sverdlin <subaparts@yandex.ru> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-03-07ASoC: Add LM4857 to SND_SOC_ALL_CODECSMark Brown1-0/+1
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2011-03-07ASoC: Add driver for the dfbmcs320 bluetooth moduleLars-Peter Clausen5-29/+86
This patch adds a codec driver for the dfbmcs320 bluetooth module, which is used on the neo1973 boards. The patch also modifies the neo1937_wm8753 sound board driver to use the new driver instead of registering the bluetooth DAI manually. Previously there was a name mismatch between the bluetooth DAI and the bluetooth DAI link and the sound card was not instantiated, with this patch the issue is no longer present and sound support works again. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-03-07ASoC: Samsung: Merge neo1937_wm8753 and neo1973_gta02_wm8753 sound board driverLars-Peter Clausen4-522/+196
The neo1973(GTA01) and neo1973_gta02(GTA02) have a very similar audio hardware setup. They both use the same codec with the same routing to the gsm modem and bluetooth chip. But they do use different AMPs though and there are some minor differences in the speaker setup. As a result most of the code of those two drivers is identical. So from a maintenance point of view it makes sense to merge them into a single driver. It also reduces the size of kernel images supporting both the GTA01 and GTA02. As a side-effect of this merge the GTA01 for example gains support for routing audio to and from the bluetooth DAI. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-03-07ASoC: neo1973_gta02_wm8753: Use gpio_request_array to request gpiosLars-Peter Clausen1-35/+17
Using gpio_request_array instead of requesting and setting up each gpio by hand makes the code more readable and more compact. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-03-07ASoC: neo1973_gta02_wm8753: Remove lm4853_{set,get}_stateLars-Peter Clausen1-48/+7
This patch drops the lm4853_{set,get}_state functions and the "Amp State Switch" control. Those were noops which existed to maintain alsa state file compatibility. Since the control names have changed due to internal changes in the ASoC core and state file compatibility was broken anyway it makes sense to drop them. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-03-07ASoC: neo1973_wm8753: Move lm4857 specefic code to its own moduleLars-Peter Clausen6-236/+347
This patch moves the code for the lm4857 AMP from the neo1973_wm8753 sound board driver to its own module. The lm4857 is a generic AMP IC and not specific to the neo1973. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-03-07ASoC: neo1973_wm8753: Remove scenario management code.Lars-Peter Clausen1-137/+11
It has been proven to be inflexible to do scenario management in kernel space. Since actual neo1973 board support has not been merged in mainline and this patch has been in the neo1973 tree for some time now it should be safe to remove this functionality without breaking existing userspace. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-03-07ASoC: Add machine driver for Visstrim_M10 board.Javier Martin3-0/+149
Visstrim_M10 boards have an external tlcv320aic3205 codec attached to SSI1. This driver glues together both interfaces. External amplifier is not supported in this first version. Signed-off-by: Javier Martin <javier.martin@vista-silicon.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-03-07ASoC: Constify i2c_device_id tableAxel Lin2-2/+2
Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Alexander Sverdlin <subaparts@yandex.ru> Acked-by: Timur Tabi <timur@freescale.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-03-07ASoC: tlv320dac33: add MODULE_DEVICE_TABLEAxel Lin1-0/+1
The device table is required to load modules based on modaliases. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-03-07ASoC: Add missing debugfs conditionalsMark Brown1-0/+2
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2011-03-07ASoC: Fix outdated API usage in tlv320aic32x4Mark Brown1-5/+5
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2011-03-04ASoC: Add TI tlv320aic32x4 codec support.Javier Martin5-0/+974
This patch adds support for tlv320aic3205 and tlv320aic3254 codecs. It doesn't include miniDSP support for aic3254. Signed-off-by: Javier Martin <javier.martin@vista-silicon.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-03-03ASoC: Add a late_probe() callback to cardsMark Brown2-0/+10
This is run after the DAPM widgets and routes are added, allowing setup of things like jacks using the routes. The main card probe() is run before anything else so can't be used for this purpose. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2011-03-03ASoC: Allow card DAPM widgets and routes to be set up at registrationMark Brown2-0/+15
These will be added after all devices are registered and allow most DAI init functions in machine drivers to be replaced by simple data. Regular controls are not supported as the registration function still works in terms of CODECs. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2011-03-03ASoC: Add a per-card DAPM contextMark Brown2-0/+16
This means that rather than adding the board specific DAPM widgets to a random CODEC DAPM context they can be added to the card itself which is a bit cleaner. Previously there only was one DAPM context and it was tied to the single supported CODEC. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2011-03-03ASoC: Check for a CODEC before dereferencing in DAPMMark Brown1-3/+3
A CODEC pointer is optional (and is checked for in most contexts within DAPM) - add checks to the few places where it was missed. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2011-03-03ASoC: Get the card directly from the DAPM contextMark Brown1-4/+4
Rather than indirecting through the CODEC we can look the card up directly from the card pointer in the DAPM context. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2011-03-03ASoC: Add TLV information for WM8978 DAC limiterMark Brown1-2/+3
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2011-03-03Merge branch 'for-2.6.38' into for-2.6.39Mark Brown1-6/+8
2011-03-03ASoC: Fix broken bitfield definitions in WM8978Mark Brown1-6/+8
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Cc: stable@kernel.org
2011-03-03ASoC: WM8994: Ensure MICBIAS is provided with a clockDimitris Papastamos1-0/+13
The patch 'ASoC: WM8994: Improve Playback Robustness' did not handle this case properly. 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>
2011-03-02ASoC: Add platform data for WM9081 IRQ pin configurationMark Brown2-13/+25
The WM9081 IRQ output can be either active high or active low and can support either CMOS or open drain modes. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2011-03-02ASoC: Remove module probe announcements from CODEC driversMark Brown2-3/+0
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2011-03-02ASoC: Fix burstsize and DSP_B format problems in imx-ssi.Javier Martin1-1/+4
When choosing IMX_DMA flag, burtsizes are set to its default value (0) which leads to driver malfunction. Change them to 4. DSP_B interface needs additional flag to match DSP_B formats as described in several codecs as wm8741 and aic3205. Signed-off-by: Javier Martin <javier.martin@vista-silicon.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-03-02ASoC: WM8994: Ensure MICBIAS is provided with a clockDimitris Papastamos1-0/+13
The patch 'ASoC: WM8994: Improve Playback Robustness' did not handle this case properly. 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>