GitHub/moto-9609/android_kernel_motorola_exynos9610.git
13 years agoASoC: Use data based init for ak4671 DAPM
Lu Guanqun [Wed, 30 Mar 2011 13:53:08 +0000 (21:53 +0800)]
ASoC: Use data based init for ak4671 DAPM

Signed-off-by: Lu Guanqun <guanqun.lu@intel.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: soc-cache: Warn on syncing any non-writable registers
Dimitris Papastamos [Mon, 28 Mar 2011 10:39:15 +0000 (11:39 +0100)]
ASoC: soc-cache: Warn on syncing any non-writable registers

When syncing the cache, if the driver has given us a writable_register()
callback, use it to check if we are syncing a non-writable register
and if so warn the user.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: soc-cache: Fix indentation issues
Dimitris Papastamos [Mon, 28 Mar 2011 10:39:14 +0000 (11:39 +0100)]
ASoC: soc-cache: Fix indentation issues

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Blackfin: push down SPORT settings from global variables
Barry Song [Mon, 28 Mar 2011 05:45:10 +0000 (01:45 -0400)]
ASoC: Blackfin: push down SPORT settings from global variables

Now that we have multi-component support, take the time to unify the
SPORT implementations a bit and make the setup dynamic.  This kills
off the global sport_handle which was shared across all the Blackfin
machine drivers.  The pin management aspect is off loaded to platform
resources, and now multiple SPORTs can be instantiated simultaneously.

Signed-off-by: Barry Song <barry.song@analog.com>
Signed-off-by: Scott Jiang <scott.jiang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Blackfin: standardize machine driver names
Mike Frysinger [Mon, 28 Mar 2011 05:45:09 +0000 (01:45 -0400)]
ASoC: Blackfin: standardize machine driver names

Some machine drivers were using "bf5xx-", others were using "bf5xx_",
while others were using "bfin-".  Further, some were using the same
name in the transport layer which makes it hard to use different codecs
at the same time.  So standardize all of them to "bfin-" and make sure
they are name spaced according to their driver name.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Blackfin: drop "-codec" from codec names
Mike Frysinger [Mon, 28 Mar 2011 05:45:08 +0000 (01:45 -0400)]
ASoC: Blackfin: drop "-codec" from codec names

The recent multi-component patch incorrectly added "-codec" suffixes to
parts which are not MFD.  Drop the suffix from the machine drivers too.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Blackfin: add ad193x sysclk configuration
Scott Jiang [Sun, 27 Mar 2011 09:33:04 +0000 (05:33 -0400)]
ASoC: Blackfin: add ad193x sysclk configuration

Signed-off-by: Scott Jiang <scott.jiang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: SSM2602: convert to soc-cache
Cliff Cai [Sun, 27 Mar 2011 21:22:57 +0000 (17:22 -0400)]
ASoC: SSM2602: convert to soc-cache

Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: ad1980: fix codec name
Mike Frysinger [Sun, 27 Mar 2011 04:44:13 +0000 (00:44 -0400)]
ASoC: ad1980: fix codec name

The codec name should not have a "-codec" suffix since this is not part of
a MFD.  This was incorrectly changed during the multi-component updated.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: ad193x: fix codec name
Mike Frysinger [Sun, 27 Mar 2011 04:44:12 +0000 (00:44 -0400)]
ASoC: ad193x: fix codec name

The codec name should not have a "-codec" suffix since this is not part of
a MFD.  This was incorrectly changed during the multi-component updated.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: ad73311: fix codec name
Mike Frysinger [Sun, 27 Mar 2011 04:44:11 +0000 (00:44 -0400)]
ASoC: ad73311: fix codec name

The codec name should not have a "-codec" suffix since this is not part of
a MFD.  This was incorrectly changed during the multi-component updated.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: SSM2602: fix codec name
Mike Frysinger [Sun, 27 Mar 2011 04:44:10 +0000 (00:44 -0400)]
ASoC: SSM2602: fix codec name

