openwrt/staging/blogic.git
12 years agoOMAP4: omap4panda: Enable audio support
Peter Ujfalusi [Thu, 8 Dec 2011 09:15:45 +0000 (11:15 +0200)]
OMAP4: omap4panda: Enable audio support

PandaBoard has twl6040 codec for audio.
Register the omap4-abe-twl6040 platform device.
Add platform data to enable the twl6040 codec.
Since there is a difference in audio between  PandaBoard 4430
and PandaBoard ES (4460):
Use different name for the sound card:
"PandaBoard" for PandaBoard 4430
"PandaBoardES" for PandaBoard ES

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
CC: Santosh Shilimkar <santosh.shilimkar@ti.com>
CC: David Anders <x0132446@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
12 years agoASoC: omap-abe-twl6040: Use provided MCLK frequency from pdata
Peter Ujfalusi [Tue, 24 Jan 2012 10:36:10 +0000 (12:36 +0200)]
ASoC: omap-abe-twl6040: Use provided MCLK frequency from pdata

Avoid using hardwired configuration for MCLK frequency.
Different board design might use other MCLK frequency.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: omap-abe-twl6040: Configure card according to platform data
Peter Ujfalusi [Thu, 22 Dec 2011 11:58:01 +0000 (13:58 +0200)]
ASoC: omap-abe-twl6040: Configure card according to platform data

Disable the not connected pins on the board based on the
received platform data.
DO not register the jack function on boards, which does not have
means to detect it (jack is always connected).

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: omap-abe-twl6040: DAI link selection based on platform data
Peter Ujfalusi [Thu, 22 Dec 2011 11:10:02 +0000 (13:10 +0200)]
ASoC: omap-abe-twl6040: DAI link selection based on platform data

We can have machines without DMIC connected. In this case there is
no need to create amother (unusable) capture PCM on the card.
The existence of the DMIC connection can be checked via
pdata->has_dmic.
Select the correct dai_link structure for the card based on
pdata->has_dmic.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: omap-abe-twl6040: Add complete DAPM routing
Peter Ujfalusi [Thu, 22 Dec 2011 10:55:49 +0000 (12:55 +0200)]
ASoC: omap-abe-twl6040: Add complete DAPM routing

SDP4430 is a reference platform, and as such it has all possible
audio routing implemented.
Correct the DAPM routing to be complete.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: twl6040: Convert MICBIAS to SUPPLY widget
Peter Ujfalusi [Thu, 22 Dec 2011 10:47:21 +0000 (12:47 +0200)]
ASoC: twl6040: Convert MICBIAS to SUPPLY widget

In order to avoid breakage change the omap-abe-twl6040
machine driver's routing.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: omap-abe-twl6040: Convert to platform deriver
Peter Ujfalusi [Thu, 8 Dec 2011 09:07:42 +0000 (11:07 +0200)]
ASoC: omap-abe-twl6040: Convert to platform deriver

Convert the OMAP4 ABE/TWL6040 machine driver to platform
driver.
For the card name use the string provided via platform data.
The card's name for OMAP4 SDP4430 has been changed:
SDP4430 -> OMAP4-SDP4430

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoOMAP4: 4430sdp: Register platform device for OMAP4 audio
Peter Ujfalusi [Wed, 7 Dec 2011 13:59:35 +0000 (15:59 +0200)]
OMAP4: 4430sdp: Register platform device for OMAP4 audio

To avoid breakage in audio support with the coming change
in ASoC machine driver (conversion to platfrom device).

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
CC: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
12 years agoinclude: platform_data: Platform data header for OMAP4 ASoC audio
Peter Ujfalusi [Wed, 7 Dec 2011 13:57:10 +0000 (15:57 +0200)]
include: platform_data: Platform data header for OMAP4 ASoC audio

Include file to be used with the upcoming ASoC machine driver
for OMAP platform using ABE with twl6040 codec.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: omap-abe-twl6040: Correct internal prefix, Kconfig entry
Peter Ujfalusi [Wed, 7 Dec 2011 13:54:50 +0000 (15:54 +0200)]
ASoC: omap-abe-twl6040: Correct internal prefix, Kconfig entry

Change the internal prefixes within the driver from sdp4430.
At he same time correct the Kconfig text as well.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: OMAP4: Rename the sdp4430 machine driver
Peter Ujfalusi [Wed, 7 Dec 2011 13:38:38 +0000 (15:38 +0200)]
ASoC: OMAP4: Rename the sdp4430 machine driver

