summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'asoc/fix/arizona' into asoc-linusMark Brown2013-11-1535-1873/+1744
|\
| * ASoC: arizona: Fix typo in name of EQ coefficient controlsRichard Fitzgerald2013-11-133-12/+12
| | | | | | | | | | Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * ASoC: wm8997: Correct typo in ISRC mux routesCharles Keepax2013-11-121-1/+1
| | | | | | | | | | Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * Merge remote-tracking branch 'asoc/topic/wm8962' into asoc-nextMark Brown2013-10-241-110/+108
| |\
| | * ASoC: wm8962: Move register initialisation to I2C probe()Mark Brown2013-10-181-75/+75
| | | | | | | | | | | | | | | | | | | | | This is more idiomatic and is required for robust operation since we must ensure that the clocking configuration is valid as rapidly as possible. Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: wm8962: Move interrupt initalisation to probe()Mark Brown2013-10-181-35/+33
| | | | | | | | | | | | | | | | | | This is more idiomatic and fixes bugs in the error handling paths. Signed-off-by: Mark Brown <broonie@linaro.org>
| * | Merge remote-tracking branch 'asoc/topic/wm8400' into asoc-nextMark Brown2013-10-241-75/+20
| |\ \
| | * | ASoC: wm8400: Use regmap for I/OMark Brown2013-09-171-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>
| | * | ASoC: wm8400: Use supplies to manage input powerMark Brown2013-09-171-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>
| * | | Merge remote-tracking branch 'asoc/topic/twl6040' into asoc-nextMark Brown2013-10-241-19/+7
| |\ \ \
| | * | | ASoC: twl6040: Use virtual DAPM mixer controlsLars-Peter Clausen2013-10-071-17/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By using the new virtual DAPM mixer controls it is possible to remove the twl6040 specific implementation of virtual controls. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | Merge remote-tracking branch 'asoc/topic/dapm' into asoc-twl6040Mark Brown2013-10-073-3/+11
| | |\ \ \ | | | | |/ | | | |/|
| | * | | ASoC: twl6040: Remove redundant semicolonSachin Kamat2013-09-171-2/+2
| | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | Redundant semicolon removed. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | Merge remote-tracking branch 'asoc/topic/twl4030' into asoc-nextMark Brown2013-10-241-44/+36
| |\ \ \
| | * | | ASoC: twl4030: Use virtual DAPM mixer controlsLars-Peter Clausen2013-10-071-44/+36
| | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | By using the new virtual DAPM mixer controls it is possible to remove the twl4030 specific implementation of virtual controls. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | Merge remote-tracking branch 'asoc/topic/tpa6130a2' into asoc-nextMark Brown2013-10-241-9/+23
| |\ \ \
| | * | | ASoC: tpa6130a2: Add device tree supportSebastian Reichel2013-10-231-9/+23
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add device tree support to tpa6130a2 driver and document the bindings. Signed-off-by: Sebastian Reichel <sre@debian.org> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | Merge remote-tracking branch 'asoc/topic/tlv320aic3x' into asoc-nextMark Brown2013-10-241-121/+113
| |\ \ \
| | * | | ASoC: tlv320aic3x: Include linux/of.h headerSachin Kamat2013-10-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'of_match_ptr' is defined in linux/of.h. Include it explicitly. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: tlv320aic3x: Convert to direct regmap API usageMark Brown2013-09-241-78/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is slightly more complex than a standard regmap conversion due to the moderately detailed cache control and the open coding of a register patch for the class D speaker on the TLV320AIC3007. Although the device supports paging this is not currently implemented as the additional pages are only used during the application of the patch for the TLV320AIC3007. Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: tlv320aic3x: Don't reference cache datastructure directlyMark Brown2013-09-241-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than referencing the cache directly read back the values we are going to restore, supporting refactoring to use regmap. Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: tlv320aic3x: Move to table based DAPM initMark Brown2013-09-241-6/+4
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: tlv320aic3x: Move to table based control initMark Brown2013-09-241-2/+2
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: tlv320aic3x: Move resource acquisition to I2C probeMark Brown2013-09-241-30/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is more idiomatic and interacts better with deferred probing. Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: tlv320aic3x: Remove nonsense comment for register cacheMark Brown2013-09-241-6/+0
| | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | Every statement in this comment is incorrect either through bitrot or (mostly) through never having corresponded to reality in the first place. Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | Merge remote-tracking branch 'asoc/topic/tlv320aic32x4' into asoc-nextMark Brown2013-10-241-71/+30
| |\ \ \
| | * | | ASoC: tlv320aic32x4: Convert to direct regmap API usageMark Brown2013-09-261-66/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This moves us towards being able to remove the duplicate register I/O functionality in ASoC and saves some code. Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: tlv320aic32x4: Move GPIO acquisition to I2C probeMark Brown2013-09-261-5/+7
| | |/ / | | | | | | | | | | | | | | | | | | | | This is more idiomatic and interacts better with deferred probe. Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | Merge remote-tracking branch 'asoc/topic/tlv320aic26' into asoc-nextMark Brown2013-10-242-116/+28
| |\ \ \
| | * | | ASoC: tlv320aic26: Convert to direct regmap API usageMark Brown2013-09-252-72/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This moves us towards being able to remove the duplicated register I/O code in ASoC. The datasheet and the driver document the device as having a register map divided into pages but since the paging is actually done by sending the page address and the register address with each transaction this is no different to having a simple register address. The datasheet does also document the low five bits of the 16 bit "command" as unused which we could represent as padding but it seems simpler and less confusing to things that use block transfers or autoincrement to represent these as part of the register address. Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: tlv320aic26: Use snd_soc_update_bits()Mark Brown2013-09-251-38/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use snd_soc_update_bits() rather than open coding. Since the register cache is currently only used where update_bits() is used this means the current register cache can be removed entirely. Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: tlv320aic26: Convert to table based control initMark Brown2013-09-251-7/+3
| | |/ / | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | Merge remote-tracking branch 'asoc/topic/tlv320aic23' into asoc-nextMark Brown2013-10-241-50/+34
| |\ \ \
| | * | | ASoC: tlv320aic23: Convert to direct regmap API usageMark Brown2013-09-241-23/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This moves us towards being able to remove the duplicated register I/O code in ASoC. Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: tlv320aic23: Convert to table based control initMark Brown2013-09-241-3/+2
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: tlv320aic23: Remove #defines for I2CMark Brown2013-09-241-24/+1
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | The only control interface supported by this driver is I2C so there is no need for conditional compilation around the control interface. Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | Merge remote-tracking branch 'asoc/topic/tas5086' into asoc-nextMark Brown2013-10-241-62/+109
| |\ \ \
| | * | | ASoC: tas5086: Include linux/of.h headerSachin Kamat2013-10-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'of_match_ptr' is defined in linux/of.h. Include it explicitly. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: tas5086: add suspend callbackDaniel Mack2013-10-031-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When going to suspend, shut down all channels and re-do the init procedure at resume time. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: tas5086: move initialization code to own functionsDaniel Mack2013-10-031-56/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We'll need to call code to initialize and reset the codec again at resume time, so factor it out first. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: tas5086: move two variables into private structDaniel Mack2013-10-031-9/+13
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to access the charge_period and start_mid_z values from other places later, so move them to the private struct. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | Merge remote-tracking branch 'asoc/topic/sn95031' into asoc-nextMark Brown2013-10-241-15/+20
| |\ \ \
| | * | | ASoC: sn95031: Convert to regmapMark Brown2013-09-261-15/+20
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | This moves us towards being able to remove the duplicated register I/O functionality in ASoC. Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | Merge remote-tracking branch 'asoc/topic/si476x' into asoc-nextMark Brown2013-10-241-48/+16
| |\ \ \
| | * | | ASoC: si476x: Fix locking of coreMark Brown2013-10-201-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The conversion of the si476x to regmap removed locking of the core during register updates, allowing things like power state changes for the MFD to happen during a register update. Avoid this by taking the core lock in the DAI operations (which are the only things that do register updates) as we used to do in the open coded register I/O functions. Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Andrey Smirnov <andrew.smirnov@gmail.com>
| | * | | ASoC: si476x: Remove custom register I/O implementationMark Brown2013-09-261-45/+1
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current si476x I/O implementation wraps the regmap for the core with functions that make the register map cache only when the device is powered down. This implementation appears to be incomplete since there is no code to synchronise the cache so writes done while the core is powered down will be ignored, the device will only be configured if it is powered. A better and more idiomatic approach would be to have the MFD manage the cache, making the device cache only when it powers things down. This also allows ASoC to use the standard regmap helpers for the device which helps remove the ASoC custom ones so do convert to do that. Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | Merge remote-tracking branch 'asoc/topic/rt5640' into asoc-nextMark Brown2013-10-241-3/+21
| |\ \ \
| | * | | ASoC: rt5640: Don't go to standby on resumeMark Brown2013-10-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no need for the CODEC to go to standby on resume since the core will power it up as needed and in any case it is an idle_bias_off CODEC so would normally sit with bias off while idle. Signed-off-by: Mark Brown <broonie@linaro.org> Tested-by: Stephen Warren <swarren@nvidia.com>
| | * | | ASoC: rt5640: Power down LDO while suspendedMark Brown2013-10-191-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we have control over the LDO then disable it during suspend; the device is already being put into reset so will be non-functional over suspend anyway and this will save a small amount of power. Signed-off-by: Mark Brown <broonie@linaro.org> Tested-by: Stephen Warren <swarren@nvidia.com>
| | * | | ASoC: rt5640: Omit ACPI match table only if !ACPIThierry Reding2013-09-191-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>