The codec name should not have a "-codec" suffix since this is not part of
a MFD.  This was incorrectly changed during the multi-component updated.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: fix sorting order of codecs in kconfig
Mike Frysinger [Sun, 27 Mar 2011 04:43:59 +0000 (00:43 -0400)]
ASoC: fix sorting order of codecs in kconfig

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Remove -codec from WM8731 driver name
Mark Brown [Sun, 27 Mar 2011 13:35:15 +0000 (14:35 +0100)]
ASoC: Remove -codec from WM8731 driver name

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: Convert WM8731 to table based DAPM setup
Mark Brown [Sun, 27 Mar 2011 13:33:03 +0000 (14:33 +0100)]
ASoC: Convert WM8731 to table based DAPM setup

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: Convert WM8903 to table based DAPM setup
Mark Brown [Sun, 27 Mar 2011 12:43:45 +0000 (13:43 +0100)]
ASoC: Convert WM8903 to table based DAPM setup

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoMerge branch 'for-2.6.39' into for-2.6.40
Mark Brown [Tue, 29 Mar 2011 22:14:04 +0000 (07:14 +0900)]
Merge branch 'for-2.6.39' into for-2.6.40

13 years agoASoC: Fix CODEC device name for Corgi
Mark Brown [Sun, 27 Mar 2011 13:40:01 +0000 (14:40 +0100)]
ASoC: Fix CODEC device name for Corgi

Got typoed in the multi-component changes.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Cc: stable@kernel.org
13 years agoASoC: ad73311: drop I2C requirement
Scott Jiang [Sat, 26 Mar 2011 08:38:30 +0000 (04:38 -0400)]
ASoC: ad73311: drop I2C requirement

The AD73311 codec does not use I2C, so don't require it in Kconfig.

Signed-off-by: Scott Jiang <scott.jiang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: ad193x: tweak style to match other codecs
Scott Jiang [Sat, 26 Mar 2011 07:52:20 +0000 (03:52 -0400)]
ASoC: ad193x: tweak style to match other codecs

Rename the snd_soc_control_type field from "bus_type" to "control_type",
and drop the now unused "control_data" field.

Signed-off-by: Scott Jiang <scott.jiang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Blackfin I2S: add 8-bit sample support
Cliff Cai [Sat, 26 Mar 2011 07:05:08 +0000 (03:05 -0400)]
ASoC: Blackfin I2S: add 8-bit sample support

Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Add snd_soc_codec_{readable,writable}_register()
Dimitris Papastamos [Thu, 24 Mar 2011 13:45:18 +0000 (13:45 +0000)]
ASoC: Add snd_soc_codec_{readable,writable}_register()

Provide the top level ASoC core functions for indicating whether
a given register is readable or writable.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Add default snd_soc_default_writable_register() callback
Dimitris Papastamos [Thu, 24 Mar 2011 13:45:17 +0000 (13:45 +0000)]
ASoC: Add default snd_soc_default_writable_register() callback

By using struct snd_soc_reg_access for the read/write/vol attributes
of the registers, we provide callbacks that automatically determine whether
a given register is readable/writable or volatile.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: soc-cache: Return -ENOSYS instead of -EINVAL
Dimitris Papastamos [Tue, 22 Mar 2011 10:48:49 +0000 (10:48 +0000)]
ASoC: soc-cache: Return -ENOSYS instead of -EINVAL

These functions fail with -EINVAL if the corresponding callbacks
are not implemented.  Change them to return -ENOSYS as it is more
appropriate for unimplemented callbacks.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: soc-cache: Factor-out the SPI write code
Dimitris Papastamos [Tue, 22 Mar 2011 10:37:00 +0000 (10:37 +0000)]
ASoC: soc-cache: Factor-out the SPI write code

The handling of all snd_soc_x_y_spi_write() functions is similar.
Create a separate function and update all callers to use it.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: soc-cache: Factor-out the hw_read() specific code
Dimitris Papastamos [Tue, 22 Mar 2011 10:36:59 +0000 (10:36 +0000)]
ASoC: soc-cache: Factor-out the hw_read() specific code

The handling of all snd_soc_x_y_read() functions is similar.
Factor it out into a separate function and update all callers.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: soc-cache: Factor-out the hw_write() specific code
Dimitris Papastamos [Tue, 22 Mar 2011 10:36:58 +0000 (10:36 +0000)]
ASoC: soc-cache: Factor-out the hw_write() specific code

The handling of all snd_soc_x_y_write() functions is similar.
Factor it out into a separate function and update all functions
to use it.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Add control_type in snd_soc_codec
Dimitris Papastamos [Tue, 22 Mar 2011 10:36:57 +0000 (10:36 +0000)]
ASoC: Add control_type in snd_soc_codec