The same machine driver will support other boards
with similar audio configuration (OMAP4, ABE, twl6040).
Rename the driver to have more generic name.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: sdp4430: Correct author e-mail address
Peter Ujfalusi [Wed, 7 Dec 2011 13:31:26 +0000 (15:31 +0200)]
ASoC: sdp4430: Correct author e-mail address

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: wm5100: Fix warnings from recent patches
Mark Brown [Tue, 24 Jan 2012 19:51:34 +0000 (19:51 +0000)]
ASoC: wm5100: Fix warnings from recent patches

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert the WM5100 revision A updates to a regmap patch
Mark Brown [Sat, 21 Jan 2012 12:14:53 +0000 (12:14 +0000)]
ASoC: Convert the WM5100 revision A updates to a regmap patch

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoMerge tag 'regmap-patch-initial' of git://git.kernel.org/pub/scm/linux/kernel/git...
Mark Brown [Tue, 24 Jan 2012 19:48:04 +0000 (19:48 +0000)]
Merge tag 'regmap-patch-initial' of git://git./linux/kernel/git/broonie/regmap into for-3.4

regmap: Inital export of the patching implementation

An initial export of the regmap register patch implementation, mostly
for integration into ASoC so it can be used by drivers there which have
conflicting updates already.

12 years agoASoC: wm5100: Fix mismerge of IRQ frees
Mark Brown [Tue, 24 Jan 2012 12:11:20 +0000 (12:11 +0000)]
ASoC: wm5100: Fix mismerge of IRQ frees

We only want them at the device level, not at the CODEC level.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert WM8731 to direct regmap API usage
Mark Brown [Mon, 21 Nov 2011 12:10:03 +0000 (12:10 +0000)]
ASoC: Convert WM8731 to direct regmap API usage

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoregmap: Support register patch sets
Mark Brown [Sat, 21 Jan 2012 12:01:14 +0000 (12:01 +0000)]
regmap: Support register patch sets

Device manufacturers frequently provide register sequences, usually not
fully documented, to be run at startup in order to provide better defaults
for devices (for example, improving performance in the light of silicon
evaluation). Support such updates by allowing drivers to register update
sets with the core. These updates will be written to the device immediately
and will also be rewritten when the cache is synced.

The assumption is that the reason for resyncing the cache will always be
that the device has been powered off. If this turns out to not be the case
then a separate operation can be provided.

Currently the implementation only allows a single set of updates to be
specified for a device, this could be extended in future.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Add __devinit/__devexit annotations at necessary places
Axel Lin [Mon, 23 Jan 2012 03:18:17 +0000 (11:18 +0800)]
ASoC: Add __devinit/__devexit annotations at necessary places

Fix below build warning when CONFIG_HOTPLUG is not set.

  CC      sound/soc/codecs/alc5623.o
sound/soc/codecs/alc5623.c:1062: warning: ‘alc5623_i2c_remove’ defined but not used
  CC      sound/soc/codecs/alc5632.o
sound/soc/codecs/alc5632.c:1112: warning: ‘alc5632_i2c_remove’ defined but not used

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Leon Romanovsky <leon@leon.nu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: sgtl5000: It's sgtl5000 not sgtl500
Mark Brown [Mon, 23 Jan 2012 10:16:31 +0000 (10:16 +0000)]
ASoC: sgtl5000: It's sgtl5000 not sgtl500

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: sgtl5000: Convert to table based DAPM and control init
Fabio Estevam [Sun, 22 Jan 2012 16:49:42 +0000 (14:49 -0200)]
ASoC: sgtl5000: Convert to table based DAPM and control init

Convert to table based DAPM and control init.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: wm8988: Convert to devm_kzalloc()
Mark Brown [Sat, 21 Jan 2012 23:25:16 +0000 (23:25 +0000)]
ASoC: wm8988: Convert to devm_kzalloc()

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: wm8988: Convert to table based DAPM and control init
Mark Brown [Sat, 21 Jan 2012 23:24:25 +0000 (23:24 +0000)]
ASoC: wm8988: Convert to table based DAPM and control init

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: wm8985: Convert to direct regmap API usage
Mark Brown [Sat, 21 Jan 2012 15:41:48 +0000 (15:41 +0000)]
ASoC: wm8985: Convert to direct regmap API usage

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: wm8985 Don't directly reference the cache data structure
Mark Brown [Sat, 21 Jan 2012 15:39:34 +0000 (15:39 +0000)]
ASoC: wm8985 Don't directly reference the cache data structure

