summaryrefslogtreecommitdiff
path: root/sound/soc/codecs
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: SigmaDSP: Provide diagnostic error messagesLars-Peter Clausen2011-11-291-3/+10
| | | | | | | | | Provide some error messages when loading the firmware fails, so it is possible to diagnose the reason for the failure. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Move SigmaDSP firmware loader to ASoCLars-Peter Clausen2011-11-295-2/+217
| | | | | | | | | | | | | It has been pointed out previously, that the firmware subsystem is not the right place for the SigmaDSP firmware loader. Furthermore the SigmaDSP is currently only used in audio products and we are aiming for better integration into the ASoC framework in the future, with support for ALSA controls for firmware parameters and support dynamic power management as well. So the natural choice for the SigmaDSP firmware loader is the ASoC subsystem. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: cs42l73: Fix clear wrong bits in cs42l73_set_dai_fmtAxel Lin2011-11-291-1/+2
| | | | | | | | | What we want is to clear BIT[5:4](PCM_MODE_MASK) and BIT[3](PCM_BIT_ORDER) bits, but current code clears BIT[2:0]. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Brian Austin <brian.austin@cirrus.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge branch 'for-3.2' into for-3.3Mark Brown2011-11-281-0/+2
|\
| * ASoC: Supply dcs_codes for newer WM1811 revisionsMark Brown2011-11-281-0/+2
| | | | | | | | | | | | Based on initial data. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'for-3.2' into for-3.3Mark Brown2011-11-281-0/+5
|\ \ | |/
| * ASoC: Error out if we can't generate a LRCLK at all for WM8994Mark Brown2011-11-281-0/+5
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Convert CS42L73 to devm_kzalloc()Brian Austin2011-11-281-4/+2
| | | | | | | | | | Signed-off-by: Brian Austin <brian.austin@cirrus.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: ad193x: Convert to direct regmap API usageLars-Peter Clausen2011-11-281-25/+36
| | | | | | | | | | Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: ad193x: Use snd_soc_update_bits where appropriateLars-Peter Clausen2011-11-282-68/+45
| | | | | | | | | | | | | | | | | | | | We can reduce the code size here a bit by using snd_soc_update_bits instead of open-coding the read-modify-write cycle. The conversion done in this patch is not completely straightforward and some minor code restructuring has been incorporated to further reduce the code size. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: ad193x: Add sysclk DAPM supplyLars-Peter Clausen2011-11-281-2/+4
| | | | | | | | | | | | | | | | Add a DAPM supply widget for the internal sysclk, so it can be disabled automatically when not needed. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: ad193x: Remove non-functional DAPM route controlsLars-Peter Clausen2011-11-281-6/+6
| | | | | | | | | | | | | | | | DAPM route controls only take effect on paths where the sink is a mixer or a mux, furthermore the control must be a control assigned to the mixer or mux. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: ad193x: Make enum items const char * constLars-Peter Clausen2011-11-281-1/+1
| | | | | | | | | | Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: ad193x: Provide dB ranges for the volume controlsLars-Peter Clausen2011-11-281-8/+10
| | | | | | | | | | Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: ad193x: Use table based DAPM and controls setupLars-Peter Clausen2011-11-281-7/+6
| | | | | | | | | | Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Convert WM8903 MICBIAS to a supply widgetMark Brown2011-11-281-2/+2
| | | | | | | | | | | | | | | | Also rename it to MICBIAS to reflect the pin name and help any out of tree users notice the change. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Stephen Warren <swarren@nvidia.com>
* | ASoC: Convert CODEC drivers to module_platform_driverMark Brown2011-11-2826-290/+26
| | | | | | | | | | | | Factors out a bit of boilerplate. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Convert WM8962 to devm_kzalloc()Mark Brown2011-11-271-5/+4
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Convert wm8996 to use devm_kzalloc()Mark Brown2011-11-271-3/+2
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Convert wm9081 driver to use devm_kzalloc()Mark Brown2011-11-271-3/+2
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Convert wm1250-ev1 driver to use devm_kzalloc()Mark Brown2011-11-271-7/+3
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Remove unneeded platform_device.h inclusions from CODECsMark Brown2011-11-2746-46/+0
| | | | | | | | | | | | They've not been needed for a long time if they were ever required. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Remove driver versioning from ak4642Mark Brown2011-11-271-4/+0
| | | | | | | | | | | | | | It's never been updated so it can't be that useful and it makes the driver needlessly chatty. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Use devm_kzalloc() in wm5100Mark Brown2011-11-251-5/+4
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Staticise non-exported symbols in sta32xMark Brown2011-11-251-2/+2
| | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Johannes Stezenbach <js@sig21.net>
* | ASoC: Remove unused variable in wm8776 driverMark Brown2011-11-231-1/+0
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'for-3.2' into for-3.3Mark Brown2011-11-231-1/+1
|\ \ | |/
| * ASoC: cs42l51: Fix off-by-one for reg_cache_sizeAxel Lin2011-11-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Just checking the code in cs42l51_fill_cache(): The cache pointer points to codec->reg_cache + 1. I think it is because CS42L51_FIRSTREG is 0x01, so codec->reg_cache[0] is not used here. Then we read CS42L51_NUMREGS bytes to cache. So we need reg_cache_size to be CS42L51_NUMREGS + 1. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Cleanup duplicated constLars-Peter Clausen2011-11-234-4/+4
| | | | | | | | | | | | | | | | Commit 85e7652("ASoC: Constify snd_soc_dai_ops structs") accidentally introduced a few duplicated consts. This patch cleans it up. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Constify snd_soc_dai_ops structsLars-Peter Clausen2011-11-2380-102/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 1ee46ebd("ASoC: Make the DAI ops constant in the DAI structure") introduced the possibility to have constant DAI ops structures, yet this is barley used in both existing drivers and also new drivers being submitted, although none of them modifies its DAI ops structure. The later is not surprising since existing drivers are often used as templates for new drivers. So this patch just constifies all existing snd_soc_dai_ops structs to eliminate the issue altogether. The patch was generated with the following coccinelle semantic patch: // <smpl> @@ identifier ops; @@ -struct snd_soc_dai_ops ops = +const struct snd_soc_dai_ops ops = { ... }; // </smpl> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Convert wm8776 to table based control and DAPM initMark Brown2011-11-231-6/+7
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Staticise and constify cs42l73_reg_defaultsMark Brown2011-11-231-1/+1
| | | | | | | | | | | | It's not exported and doesn't need to change. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'for-3.2' into for-3.3Mark Brown2011-11-221-9/+1
|\ \ | |/
| * ASoC: cs4720: use snd_soc_cache_sync()Daniel Mack2011-11-221-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace the manual register restore mechanism in cs4270.c and call the generic snd_soc_cache_sync() handler instead. This factors code out in favour of core facilities and also fixes a bus confusion that is most probably caused by intermixing i2c-regmap functions and i2c_smbus_* accessors. Signed-off-by: Daniel Mack <zonque@gmail.com> Reported-and-tested-by: Sven Neumann <s.neumann@raumfeld.com> Acked-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'for-3.2' into for-3.3Mark Brown2011-11-222-6/+6
|\ \ | |/
| * ASoC: max9877: Update register if either val or val2 is changedAxel Lin2011-11-221-5/+5
| | | | | | | | | | | | | | | | | | | | | | In the case of ((max9877_regs[reg] >> shift) & mask) != val but ((max9877_regs[reg2] >> shift) & mask) == val2, current code does not update the registers. Fix the logic to update registers if either val or val2 is changed. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Fix wrong define for AD1836_ADC_WORD_OFFSETAxel Lin2011-11-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to the datasheet: The BIT[5:4] of ADC Control Register 2 is to control the word width. 00 = 25 Bits 01 = 20 Bits 10 = 16 Bits 11 = Invalid Thus, the AD1836_ADC_WORD_OFFSET should be defined as 4. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
* | ASoC: cs42l73: Make inv and format to be unsigned intAxel Lin2011-11-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Fix below smatch warning: sound/soc/codecs/cs42l73.c +1030 cs42l73_set_dai_fmt(53) error: inv is never equal to 1024 (wrong type 0 - 255). sound/soc/codecs/cs42l73.c +1032 cs42l73_set_dai_fmt(55) error: inv is never equal to 768 (wrong type 0 - 255). sound/soc/codecs/cs42l73.c +1036 cs42l73_set_dai_fmt(59) error: inv is never equal to 1024 (wrong type 0 - 255). Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Brian Austin <brian.austin@cirrus.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: cs42l73: Unify the way to define bits of registerAxel Lin2011-11-222-12/+12
| | | | | | | | | | | | | | | | | | | | Current code defines some bits with left shift to the proper bit defined in datasheet, but some don't. Unify the definition with proper left shift and adjust the code accordingly. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Brian Austin <brian.austin@cirrus.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Remove conditional I2C usage from tlv320aic3x driverMark Brown2011-11-221-6/+0
| | | | | | | | | | | | | | The driver only supports I2C so doesn't need to do things conditionally. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Jarkko Nikula <jhnikula@gmail.com>
* | ASoC: Remove WM5100 DSP memory windows from register default dataMark Brown2011-11-211-168/+0
| | | | | | | | | | | | | | | | | | They're all volatile so shouldn't have defaults and as we've got pages into the DSP memory the registers themselves aren't that useful - a further patch adding support for the DSPs will provide direct diagnostic access to the DSP memories. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Convert WM8753 to table based DAPM and control initMark Brown2011-11-211-16/+8
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Remove redundant regcache_sync call in cs42l73_resumeAxel Lin2011-11-211-4/+0
| | | | | | | | | | | | | | | | It's done in cs42l73_set_bias_level when the dapm.bias_level is switching from SND_SOC_BIAS_OFF to SND_SOC_BIAS_STANDBY. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: cs42l73: Show correct revision idAxel Lin2011-11-211-1/+1
| | | | | | | | | | Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: cs42l73: Return proper error code if device id mismatchAxel Lin2011-11-211-0/+1
| | | | | | | | | | | | | | Return -ENODEV instead of 0 if device id mismatch. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'for-3.2' into for-3.3Mark Brown2011-11-211-0/+1
|\ \ | |/
| * ASoC: Ensure WM8731 register cache is synced when resuming from disabledMark Brown2011-11-211-0/+1
| | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
* | ASoC: Use table based init for wm8731_snd_controlsMark Brown2011-11-211-3/+2
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'for-3.2' into for-3.3Mark Brown2011-11-218-13/+15
|\ \ | |/
| * Merge branch 'DB_RANGE-size-fixes' of ↵Mark Brown2011-11-217-10/+10
| |\ | | | | | | | | | git://git.alsa-project.org/alsa-kprivate into for-3.2