This is mainly used by the soc-cache code to easily determine the
currently used underlying serial bus.  Set SND_SOC_CUSTOM to 1 so we
can distinguish it if it is not initialized or set.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: soc-cache: Introduce raw bulk write support
Dimitris Papastamos [Tue, 22 Mar 2011 10:37:03 +0000 (10:37 +0000)]
ASoC: soc-cache: Introduce raw bulk write support

As it has become more common to have to write firmware or similar
large chunks of data to the hardware, add a function to perform
raw bulk writes that bypass the cache.  This only handles volatile
registers as we should avoid getting out of sync with the actual
cache.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: soc-cache: Factor-out the I2C read code
Dimitris Papastamos [Tue, 22 Mar 2011 10:37:01 +0000 (10:37 +0000)]
ASoC: soc-cache: Factor-out the I2C read code

The handling of all snd_soc_x_y_read_i2c() functions is similar.
Make a generic I2C read function and update all callers to use it.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: imx: remove superfluous code in imx-ssi.c
Wolfram Sang [Fri, 25 Mar 2011 15:51:46 +0000 (16:51 +0100)]
ASoC: imx: remove superfluous code in imx-ssi.c

Checking if IMX_SSI_DMA is set and then set it again is useless.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-2.6.39' into for-2.6.40
Mark Brown [Sat, 26 Mar 2011 17:25:22 +0000 (17:25 +0000)]
Merge branch 'for-2.6.39' into for-2.6.40

13 years agoASoC: imx: fix burstsize for DMA
Wolfram Sang [Fri, 25 Mar 2011 15:51:45 +0000 (16:51 +0100)]
ASoC: imx: fix burstsize for DMA

SSI counts in words, the DMA engine in bytes. (Wrong) factor got removed
in bf974a0 (ASoC i.MX: switch to new DMA api).

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
13 years agoASoC: imx: set watermarks for mx2-dma
Wolfram Sang [Fri, 25 Mar 2011 15:51:44 +0000 (16:51 +0100)]
ASoC: imx: set watermarks for mx2-dma

They got accidently removed by f0fba2a (ASoC: multi-component - ASoC
Multi-Component Support). Reintroduce them and get rid of the
superfluous defines because the fiq-driver has its own hardcoded values.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
13 years agoASoC: Explicitly say registerless widgets have no register
Mark Brown [Wed, 23 Mar 2011 20:45:40 +0000 (20:45 +0000)]
ASoC: Explicitly say registerless widgets have no register

This stops code that handles widgets generically from attempting to access
registers for these widgets.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Cc: stable@kernel.org
13 years agoASoC: Add WM8958 enhanced EQ support
Mark Brown [Thu, 17 Mar 2011 20:23:43 +0000 (20:23 +0000)]
ASoC: Add WM8958 enhanced EQ support

DSP2 in the WM8958 can be used to support an upgraded EQ for use in
demanding applications.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: Add WM8958 VSS support
Mark Brown [Wed, 16 Mar 2011 22:57:47 +0000 (22:57 +0000)]
ASoC: Add WM8958 VSS support

With appropriate firmware the WM8958 can support Virtual Surround Sound or
VSS, widening the stereo audio image for improved user experience. Enable
support for this mode of operation when the appropriate firmware can be
loaded at runtime.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: Refactor WM8958 DSP to support additional algorithms
Mark Brown [Wed, 16 Mar 2011 20:55:37 +0000 (20:55 +0000)]
ASoC: Refactor WM8958 DSP to support additional algorithms

In preparation for the addition of additional WM8958 algorithms
reorganise the code to make it easier to add such support later.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: Support download of WM8958 MBC firmware
Mark Brown [Fri, 11 Mar 2011 18:09:04 +0000 (18:09 +0000)]
ASoC: Support download of WM8958 MBC firmware

Allow userspace to supply an update to the ROM firmware. The firmware
request is non-blocking so userspace can load the firmware at its
leisure without delaying startup, the driver will begin using the
firmware the next time MBC is started after it has been supplied.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: Support !REGULATOR build for sgtl5000
Mark Brown [Tue, 22 Mar 2011 12:02:33 +0000 (12:02 +0000)]
ASoC: Support !REGULATOR build for sgtl5000