In preparation for conversion to regmap.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: wm8985: Use standard cache sync implementation
Mark Brown [Sat, 21 Jan 2012 15:36:30 +0000 (15:36 +0000)]
ASoC: wm8985: Use standard cache sync implementation

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: wm8985: Convert to table based DAPM and control init
Mark Brown [Sat, 21 Jan 2012 15:36:08 +0000 (15:36 +0000)]
ASoC: wm8985: Convert to table based DAPM and control init

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: wm8985: Convert to devm_kzalloc()
Mark Brown [Sat, 21 Jan 2012 15:23:26 +0000 (15:23 +0000)]
ASoC: wm8985: Convert to devm_kzalloc()

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Add external amplifier controls for Visstrim_M10.
Javier Martin [Fri, 20 Jan 2012 09:16:57 +0000 (10:16 +0100)]
ASoC: Add external amplifier controls for Visstrim_M10.

Visstrim_M10 has an external class D amplifier.
This patch provides support for controlling the 4
possible gain levels and per channel muting.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Fix build of tlv320dac33
Mark Brown [Fri, 20 Jan 2012 17:52:39 +0000 (17:52 +0000)]
ASoC: Fix build of tlv320dac33

The problem was introduced due to the obscure formatting some of the
older drivers use.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Use regmap update bits operation for drivers using regmap
Mark Brown [Sat, 3 Dec 2011 12:33:55 +0000 (12:33 +0000)]
ASoC: Use regmap update bits operation for drivers using regmap

If a driver is using regmap directly ensure that we're coherent with
non-ASoC register updates by using the regmap API directly to do our
read/modify/write cycles. This will bypass the ASoC cache but drivers
using regmap directly should not be using the ASoC cache.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Don't tell applications about msbits unless we're ignoring input
Mark Brown [Thu, 19 Jan 2012 18:04:18 +0000 (18:04 +0000)]
ASoC: Don't tell applications about msbits unless we're ignoring input

On the off chance that an application both pays attention and gets
confused.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Push WM5100 interrupt request into I2C probe
Mark Brown [Wed, 18 Jan 2012 15:05:46 +0000 (15:05 +0000)]
ASoC: Push WM5100 interrupt request into I2C probe

This is more what the device model wants us to do and will allow use by
non-audio functions before the audio part of the device has come up.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Make WM5100 interrupt path use regmap directly
Mark Brown [Wed, 18 Jan 2012 14:53:08 +0000 (14:53 +0000)]
ASoC: Make WM5100 interrupt path use regmap directly

This will allow us to move the interrupt allocation out of the ASoC part
of the driver and simplifies the locking by removing any reliance in the
bulk of the interrupt path on the big CODEC lock.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Remove redundant set_bias_level() from WM5100 remove()
Mark Brown [Wed, 18 Jan 2012 13:47:02 +0000 (13:47 +0000)]
ASoC: Remove redundant set_bias_level() from WM5100 remove()

The framework should bring the device down before it calls the driver.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: omap-mcpdm: Set 24msbits constraint
Peter Ujfalusi [Wed, 18 Jan 2012 11:18:24 +0000 (12:18 +0100)]
ASoC: omap-mcpdm: Set 24msbits constraint

McPDM internal FIFO is 24 bit wide. From the 32 bit sample
8 bit is discarded. Let application know about this
via msbits constraint.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: omap-dmic: Use core to set the msbits constraint
Peter Ujfalusi [Wed, 18 Jan 2012 11:18:23 +0000 (12:18 +0100)]
ASoC: omap-dmic: Use core to set the msbits constraint

Core can set the msbits constraint in behalf of the dai.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: twl4030: Use core to set the msbits constraint
Peter Ujfalusi [Wed, 18 Jan 2012 11:18:26 +0000 (12:18 +0100)]
ASoC: twl4030: Use core to set the msbits constraint

Core can set the msbits constraint in behalf of the dai.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: tlv320dac33: Use core to set the msbits constraint
Peter Ujfalusi [Wed, 18 Jan 2012 11:18:25 +0000 (12:18 +0100)]
ASoC: tlv320dac33: Use core to set the msbits constraint

Core can set the msbits constraint in behalf of the dai.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: sgtl5000: Print revision number in hex
Fabio Estevam [Mon, 16 Jan 2012 19:32:21 +0000 (17:32 -0200)]
ASoC: sgtl5000: Print revision number in hex

Throughout the sgtl5000 driver source code and also in the sgtl5000 datasheet
the revision code is shown in hexadecimal.

Print it hex format, for consistency.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Say we can't read WM5100 ID register
Mark Brown [Tue, 17 Jan 2012 19:27:04 +0000 (19:27 +0000)]
ASoC: Say we can't read WM5100 ID register

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: When releasing WM5100 put /RESET into reset
Mark Brown [Tue, 17 Jan 2012 19:18:27 +0000 (19:18 +0000)]
ASoC: When releasing WM5100 put /RESET into reset

Reset is active low, make sure we leave it asserted when release the
device.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: 24 bits are significant on wm_hubs DAIs
Mark Brown [Tue, 17 Jan 2012 11:50:26 +0000 (11:50 +0000)]
ASoC: 24 bits are significant on wm_hubs DAIs

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Make WM8993 I2C usage unconditional
Mark Brown [Tue, 17 Jan 2012 15:08:35 +0000 (15:08 +0000)]
ASoC: Make WM8993 I2C usage unconditional

The WM8993 only supports I2C so don't ifdef the I2C support in the driver.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Implement basic WM8993 interrupt support
Mark Brown [Tue, 17 Jan 2012 16:42:05 +0000 (16:42 +0000)]
ASoC: Implement basic WM8993 interrupt support

If an interrupt is supplied then use it for thermal warning and FLL lock
notifications. When using the interrupt raise the timeout for the FLL lock
substantially to reduce the chances of spurious warnings.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: 24 bits are significant on the WM8996 audio interfaces
Mark Brown [Mon, 16 Jan 2012 18:39:21 +0000 (18:39 +0000)]
ASoC: 24 bits are significant on the WM8996 audio interfaces

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Allow drivers to specify how many bits are significant on a DAI
Mark Brown [Mon, 16 Jan 2012 18:38:51 +0000 (18:38 +0000)]
ASoC: Allow drivers to specify how many bits are significant on a DAI

Most devices accept data in formats that don't correspond directly to
their internal format. ALSA allows us to set a msbits constraint which
tells userspace about this in case it finds it useful (for example, in
order to avoid wasting effort dithering bits that will be ignored when
raising the sample size of data) so provide a mechanism for drivers to
specify the number of bits that are actually significant on a DAI and
add the appropriate constraints along with all the others.

This is done slightly awkwardly as the constraint is specified per sample
size - we loop over every possible sample size, including ones that the
device doesn't support and including ones that have fewer bits than are
actually used, but this is harmless as the upper layers do the right thing
in these cases.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
12 years agoASoC: Add WM8962 DAC and ADC L/R swap support
Mark Brown [Thu, 12 Jan 2012 00:31:00 +0000 (16:31 -0800)]
ASoC: Add WM8962 DAC and ADC L/R swap support

Simple switches since there's no per-channel control.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: wm8983: Remove useless snd_kcontrol
Dimitris Papastamos [Mon, 16 Jan 2012 10:44:13 +0000 (10:44 +0000)]
ASoC: wm8983: Remove useless snd_kcontrol

This must be a leftover from a previous driver.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: jz4740: Convert qi_lb60 to use snd_soc_register_card()
Axel Lin [Fri, 6 Jan 2012 03:30:10 +0000 (11:30 +0800)]
ASoC: jz4740: Convert qi_lb60 to use snd_soc_register_card()

Use snd_soc_register_card() instead of creating a "soc-audio" platform device.

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>
12 years agoASoC: Convert WM8962 register access map to modern style
Mark Brown [Thu, 12 Jan 2012 04:13:19 +0000 (20:13 -0800)]
ASoC: Convert WM8962 register access map to modern style

Much more compact, both in terms of source and especially in terms of
RAM used at runtime.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Route Mic Bias in Visstrim_M10 board.
Javier Martin [Wed, 11 Jan 2012 12:21:05 +0000 (13:21 +0100)]
ASoC: Route Mic Bias in Visstrim_M10 board.