The regulator is optional depending on board design.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Mark WM8958 DSP2 registers readable
Mark Brown [Wed, 16 Mar 2011 21:05:06 +0000 (21:05 +0000)]
ASoC: Mark WM8958 DSP2 registers readable

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Handle startup sequencing of WM8958 DSP2 with deferred clocking
Mark Brown [Fri, 11 Mar 2011 18:13:12 +0000 (18:13 +0000)]
ASoC: Handle startup sequencing of WM8958 DSP2 with deferred clocking

The DSP2 startup requires that the clock be enable so if we've deferred
clock startup we need to defer DSP2 startup

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Factor WM8958 DSP2 handling into separate file
Mark Brown [Wed, 9 Mar 2011 19:31:01 +0000 (19:31 +0000)]
ASoC: Factor WM8958 DSP2 handling into separate file

DSP2 on the WM8958 has a default ROM which provides a multi-band
compressor for enhanced performance on mobile devices but can also
support runtime download of alternative firmware. In preparation for
more exploiting this functionality refactor the code to split the
handling of DSP2 into a separate file.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Treat WM8958 revision A as WM8994 revision D
Mark Brown [Fri, 11 Mar 2011 18:00:19 +0000 (18:00 +0000)]
ASoC: Treat WM8958 revision A as WM8994 revision D

The first WM8958 revision requires similar treatment.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Remove bogus check for register validity in debugfs write
Mark Brown [Wed, 16 Mar 2011 18:18:53 +0000 (18:18 +0000)]
ASoC: Remove bogus check for register validity in debugfs write

Since not all registers need to be cached and the cache is entirely
optional anyway we shouldn't be checking that a register is in the
cached range. If the register is invalid then the actual I/O code
can determine that and report an error.

Similarly, the step size can and should be enforced by the lower level
code if it's important.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoMerge branch 'topic/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai...
Mark Brown [Fri, 18 Mar 2011 10:51:13 +0000 (10:51 +0000)]
Merge branch 'topic/asoc' of git://git./linux/kernel/git/tiwai/sound-2.6 into for-2.6.39

13 years agoMerge branch 'for-2.6.39' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc...
Takashi Iwai [Wed, 16 Mar 2011 11:14:46 +0000 (12:14 +0100)]
Merge branch 'for-2.6.39' of git://git./linux/kernel/git/lrg/asoc-2.6 into topic/asoc

13 years agoASoC: mini2440: Fix uda134x codec problem.
Marek Belisko [Wed, 9 Mar 2011 20:46:20 +0000 (21:46 +0100)]
ASoC: mini2440: Fix uda134x codec problem.

ASoC audio for mini2440 platform in current kenrel doesn't work.
First problem is samsung_asoc_dma device is missing in initialization.
Next problem is with codec. Codec is initialized but never probed
because no platform_device exist for codec driver. It leads to errors
during codec binding to asoc dai. Next problem was platform data which
was passed from board to asoc main driver but not passed to codec when
called codec_soc_probe().

Following patch should fix issues. But not sure if in correct way.
Please review.

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
13 years agoASoC: Fix spacing in MAX8950
Mark Brown [Fri, 11 Mar 2011 12:07:31 +0000 (12:07 +0000)]
ASoC: Fix spacing in MAX8950

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: PXA: Z2: Fix codec pin name
Vasily Khoruzhick [Fri, 11 Mar 2011 09:05:38 +0000 (11:05 +0200)]
ASoC: PXA: Z2: Fix codec pin name

MONO was renamed to MONO1.

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
13 years agoASoC: PXA: z2: Mute internal speaker when headphones are connected
Vasily Khoruzhick [Fri, 11 Mar 2011 09:05:37 +0000 (11:05 +0200)]
ASoC: PXA: z2: Mute internal speaker when headphones are connected

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Add MAX9850 codec driver
Christian Glindkamp [Wed, 9 Mar 2011 10:20:04 +0000 (11:20 +0100)]
ASoC: Add MAX9850 codec driver

This patch adds ASoC support for the MAX9850 codec with headphone
amplifier.

Supported features:
- Playback
- 16, 20 and 24 bit audio
- 8k - 48k sample rates
- DAPM