Visstrim_M10 board uses an external microphone
that can be enabled/disabled by the user

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoep93xx: Don't use system controller defines in audio drivers
Ryan Mallon [Wed, 11 Jan 2012 03:14:31 +0000 (14:14 +1100)]
ep93xx: Don't use system controller defines in audio drivers

Both the Snapper CL15 and EDB93xx audio drivers set the same audio
configuration in ep93xx_i2s_acquire. Remove the arguments to
ep93xx_i2s_acquire so that the audio drivers no longer need the
EP93XX_SYSCON defines exported.

Cc: Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Mika Westerberg <mika.westerberg@iki.fi>
Cc: Liam Girdwood <lrg@ti.com>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ryan Mallon <rmallon@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Make WM8962 I2C usage unconditional
Mark Brown [Tue, 10 Jan 2012 18:53:49 +0000 (10:53 -0800)]
ASoC: Make WM8962 I2C usage unconditional

We only support I2C so no need to ifdef.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: CQ93VC: remove machine specific header file inclusion from codec driver
Manjunath Hadli [Tue, 10 Jan 2012 11:27:43 +0000 (16:57 +0530)]
ASoC: CQ93VC: remove machine specific header file inclusion from codec driver

remove unnecessary inclusion of machine specific header
file mach/dm365.h from cq93vc.c voice codec driver
which comes in the way of platform code consolidation.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: utils - Add support for a dummy codec driver.
Liam Girdwood [Mon, 9 Jan 2012 12:36:24 +0000 (12:36 +0000)]
ASoC: utils - Add support for a dummy codec driver.

This is useful to create dummy codec devices where we need to have some
DAI links without a real Codec. e.g. could be used to represent dumb FM,
MODEM, etc

This is also used by dynamic PCM for DAI links that have no codec.

Signed-off-by: Liam Girdwood <lrg@ti.com>
[Fixed the indentation -- broonie]
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: twl6040 - add method to query HS DC offset step size in mV
Liam Girdwood [Mon, 9 Jan 2012 12:10:16 +0000 (12:10 +0000)]
ASoC: twl6040 - add method to query HS DC offset step size in mV

Provide a method for mach drivers to query the HS DC offset step size in mV.

Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Optimise performance of WM8904 ADC 128fs OSR mode
Mark Brown [Sun, 8 Jan 2012 02:02:57 +0000 (18:02 -0800)]
ASoC: Optimise performance of WM8904 ADC 128fs OSR mode

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: core - Improve card registration error messaging for large DAI links.
Liam Girdwood [Mon, 9 Jan 2012 12:09:29 +0000 (12:09 +0000)]
ASoC: core - Improve card registration error messaging for large DAI links.

Print out the offending DAI link entry when a naming error occurs. Makes
thing easier to debug for machines with a large number of DAI links.

Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: replace 0xffffffff with DMA_BIT_MASK macro
Joachim Eastwood [Sun, 1 Jan 2012 01:43:03 +0000 (02:43 +0100)]
ASoC: replace 0xffffffff with DMA_BIT_MASK macro

Signed-off-by: Joachim Eastwood <joachim.eastwood@jotron.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: use proper defines for stream directions in pcm engines
Joachim Eastwood [Sun, 1 Jan 2012 01:14:24 +0000 (02:14 +0100)]
ASoC: use proper defines for stream directions in pcm engines

Signed-off-by: Joachim Eastwood <joachim.eastwood@jotron.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert WM8955 to table based DAPM and control init
Mark Brown [Thu, 29 Dec 2011 21:45:27 +0000 (21:45 +0000)]
ASoC: Convert WM8955 to table based DAPM and control init

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert WM8955 to direct regmap API usage
Mark Brown [Thu, 29 Dec 2011 21:42:36 +0000 (21:42 +0000)]
ASoC: Convert WM8955 to direct regmap API usage

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Use standard register cache sync for WM8955
Mark Brown [Thu, 29 Dec 2011 21:39:44 +0000 (21:39 +0000)]
ASoC: Use standard register cache sync for WM8955

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert WM8955 to devm_kzalloc()
Mark Brown [Thu, 29 Dec 2011 21:23:04 +0000 (21:23 +0000)]
ASoC: Convert WM8955 to devm_kzalloc()

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Make I2C usage unconditional in WM8955
Mark Brown [Thu, 29 Dec 2011 21:21:49 +0000 (21:21 +0000)]
ASoC: Make I2C usage unconditional in WM8955

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert WM8940 to devm_kzalloc()
Mark Brown [Thu, 29 Dec 2011 21:16:59 +0000 (21:16 +0000)]
ASoC: Convert WM8940 to devm_kzalloc()

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Make I2C usage unconditional in WM8940
Mark Brown [Thu, 29 Dec 2011 21:15:48 +0000 (21:15 +0000)]
ASoC: Make I2C usage unconditional in WM8940

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert WM8904 to direct regmap API usage
Mark Brown [Thu, 29 Dec 2011 21:12:51 +0000 (21:12 +0000)]
ASoC: Convert WM8904 to direct regmap API usage

The device has a very sparse register map so should benefit from using a
rbtree cache.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Use standard cache sync for WM8904
Mark Brown [Thu, 29 Dec 2011 21:07:04 +0000 (21:07 +0000)]
ASoC: Use standard cache sync for WM8904

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert wm8904 to devm_kzalloc()
Mark Brown [Thu, 29 Dec 2011 20:05:00 +0000 (20:05 +0000)]
ASoC: Convert wm8904 to devm_kzalloc()

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Make WM8904 I2C usage unconditional
Mark Brown [Thu, 29 Dec 2011 20:03:23 +0000 (20:03 +0000)]
ASoC: Make WM8904 I2C usage unconditional

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert wm8804 to direct regmap API usage
Mark Brown [Thu, 29 Dec 2011 19:58:06 +0000 (19:58 +0000)]
ASoC: Convert wm8804 to direct regmap API usage

The register map for this device is actually fairly sparse so the rbtree
should be beneficial.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert wm8804 to devm_kzalloc()
Mark Brown [Thu, 29 Dec 2011 19:19:18 +0000 (19:19 +0000)]
ASoC: Convert wm8804 to devm_kzalloc()

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Use standard cache sync for wm8804
Mark Brown [Thu, 29 Dec 2011 19:13:37 +0000 (19:13 +0000)]
ASoC: Use standard cache sync for wm8804

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Remove wm8974 private data
Mark Brown [Thu, 29 Dec 2011 11:11:25 +0000 (11:11 +0000)]
ASoC: Remove wm8974 private data

It's only ever referenced when being allocated and freed.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert wm8974 to table based DAPM and control init
Mark Brown [Thu, 29 Dec 2011 11:10:27 +0000 (11:10 +0000)]
ASoC: Convert wm8974 to table based DAPM and control init

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Make wm8974 I2C usage unconditional
Mark Brown [Thu, 29 Dec 2011 11:08:21 +0000 (11:08 +0000)]
ASoC: Make wm8974 I2C usage unconditional

The driver only supports I2C at present.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert wm8971 to devm_kzalloc()
Mark Brown [Thu, 29 Dec 2011 11:04:04 +0000 (11:04 +0000)]
ASoC: Convert wm8971 to devm_kzalloc()

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert wm8971 to table based DAPM and control init
Mark Brown [Thu, 29 Dec 2011 11:03:08 +0000 (11:03 +0000)]
ASoC: Convert wm8971 to table based DAPM and control init

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Make WM8971 I2C usage unconditional
Mark Brown [Thu, 29 Dec 2011 10:59:39 +0000 (10:59 +0000)]
ASoC: Make WM8971 I2C usage unconditional

The driver only supports I2C so no need to worry about SPI only systems.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert WM8753 to direct regmap API usage
Mark Brown [Mon, 21 Nov 2011 16:32:03 +0000 (16:32 +0000)]
ASoC: Convert WM8753 to direct regmap API usage

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Move WM8993 resource acquisition and device reset to bus probe
Mark Brown [Wed, 14 Dec 2011 04:31:14 +0000 (12:31 +0800)]
ASoC: Move WM8993 resource acquisition and device reset to bus probe

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert wm8993 to direct regmap API usage
Mark Brown [Wed, 14 Dec 2011 03:53:06 +0000 (11:53 +0800)]
ASoC: Convert wm8993 to direct regmap API usage

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Move WM9090 device identification and reset to I2C probe
Mark Brown [Tue, 13 Dec 2011 13:43:01 +0000 (21:43 +0800)]
ASoC: Move WM9090 device identification and reset to I2C probe

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert WM9090 to use regmap directly
Mark Brown [Tue, 13 Dec 2011 13:20:59 +0000 (21:20 +0800)]
ASoC: Convert WM9090 to use regmap directly

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Push wm8978 reset down into the I2C probe
Mark Brown [Thu, 29 Dec 2011 11:44:03 +0000 (11:44 +0000)]
ASoC: Push wm8978 reset down into the I2C probe