Signed-off-by: Christian Glindkamp <christian.glindkamp@taskit.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoALSA: Add snd_ctl_activate_id()
Takashi Iwai [Fri, 29 Aug 2008 14:09:01 +0000 (16:09 +0200)]
ALSA: Add snd_ctl_activate_id()

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>
13 years agoMerge branch 'for-2.6.38' into for-2.6.39
Mark Brown [Thu, 10 Mar 2011 14:16:35 +0000 (14:16 +0000)]
Merge branch 'for-2.6.38' into for-2.6.39

13 years agoASoC: Ensure WM8958 gets all WM8994 late revision widgets
Mark Brown [Wed, 9 Mar 2011 19:10:15 +0000 (19:10 +0000)]
ASoC: Ensure WM8958 gets all WM8994 late revision widgets

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
13 years agoASoC: Fix typo in late revision WM8994 DAC2R name
Mark Brown [Wed, 9 Mar 2011 19:09:17 +0000 (19:09 +0000)]
ASoC: Fix typo in late revision WM8994 DAC2R name

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
13 years agoASoC: Enable 192kHz sample rate for EP93xx.
Alexander Sverdlin [Mon, 7 Mar 2011 17:30:12 +0000 (20:30 +0300)]
ASoC: Enable 192kHz sample rate for EP93xx.

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>
13 years agoASoC: Improve EP93xx I2S clocks management.
Alexander Sverdlin [Mon, 7 Mar 2011 17:30:36 +0000 (20:30 +0300)]
ASoC: Improve EP93xx I2S clocks management.

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>
13 years agoASoC: EDB93xx: Manage I2S rates according to datasheet for CS4271 CODEC.
Alexander Sverdlin [Mon, 7 Mar 2011 17:29:53 +0000 (20:29 +0300)]
ASoC: EDB93xx: Manage I2S rates according to datasheet for CS4271 CODEC.

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>
13 years agoASoC: Manage mode and rate bits correctly for CS4271 CODEC.
Alexander Sverdlin [Mon, 7 Mar 2011 17:29:45 +0000 (20:29 +0300)]
ASoC: Manage mode and rate bits correctly for CS4271 CODEC.

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>
13 years agoMerge branch 'for-2.6.38' into for-2.6.39
Mark Brown [Wed, 9 Mar 2011 12:37:42 +0000 (12:37 +0000)]
Merge branch 'for-2.6.38' into for-2.6.39

Conflicts:
sound/soc/codecs/wm8978.c
sound/soc/soc-dapm.c

13 years agoASoC: Fix double addition of prefixes due to widget prefixing
Mark Brown [Wed, 9 Mar 2011 11:33:09 +0000 (11:33 +0000)]
ASoC: Fix double addition of prefixes due to widget prefixing

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>
13 years agoASoC: Use the correct DAPM context when cleaning up final widget set
Mark Brown [Tue, 8 Mar 2011 19:29:53 +0000 (19:29 +0000)]
ASoC: Use the correct DAPM context when cleaning up final widget set

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>
13 years agoASoC: Fix broken bitfield definitions in WM8978
Mark Brown [Wed, 2 Mar 2011 11:01:18 +0000 (11:01 +0000)]
ASoC: Fix broken bitfield definitions in WM8978

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Cc: stable@kernel.org
13 years agoASoC: Simplify WM9081 speaker startup by using widgets for spaker output
Mark Brown [Tue, 8 Mar 2011 18:52:08 +0000 (18:52 +0000)]
ASoC: Simplify WM9081 speaker startup by using widgets for spaker output

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>
13 years agoASoC: omap: rx51: Enable McBSP2 sidetone
Jarkko Nikula [Wed, 9 Mar 2011 09:25:00 +0000 (11:25 +0200)]
ASoC: omap: rx51: Enable McBSP2 sidetone

McBSP sidetone is needed in telephony applications. McBSP sidetone is a
configurable FIR filter that forms a loopback from McBSP input to output.
This patch enables the McBSP2 sidetone ALSA controls so that it can be used
on Nokia RX-51/N900.

Sidetone feature can be tested with following commands:

(set up codec input and output paths)
# Enable and configure sidetone
amixer -D hw:0 set 'McBSP2 Sidetone' on
amixer set -D hw:0 'McBSP2 Sidetone Channel 0' 32767
echo 32767 >/sys/devices/platform/omap-mcbsp.2/st_taps
# Do not loop audio via CPU
arecord -f dat >/dev/null |aplay /dev/zero

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>
13 years agoASoC: sgtl5000: use after free in ldo_regulator_register()
Dan Carpenter [Tue, 8 Mar 2011 11:39:24 +0000 (14:39 +0300)]
ASoC: sgtl5000: use after free in ldo_regulator_register()

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>
13 years agoASoC: Fix prefixing of DAPM controls by factoring prefix into snd_soc_cnew()
Mark Brown [Tue, 8 Mar 2011 17:23:24 +0000 (17:23 +0000)]
ASoC: Fix prefixing of DAPM controls by factoring prefix into snd_soc_cnew()

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>
13 years agoASoC: Warn rather than set a silly constraint when we can't do symmetry
Mark Brown [Tue, 8 Mar 2011 00:17:56 +0000 (00:17 +0000)]
ASoC: Warn rather than set a silly constraint when we can't do symmetry

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>
13 years agoASoC: Refactor symmetric_rates check to reduce indentation
Mark Brown [Tue, 8 Mar 2011 00:11:15 +0000 (00:11 +0000)]
ASoC: Refactor symmetric_rates check to reduce indentation

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: Convert WM9081 SYSCLK configuration to be device wide
Mark Brown [Mon, 7 Mar 2011 20:59:45 +0000 (20:59 +0000)]
ASoC: Convert WM9081 SYSCLK configuration to be device wide

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>
13 years agoASoC: Provide CODEC clocking operations and API calls
Mark Brown [Mon, 7 Mar 2011 20:58:11 +0000 (20:58 +0000)]
ASoC: Provide CODEC clocking operations and API calls

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>
13 years agoASoC: Fix section mismatch warnings in WM8994
Mark Brown [Mon, 7 Mar 2011 16:42:20 +0000 (16:42 +0000)]
ASoC: Fix section mismatch warnings in WM8994