Ensures that we get control of the CODEC earlier and don't try to probe
the card at all if register I/O isn't working.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert wm8978 to direct regmap API usage
Mark Brown [Thu, 29 Dec 2011 11:39:39 +0000 (11:39 +0000)]
ASoC: Convert wm8978 to direct regmap API usage

Helps push the register cache code down out of ASoC and improves resume
times by using the more efficient regmap cache sync code.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Use standard cache sync for WM8978
Mark Brown [Thu, 29 Dec 2011 11:32:09 +0000 (11:32 +0000)]
ASoC: Use standard cache sync for WM8978

Saves a bit of code and supports further refactoring.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert wm8978 to devm_kzalloc()
Mark Brown [Thu, 29 Dec 2011 11:16:53 +0000 (11:16 +0000)]
ASoC: Convert wm8978 to devm_kzalloc()

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert wm8978 to table based DAPM and control init
Mark Brown [Thu, 29 Dec 2011 11:15:43 +0000 (11:15 +0000)]
ASoC: Convert wm8978 to table based DAPM and control init

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Remove unused control type from wm8978 driver
Mark Brown [Thu, 29 Dec 2011 11:13:15 +0000 (11:13 +0000)]
ASoC: Remove unused control type from wm8978 driver

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Make WM8978 I2C usage unconditional
Mark Brown [Thu, 29 Dec 2011 11:12:45 +0000 (11:12 +0000)]
ASoC: Make WM8978 I2C usage unconditional

The driver only supports I2C.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Disable register synchronisation for low frequency WM8996 SYSCLK
Mark Brown [Wed, 18 Jan 2012 19:17:06 +0000 (19:17 +0000)]
ASoC: Disable register synchronisation for low frequency WM8996 SYSCLK

With a low frequency SYSCLK and a fast I2C clock register synchronisation
may occasionally take too long to take effect, causing I/O issues. Disable
synchronisation in order to avoid any issues.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
12 years agoASoC: Don't go through cache when applying WM5100 rev A updates
Mark Brown [Thu, 19 Jan 2012 11:16:37 +0000 (11:16 +0000)]
ASoC: Don't go through cache when applying WM5100 rev A updates

These are all to either uncached registers or fixes to register defaults,
in the former case the cache won't do anything and in the latter case
we're fixing things so the cache sync will do the right thing.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
12 years agoASoC: Mark WM5100 register map cache only when going into BIAS_OFF
Mark Brown [Wed, 18 Jan 2012 20:02:38 +0000 (20:02 +0000)]
ASoC: Mark WM5100 register map cache only when going into BIAS_OFF

Writing to the registers won't work if we do actually manage to hit a fully
powered off state.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
12 years agoASoC: tlv320aic32x4: always enable analouge block
Wolfram Sang [Wed, 18 Jan 2012 10:48:59 +0000 (11:48 +0100)]
ASoC: tlv320aic32x4: always enable analouge block

Register LDOCTLEN must always be initialized to clear the analog power
control bit, otherwise the analog block will stay deactivated.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: tlv320aic32x4: always enable dividers
Wolfram Sang [Wed, 18 Jan 2012 10:48:58 +0000 (11:48 +0100)]
ASoC: tlv320aic32x4: always enable dividers

Dividers (such as MDAC) are always needed, independent of the codec
being I2S master or slave. Needed on a custom board where the codec has
to be slave.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: sgtl5000: Fix wrong register name in restore
Zeng Zhaoming [Wed, 18 Jan 2012 05:58:07 +0000 (13:58 +0800)]
ASoC: sgtl5000: Fix wrong register name in restore

Correct SGTL5000_CHIP_CLK_CTRL to SGTL5000_CHIP_REF_CTRL in
sgtl5000_restore_regs(), and add comment to explain the
restore order.

Reported-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Zeng Zhaoming <zengzm.kernel@gmail.com>
Acked-by: Dong Aisheng <dong.aisheng@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoLinux 3.3-rc1
Linus Torvalds [Thu, 19 Jan 2012 23:04:48 +0000 (15:04 -0800)]
Linux 3.3-rc1