Annoying as the __devinitdata is actually correct.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: Use data based init for WM9081 DAPM
Mark Brown [Mon, 7 Mar 2011 16:39:50 +0000 (16:39 +0000)]
ASoC: Use data based init for WM9081 DAPM

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: Add DAPM widget and path data to CODEC driver structure
Mark Brown [Mon, 7 Mar 2011 16:38:44 +0000 (16:38 +0000)]
ASoC: Add DAPM widget and path data to CODEC driver structure

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>
13 years agoASoC: Remove warnings in ep93xx-i2s.c
Alexander Sverdlin [Mon, 7 Mar 2011 17:29:58 +0000 (20:29 +0300)]
ASoC: Remove warnings in ep93xx-i2s.c

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>
13 years agoASoC: Extend range of supported sample rates for CS4271 CODEC.
Alexander Sverdlin [Mon, 7 Mar 2011 17:29:36 +0000 (20:29 +0300)]
ASoC: Extend range of supported sample rates for CS4271 CODEC.

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>
13 years agoASoC: Add LM4857 to SND_SOC_ALL_CODECS
Mark Brown [Mon, 7 Mar 2011 12:23:10 +0000 (12:23 +0000)]
ASoC: Add LM4857 to SND_SOC_ALL_CODECS

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: Add driver for the dfbmcs320 bluetooth module
Lars-Peter Clausen [Mon, 7 Mar 2011 07:04:59 +0000 (08:04 +0100)]
ASoC: Add driver for the dfbmcs320 bluetooth module

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>
13 years agoASoC: Samsung: Merge neo1937_wm8753 and neo1973_gta02_wm8753 sound board driver
Lars-Peter Clausen [Mon, 7 Mar 2011 07:04:58 +0000 (08:04 +0100)]
ASoC: Samsung: Merge neo1937_wm8753 and neo1973_gta02_wm8753 sound board driver

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>
13 years agoASoC: neo1973_gta02_wm8753: Use gpio_request_array to request gpios
Lars-Peter Clausen [Mon, 7 Mar 2011 07:04:57 +0000 (08:04 +0100)]
ASoC: neo1973_gta02_wm8753: Use gpio_request_array to request gpios

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>
13 years agoASoC: neo1973_gta02_wm8753: Remove lm4853_{set,get}_state
Lars-Peter Clausen [Mon, 7 Mar 2011 07:04:56 +0000 (08:04 +0100)]
ASoC: neo1973_gta02_wm8753: Remove lm4853_{set,get}_state

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>
13 years agoASoC: neo1973_wm8753: Move lm4857 specefic code to its own module
Lars-Peter Clausen [Mon, 7 Mar 2011 07:04:55 +0000 (08:04 +0100)]
ASoC: neo1973_wm8753: Move lm4857 specefic code to its own module

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>
13 years agoASoC: neo1973_wm8753: Remove scenario management code.
Lars-Peter Clausen [Mon, 7 Mar 2011 07:04:54 +0000 (08:04 +0100)]
ASoC: neo1973_wm8753: Remove scenario management code.

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>
13 years agoASoC: Add machine driver for Visstrim_M10 board.
Javier Martin [Mon, 7 Mar 2011 07:47:09 +0000 (08:47 +0100)]
ASoC: Add machine driver for Visstrim_M10 board.

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>
13 years agoASoC: Constify i2c_device_id table
Axel Lin [Fri, 4 Mar 2011 07:22:03 +0000 (15:22 +0800)]
ASoC: Constify i2c_device_id table

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>
13 years agoASoC: tlv320dac33: add MODULE_DEVICE_TABLE
Axel Lin [Fri, 4 Mar 2011 07:18:18 +0000 (15:18 +0800)]
ASoC: tlv320dac33: add MODULE_DEVICE_TABLE

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>
13 years agoASoC: Add missing debugfs conditionals
Mark Brown [Mon, 7 Mar 2011 11:09:25 +0000 (11:09 +0000)]
ASoC: Add missing debugfs conditionals

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Fix outdated API usage in tlv320aic32x4
Mark Brown [Mon, 7 Mar 2011 11:07:24 +0000 (11:07 +0000)]
ASoC: Fix outdated API usage in tlv320aic32x4

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Add TI tlv320aic32x4 codec support.
Javier Martin [Wed, 2 Mar 2011 13:52:32 +0000 (14:52 +0100)]
ASoC: Add TI tlv320aic32x4 codec support.

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>
13 years agoASoC: Add a late_probe() callback to cards
Mark Brown [Wed, 2 Mar 2011 18:36:34 +0000 (18:36 +0000)]
ASoC: Add a late_probe() callback to cards

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>
13 years agoASoC: Allow card DAPM widgets and routes to be set up at registration
Mark Brown [Wed, 2 Mar 2011 18:35:51 +0000 (18:35 +0000)]
ASoC: Allow card DAPM widgets and routes to be set up at registration

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>
13 years agoASoC: Add a per-card DAPM context
Mark Brown [Wed, 2 Mar 2011 18:21:57 +0000 (18:21 +0000)]
ASoC: Add a per-card DAPM context

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>
13 years agoASoC: Check for a CODEC before dereferencing in DAPM
Mark Brown [Wed, 2 Mar 2011 18:18:24 +0000 (18:18 +0000)]
ASoC: Check for a CODEC before dereferencing in DAPM

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>
13 years agoASoC: Get the card directly from the DAPM context
Mark Brown [Wed, 2 Mar 2011 18:17:32 +0000 (18:17 +0000)]
ASoC: Get the card directly from the DAPM context

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>
13 years agoASoC: Add TLV information for WM8978 DAC limiter
Mark Brown [Wed, 2 Mar 2011 11:04:10 +0000 (11:04 +0000)]
ASoC: Add TLV information for WM8978 DAC limiter

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoMerge branch 'for-2.6.38' into for-2.6.39
Mark Brown [Thu, 3 Mar 2011 11:13:15 +0000 (11:13 +0000)]
Merge branch 'for-2.6.38' into for-2.6.39

13 years agoASoC: Fix broken bitfield definitions in WM8978
Mark Brown [Wed, 2 Mar 2011 11:01:18 +0000 (11:01 +0000)]
ASoC: Fix broken bitfield definitions in WM8978

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Cc: stable@kernel.org
13 years agoASoC: WM8994: Ensure MICBIAS is provided with a clock
Dimitris Papastamos [Tue, 1 Mar 2011 12:54:39 +0000 (12:54 +0000)]
ASoC: WM8994: Ensure MICBIAS is provided with a clock

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>
13 years agoASoC: Add platform data for WM9081 IRQ pin configuration
Mark Brown [Tue, 1 Mar 2011 20:10:46 +0000 (20:10 +0000)]
ASoC: Add platform data for WM9081 IRQ pin configuration

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>