GitHub/MotorolaMobilityLLC/kernel-slsi.git
13 years agoMerge branch 'topic/interface' of git://opensource.wolfsonmicro.com/regmap into for-3.2
Mark Brown [Fri, 9 Sep 2011 18:11:24 +0000 (11:11 -0700)]
Merge branch 'topic/interface' of git://opensource.wolfsonmicro.com/regmap into for-3.2

13 years agoregmap: Provide device read and write map interface for merging
Mark Brown [Mon, 5 Sep 2011 18:46:32 +0000 (20:46 +0200)]
regmap: Provide device read and write map interface for merging

Add the externally visible interface introduced by Lars-Peter's commit
6f3064 (regmap: Add support for device specific write and read flag
masks) separately in order to allow merge into other subsystems for
integration with drivers.  Drivers relying on this feature will not be
functional until they are merged with the implementation.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: playpaq_wm8510: Return proper error if clk_get fails
Axel Lin [Fri, 9 Sep 2011 02:15:37 +0000 (10:15 +0800)]
ASoC: playpaq_wm8510: Return proper error if clk_get fails

Return proper error instead of 0 if clk_get fails.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: sst_platform: fix memory leak
Lu Guanqun [Tue, 6 Sep 2011 07:21:43 +0000 (15:21 +0800)]
ASoC: sst_platform: fix memory leak

snd_pcm_hw_constraint_integer() could return -1, in this case, sst platform is
not opened successfully.  However the corresponding close callback isn't able
to be called later on to release these two allocated memories, thus resulting
in memory leak.

This patch moves the check for hardware contraints earlier, thus resolving this
issue.

Signed-off-by: Lu Guanqun <guanqun.lu@intel.com>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: sst_platform: using builtin function
Lu Guanqun [Tue, 6 Sep 2011 07:21:38 +0000 (15:21 +0800)]
ASoC: sst_platform: using builtin function

Use the builtin snd_soc_set_runtime_hwparams() instead of assigning it by
myself.

Signed-off-by: Lu Guanqun <guanqun.lu@intel.com>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: sst_platform: trivial coding style fix
Lu Guanqun [Tue, 6 Sep 2011 07:21:34 +0000 (15:21 +0800)]
ASoC: sst_platform: trivial coding style fix

Signed-off-by: Lu Guanqun <guanqun.lu@intel.com>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: ad1980: Return proper error if vendor id mismatch
Axel Lin [Tue, 6 Sep 2011 02:37:48 +0000 (10:37 +0800)]
ASoC: ad1980: Return proper error if vendor id mismatch

Return -ENODEV instead of 0 if vendor id mismatch.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Remove unused step size from debugfs CODEC write function
Mark Brown [Tue, 6 Sep 2011 23:39:17 +0000 (16:39 -0700)]
ASoC: Remove unused step size from debugfs CODEC write function

We don't use the step size so there's no need to work it out.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: alc5623: Remove unused mutex
Axel Lin [Sun, 4 Sep 2011 14:48:27 +0000 (22:48 +0800)]
ASoC: alc5623: Remove unused mutex

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Check that WM8996 FLL started even if we don't have the IRQ
Mark Brown [Sun, 4 Sep 2011 16:35:47 +0000 (09:35 -0700)]
ASoC: Check that WM8996 FLL started even if we don't have the IRQ

We can directly read the FLL lock status on WM8996 so even if we don't
have an interrupt wired up we can still verify that the FLL started
successfully.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoMerge branch 'for-3.1' into for-3.2
Mark Brown [Tue, 6 Sep 2011 01:13:31 +0000 (18:13 -0700)]
Merge branch 'for-3.1' into for-3.2

13 years agoASoC: Add missing platform_device_put in raumfeld_audio_init error path
Axel Lin [Fri, 2 Sep 2011 13:47:41 +0000 (21:47 +0800)]
ASoC: Add missing platform_device_put in raumfeld_audio_init error path

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Daniel Mack <zonque@gmail.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Blackfin: bf5xx-ad193x: Fix codec device name
Lars-Peter Clausen [Mon, 5 Sep 2011 11:49:57 +0000 (13:49 +0200)]
ASoC: Blackfin: bf5xx-ad193x: Fix codec device name

Fix the codec_name field of the dai_link to match the actual device name
of the codec. Otherwise the card won't be instantiated.

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>
Cc: stable@kernel.org
13 years agoASoC: Fix reporting of partial jack updates
Mark Brown [Sun, 4 Sep 2011 15:18:18 +0000 (08:18 -0700)]
ASoC: Fix reporting of partial jack updates

We need to report the entire jack state to the core jack code, not just
the bits that were being updated by the caller, otherwise the status
reported by other detection methods will be omitted from the state seen
by userspace.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Cc: stable@kernel.org
13 years agoASoC: sn95031: Fix the logic to find free channel
Axel Lin [Sat, 3 Sep 2011 05:41:47 +0000 (13:41 +0800)]
ASoC: sn95031: Fix the logic to find free channel

In the case of no free channel available,
current implementation returns 0 instead of negative errno.

This patch fixes the logic to return -EINVAL if no free channel available.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Vinod Koul <vinod.koul@linux.intel.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-3.1' into for-3.2
Mark Brown [Wed, 31 Aug 2011 08:57:44 +0000 (09:57 +0100)]
Merge branch 'for-3.1' into for-3.2

13 years agoASoC: Allow source specification for CODEC level sysclk
Mark Brown [Wed, 24 Aug 2011 19:09:01 +0000 (20:09 +0100)]
ASoC: Allow source specification for CODEC level sysclk

Similarly to PLLs/FLLs some modern CODECs provide selectable system clock
sources. When the clock is the clock for a DAI we do not usually need to
identify which clock is being configured so can use clk_id for the source
clock but with CODEC wide system clocks we will need to specify both the
clock being configured and the source.

Add a source argument to the CODEC driver set_sysclk() operation to
reflect this. As this operation is not as widely used as the DAI
set_sysclk() operation the change is not very invasive. We probably
ought to go and make the same alternation for DAIs at some point.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Add device tree binding for WM8804
Mark Brown [Mon, 29 Aug 2011 13:23:05 +0000 (14:23 +0100)]
ASoC: Add device tree binding for WM8804

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Add device tree binding for WM8776
Mark Brown [Mon, 29 Aug 2011 13:14:45 +0000 (14:14 +0100)]
ASoC: Add device tree binding for WM8776

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Add device tree binding for WM8770
Mark Brown [Mon, 29 Aug 2011 13:12:15 +0000 (14:12 +0100)]
ASoC: Add device tree binding for WM8770

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Remove redundant -codec from WM8776 driver name
Mark Brown [Mon, 29 Aug 2011 13:10:42 +0000 (14:10 +0100)]
ASoC: Remove redundant -codec from WM8776 driver name

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Timur Tabi <timur@freescale.com>
13 years agoASoC: Remove unused mutex from WM9090 driver
Mark Brown [Tue, 30 Aug 2011 14:33:28 +0000 (15:33 +0100)]
ASoC: Remove unused mutex from WM9090 driver

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Allow register defaults to be larger than unsigned short
Mark Brown [Wed, 24 Aug 2011 18:12:49 +0000 (19:12 +0100)]
ASoC: Allow register defaults to be larger than unsigned short

Devices that need this exist; obviously the newer regmap defaults
mechanism will deal with this more happily.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: imx: Fix build warning of unused 'card' variable
Fabio Estevam [Tue, 30 Aug 2011 03:28:42 +0000 (00:28 -0300)]
ASoC: imx: Fix build warning of unused 'card' variable

Fixes the following warning:

  CC      sound/soc/imx/imx-pcm-fiq.o
sound/soc/imx/imx-pcm-fiq.c: In function 'imx_pcm_fiq_new':
sound/soc/imx/imx-pcm-fiq.c:243: warning: unused variable 'card'
  CC      sound/soc/imx/imx-pcm-dma-mx2.o

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: soc_codec_reg_show use snd_soc_codec_readable_register
Lars-Peter Clausen [Sat, 27 Aug 2011 16:24:14 +0000 (18:24 +0200)]
ASoC: soc_codec_reg_show use snd_soc_codec_readable_register

Use snd_soc_codec_readable_register instead of open-coding it.

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 agoMerge branch 'for-3.1' into for-3.2
Mark Brown [Wed, 31 Aug 2011 08:46:42 +0000 (09:46 +0100)]
Merge branch 'for-3.1' into for-3.2

13 years agoASoC: Fix register cache sync register_writable WARN_ONs
Lars-Peter Clausen [Sat, 27 Aug 2011 16:24:13 +0000 (18:24 +0200)]
ASoC: Fix register cache sync register_writable WARN_ONs

Currently the condition for these WARN_ONs is reversed and they are placed
before the actual check whether we are going to write to that register. So if
the codec implements the register_writable callback we'll get a warning for each
writable register when syncing the register cache.

While we are at it change the check to use snd_soc_codec_writable_register
instead of open-coding it.

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: snd_soc_codec_{readable,writable}_register change default to true
Lars-Peter Clausen [Sat, 27 Aug 2011 16:24:12 +0000 (18:24 +0200)]
ASoC: snd_soc_codec_{readable,writable}_register change default to true

Change the default return value of snd_soc_codec_{readable,writable}_register to
true when no codec specific callback for this function is given. Otherwise all
registers of that codec will neither be readable nor writable, which is most
certainly not what we want.

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: soc-dapm: Fix parameter comment for snd_soc_dapm_free
Peter Ujfalusi [Fri, 26 Aug 2011 13:33:52 +0000 (16:33 +0300)]
ASoC: soc-dapm: Fix parameter comment for snd_soc_dapm_free

We have dapm_context instead of codec parameter.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: imx: use more robust checking of available streams
Wolfram Sang [Thu, 25 Aug 2011 13:54:56 +0000 (15:54 +0200)]
ASoC: imx: use more robust checking of available streams

Replace the channels_min check with a check for the relevant substream
being present. Suggested here [1] when mxs implemented the
audio-support.

[1] http://www.spinics.net/lists/arm-kernel/msg133010.html

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: imx-ssi: use dma_writecombine consistently
Wolfram Sang [Thu, 25 Aug 2011 13:54:55 +0000 (15:54 +0200)]
ASoC: imx-ssi: use dma_writecombine consistently

If the channel is allocated as writecombine, then mmaping it should also
use writecombine. Also, add a proper device for the call. Ported from a
similar fix for mach-mxs.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMAINTAINERS: Add some missed Wolfson files
Mark Brown [Fri, 19 Aug 2011 08:53:12 +0000 (17:53 +0900)]
MAINTAINERS: Add some missed Wolfson files

Mostly input related.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Add 3D stereo support for wm8996
susan gao [Fri, 26 Aug 2011 19:14:14 +0000 (12:14 -0700)]
ASoC: Add 3D stereo support for wm8996

My first patch to ASoC ever! If I did something wrong, blame Ian.

Signed-off-by: Susan Gao <sgao@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: davinci-mcasp: add support for unsigned PCM formats
Ben Gardiner [Fri, 26 Aug 2011 16:02:44 +0000 (12:02 -0400)]
ASoC: davinci-mcasp: add support for unsigned PCM formats

Although the McASP supports sign-extending samples in RX or TX [1]; the
davinci-mcasp driver does not touch the {R,X}PBIT or {R,X}PAD field of the
{R,X}FMT registers meaning that the McASP will serialize the bytes it is given
regardless of their signedness. So supporting unsigned formats is as simple
as adding them to the metadata of the davinci-mcasp driver.

Update the FMTBITs reported in the snd_soc_dai_driver and also update the case
statements in davinci-mcasp's hw_params() function so that the McASP can be
connected to CODECs that use unsigned values.

[1] http://www.ti.com/lit/ug/sprufm1/sprufm1.pdf

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-3.1' into for-3.2
Mark Brown [Wed, 24 Aug 2011 19:22:43 +0000 (20:22 +0100)]
Merge branch 'for-3.1' into for-3.2

13 years agoASoC: MPC5200: replace of_device with platform_device
Timur Tabi [Tue, 23 Aug 2011 21:48:26 +0000 (16:48 -0500)]
ASoC: MPC5200: replace of_device with platform_device

'struct of_device' no longer exists, and its functionality has been merged
into platform_device.  Update the MPC5200 audio DMA driver (mpc5200_dma)
accordingly.  This fixes a build break.

Signed-off-by: Timur Tabi <timur@freescale.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
13 years agoASoC: Correct element count for WM8996 sidetone HPF
Mark Brown [Wed, 24 Aug 2011 15:35:32 +0000 (16:35 +0100)]
ASoC: Correct element count for WM8996 sidetone HPF

I can count. Honest.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: SAMSUNG: Add Kconfig to support SMDK4212
Sangbeom Kim [Tue, 23 Aug 2011 09:59:08 +0000 (18:59 +0900)]
ASoC: SAMSUNG: Add Kconfig to support SMDK4212

This patch adds Kconfig to support SMDK4212.
SMDK4212 is based on samsung exynos4212 SoC.
And WM8994 is used for audio codec.

Signed-off-by: Sangbeom Kim <sbkim73@samsung.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-3.1' into for-3.2
Mark Brown [Wed, 24 Aug 2011 09:39:09 +0000 (10:39 +0100)]
Merge branch 'for-3.1' into for-3.2

13 years agoASoC: Tegra: wm8903 machine driver: Drop Ventana support
Stephen Warren [Tue, 23 Aug 2011 17:16:28 +0000 (11:16 -0600)]
ASoC: Tegra: wm8903 machine driver: Drop Ventana support

Board file support for Ventana is not yet mainlined, and probably won't
ever be given the move to Device-Tree. Consequently, the Ventana entry
is being removed from arch/arm/tools/mach-types in the next merge window,
since it was registered over a year ago.

This will also remove function machine_is_ventana(), which is used by
the ASoC Tegra WM8903 machine driver. This will cause compilation
failures. Drop Ventana support to resolve this.

Hopefully, in the not-too-distant future, tegra_wm8903.c will be able to
configure itself from Device-Tree, and hence we'll be able to re-instate
Ventana support just by creating a .dts file for the board.

Also note that Aebl support is in a similar boat. However, that board
isn't scheduled for deprecation for at least another 5 months, and
perhaps we will have completely removed non-Device-Tree support from
tegra_wm8903.c by then and/or adjusted mach-types policy.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Add samsung maintainer
Sangbeom Kim [Tue, 23 Aug 2011 10:36:59 +0000 (19:36 +0900)]
ASoC: Add samsung maintainer

Signed-off-by: Sangbeom Kim <sbkim73@samsung.com>
Acked-by: Jassi Brar <jassisinghbrar@gmail.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Add Springbank I/O card to Speyside Kconfig
Joseph Pentland [Tue, 23 Aug 2011 09:41:50 +0000 (10:41 +0100)]
ASoC: Add Springbank I/O card to Speyside Kconfig

Signed-off-by: Joseph Pentland <jp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: mxs-sgtl5000: add record function
Dong Aisheng [Sun, 21 Aug 2011 16:02:46 +0000 (00:02 +0800)]
ASoC: mxs-sgtl5000: add record function

Signed-off-by: Dong Aisheng <b29396@freescale.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agosound/soc/mxs/mxs-saif.c: add missing kfree
Julia Lawall [Sun, 21 Aug 2011 11:18:45 +0000 (13:18 +0200)]
sound/soc/mxs/mxs-saif.c: add missing kfree

Move the test on pdev->id before the kzalloc to avoid requiring kfree when
the test fails.  This fix was suggested by Wolfram Sang.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@@
identifier x;
expression E1!=0,E2,E3,E4;
statement S;
iterator I;
@@

(
if (...) { ... when != kfree(x)
               when != x = E3
               when != E3 = x
*  return ...;
 }
... when != x = E2
    when != I(...,x,...) S
if (...) { ... when != x = E4
 kfree(x); ... return ...; }
)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Dong Aisheng <b29396@freescale.com>
Reviewed-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 agoASoC: mxs-saif: clear clk gate first before register setting
Dong Aisheng [Sun, 21 Aug 2011 15:45:40 +0000 (23:45 +0800)]
ASoC: mxs-saif: clear clk gate first before register setting

Saif needs clear clk gate first before writing registers or the write
will not success.

The original xx_get_mclk function clear clk gate after mclk setting
that may cause the former mclk setting unwork, then the real output
mclk maybe inaccurate.
Placing the clear before setting mclk to avoid such an issue.

We also have to clear clk gate in startup instead of in prepare function.

Signed-off-by: Dong Aisheng <b29396@freescale.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-3.1' into for-3.2
Mark Brown [Mon, 22 Aug 2011 22:33:01 +0000 (23:33 +0100)]
Merge branch 'for-3.1' into for-3.2

13 years agosound/soc/fsl/mpc8610_hpcd.c: add missing of_node_put
Julia Lawall [Sat, 20 Aug 2011 07:02:01 +0000 (09:02 +0200)]
sound/soc/fsl/mpc8610_hpcd.c: add missing of_node_put

The first change is to add an of_node_put, since codec_np has previously
been allocated.  The rest of the patch reorganizes the error handling code
so the only code executed is that which is needed.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@@
identifier x;
expression E1!=0,E2,E3,E4;
statement S;
iterator I;
@@

(
if (...) { ... when != of_node_put(x)
               when != x = E3
               when != E3 = x
*  return ...;
 }
... when != x = E2
    when != I(...,x,...) S
if (...) { ... when != x = E4
 of_node_put(x); ... return ...; }
)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
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 agosound/soc/fsl/p1022_ds.c: add missing of_node_put
Julia Lawall [Sat, 20 Aug 2011 07:02:00 +0000 (09:02 +0200)]
sound/soc/fsl/p1022_ds.c: add missing of_node_put

dma_channel_np has been accessed at this point, so decrease its reference
count before leaving the function.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@@
identifier x;
expression E1!=0,E2,E3,E4;
statement S;
iterator I;
@@

(
if (...) { ... when != of_node_put(x)
               when != x = E3
               when != E3 = x
*  return ...;
 }
... when != x = E2
    when != I(...,x,...) S
if (...) { ... when != x = E4
 of_node_put(x); ... return ...; }
)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agosound/soc/ep93xx/ep93xx-i2s.c: add missing kfree
Julia Lawall [Sat, 20 Aug 2011 06:12:39 +0000 (08:12 +0200)]
sound/soc/ep93xx/ep93xx-i2s.c: add missing kfree

Introduce a new label that includes kfree and jump to that one.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@@
identifier x;
expression E1!=0,E2,E3,E4;
statement S;
iterator I;
@@

(
if (...) { ... when != kfree(x)
               when != x = E3
               when != E3 = x
*  return ...;
 }
... when != x = E2
    when != I(...,x,...) S
if (...) { ... when != x = E4
 kfree(x); ... return ...; }
)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Alexander Sverdlin <subaparts@yandex.ru>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agosound/soc/kirkwood/kirkwood-i2s.c: add missing kfree
Julia Lawall [Sat, 20 Aug 2011 06:12:38 +0000 (08:12 +0200)]
sound/soc/kirkwood/kirkwood-i2s.c: add missing kfree

Adjust the goto to jump to the error handling code that includes kfree.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@@
identifier x;
expression E1!=0,E2,E3,E4;
statement S;
iterator I;
@@

(
if (...) { ... when != kfree(x)
               when != x = E3
               when != E3 = x
*  return ...;
 }
... when != x = E2
    when != I(...,x,...) S
if (...) { ... when != x = E4
 kfree(x); ... return ...; }
)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: soc-core: use GFP_KERNEL flag for kmalloc in snd_soc_cnew
Axel Lin [Sat, 20 Aug 2011 03:03:44 +0000 (11:03 +0800)]
ASoC: soc-core: use GFP_KERNEL flag for kmalloc in snd_soc_cnew

GFP_ATOMIC is not needed here, use GFP_KERNEL instead.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agosound/soc/fsl/fsl_dma.c: add missing of_node_put
Timur Tabi [Mon, 22 Aug 2011 14:22:41 +0000 (09:22 -0500)]
sound/soc/fsl/fsl_dma.c: add missing of_node_put

of_parse_phandle increments the reference count of np, so this should be
decremented before trying the next possibility.

Since we don't actually use np, we can decrement the reference count
immediately.

Reported-by: Julia Lawall <julia@diku.dk>
Signed-off-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: Allow idle_bias_off to be specified in CODEC drivers
Mark Brown [Mon, 22 Aug 2011 17:40:30 +0000 (18:40 +0100)]
ASoC: Allow idle_bias_off to be specified in CODEC drivers

If devices can unconditionally support idle_bias_off let them flag it in
their driver structure.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: Convert WM8523 to table based control and DAPM initialization
Mark Brown [Mon, 22 Aug 2011 15:02:43 +0000 (16:02 +0100)]
ASoC: Convert WM8523 to table based control and DAPM initialization

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoMerge branch 'for-3.1' into for-3.2
Mark Brown [Mon, 22 Aug 2011 13:00:08 +0000 (14:00 +0100)]
Merge branch 'for-3.1' into for-3.2

13 years agoASoC: Clear completions from late WM8996 FLL lock IRQs
Mark Brown [Tue, 16 Aug 2011 07:57:58 +0000 (16:57 +0900)]
ASoC: Clear completions from late WM8996 FLL lock IRQs

In case we have a pending completion, for example due to a problem with
the input clock which got corrected after we timed out.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: Provide more detail on WM8962 thermal shutdown status
Mark Brown [Sun, 21 Aug 2011 17:07:44 +0000 (18:07 +0100)]
ASoC: Provide more detail on WM8962 thermal shutdown status

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: Clear any outstanding WM8962 FLL lock completions before waiting
Mark Brown [Sun, 21 Aug 2011 16:18:52 +0000 (17:18 +0100)]
ASoC: Clear any outstanding WM8962 FLL lock completions before waiting

Ensure that we don't spuriously trigger early.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: Report IRQ_NONE when we don't see an interrupt from WM8962
Mark Brown [Sun, 21 Aug 2011 10:47:14 +0000 (11:47 +0100)]
ASoC: Report IRQ_NONE when we don't see an interrupt from WM8962

This should never happen with level triggered IRQs.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: Initial WM8962 DSP2 support
Mark Brown [Wed, 17 Aug 2011 01:03:51 +0000 (10:03 +0900)]
ASoC: Initial WM8962 DSP2 support

The WM8962 features a DSP providing a number of signal processing
features including HD Bass and Virtual Surround Sound (VSS).  Enable
initial support for this, allowing users to enable and disable the
algorithms using the default coefficient sets.  Further patches will
add support for runtime configuration of the DSP coefficients.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: Ensure we only run Speyside WM8962 bias level callbacks once
Mark Brown [Sun, 21 Aug 2011 11:20:00 +0000 (12:20 +0100)]
ASoC: Ensure we only run Speyside WM8962 bias level callbacks once

We get called once per DAPM context but only need to run once. When DAPM
was serialized this was a series of noops but now it can run in parallel
we need to take proper care.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: Add basic WM8962 capture low/high pass filter control
Mark Brown [Sun, 21 Aug 2011 09:54:38 +0000 (10:54 +0100)]
ASoC: Add basic WM8962 capture low/high pass filter control

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: Optimise WM8996 no interrupt path
Mark Brown [Sat, 20 Aug 2011 18:28:59 +0000 (19:28 +0100)]
ASoC: Optimise WM8996 no interrupt path

This occurs frequently if we are in edge triggered mode as we must poll the
interrupt status register until we get no more interrupts so it's worth
the effort - it means we skip writing null acknowledgements to the chip.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: Automatically manage WM8996 MICBIAS regulating mode
Mark Brown [Sat, 20 Aug 2011 18:00:50 +0000 (19:00 +0100)]
ASoC: Automatically manage WM8996 MICBIAS regulating mode

For non-audio uses like accessory detection we can use a lower quality,
unregulated microphone bias, saving a little power. As the hardware can
manually enable and disable the biases we can select regulating mode
automatically with supply widgets connected to the biases.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: Fix configuration of WM8996 input enables
Mark Brown [Sat, 20 Aug 2011 15:59:27 +0000 (16:59 +0100)]
ASoC: Fix configuration of WM8996 input enables

There's no need for separate widgets for the enables (as the map already
shows).

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: WM8996 record paths need AIFCLK
Mark Brown [Sat, 20 Aug 2011 09:23:38 +0000 (10:23 +0100)]
ASoC: WM8996 record paths need AIFCLK

Make AIFCLK supply the record paths otherwise record will not work unless
there is a simultaneous playback.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoregmap: Allow drivers to specify register defaults
Mark Brown [Fri, 19 Aug 2011 09:09:38 +0000 (18:09 +0900)]
regmap: Allow drivers to specify register defaults

It is useful for the register cache code to be able to specify the
default values for the device registers. The major use is when restoring
the register cache after suspend, knowing the register defaults allows
us to skip registers that are at their default values when we resume which
can be a substantial win on larger modern devices. For some devices
(mostly older ones) the hardware does not support readback so the only way we
can know the values is from code and so initializing the cache with default
values makes it much easier for drivers work with read/modify/write
updates.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: sta32x: Move resource allocation and release to the corresponding callback...
Axel Lin [Thu, 18 Aug 2011 07:31:04 +0000 (15:31 +0800)]
ASoC: sta32x: Move resource allocation and release to the corresponding callback functions

This patch includes below small fixes:

1. Move sta32x_set_bias_level() from sta32x_i2c_remove() to sta32x_remove().
2. Remove a redundant regulator_bulk_free() call in sta32x_i2c_remove(),
   as we will call regulator_bulk_free() in sta32x_remove().
3. Remove unneeded snd_soc_codec_set_drvdata(codec, NULL) in sta32x_i2c_remove.
   The i2c core will set the clientdata to NULL.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Johannes Stezenbach <js@sig21.net>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-3.1' into for-3.2
Mark Brown [Thu, 18 Aug 2011 16:20:36 +0000 (01:20 +0900)]
Merge branch 'for-3.1' into for-3.2

13 years agoASoC: omap: Fix build errors in ams-delta
Jarkko Nikula [Thu, 18 Aug 2011 12:02:47 +0000 (15:02 +0300)]
ASoC: omap: Fix build errors in ams-delta

Fix "error: too few arguments to function 'ams_delta_set_bias_level'"
build errors in ams-delta.c that were introduced after commit d4c6005 ("ASoC:
Add context parameter to card DAPM callbacks") by adding dapm context
to ams_delta_set_bias_level calls.

Signed-off-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-3.1' into for-3.2
Mark Brown [Wed, 17 Aug 2011 07:34:05 +0000 (16:34 +0900)]
Merge branch 'for-3.1' into for-3.2

13 years agoASoC: Remove unreachable code in au1xac97c_drvprobe and au1xi2s_drvprobe
Axel Lin [Wed, 17 Aug 2011 07:14:33 +0000 (15:14 +0800)]
ASoC: Remove unreachable code in au1xac97c_drvprobe and au1xi2s_drvprobe

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Fix check for symmetric rate enforcement
Sascha Hauer [Wed, 17 Aug 2011 07:20:01 +0000 (09:20 +0200)]
ASoC: Fix check for symmetric rate enforcement

The ASoC core tries to not enforce symmetric rates when
two streams open simultaneously. It does so by checking
rtd->rate being zero. This works exactly once after booting
because it is not set to zero again when the streams close.
Fix this by setting rtd->rate when no active stream is left.

[This leads to lots of warnings about not enforcing the symmetry in some
situations as there's a race in the userspace API where we know we've
got two applications but don't know what rates they want to set.
-- broonie ]

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: fsl: fix build warning in fsl_dma
Timur Tabi [Wed, 17 Aug 2011 01:58:29 +0000 (21:58 -0400)]
ASoC: fsl: fix build warning in fsl_dma

The previous patch to fsl_dma.c ("fix initialization of DMA buffers")
left behind an unused local variable that causes a build warning.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Fix backport of WM8994 thermal warning
Mark Brown [Wed, 17 Aug 2011 06:14:17 +0000 (15:14 +0900)]
ASoC: Fix backport of WM8994 thermal warning

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
13 years agoASoC: claim the IRQ when the fsl_ssi device is probed, not opened
Timur Tabi [Tue, 16 Aug 2011 22:47:45 +0000 (18:47 -0400)]
ASoC: claim the IRQ when the fsl_ssi device is probed, not opened

The PowerPC Freescale SSI driver is claiming the IRQ when the IRQ when
the device is opened, which means that the /proc/interrupts entry for
the SSI exists only during playback or capture.  This also meant that
the user won't know that the IRQ number is wrong until he tries to use
the device.  Instead, we should claim the IRQ when the device is probed.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Blackfin: ADAU1373 eval board support
Lars-Peter Clausen [Mon, 15 Aug 2011 18:15:23 +0000 (20:15 +0200)]
ASoC: Blackfin: ADAU1373 eval board support

Add a machine driver to support the EVAL-ADAU1373 board connected to a
Analog Devices BF5XX evaluation board.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Add ADAU1373 codec support
Lars-Peter Clausen [Mon, 15 Aug 2011 18:15:22 +0000 (20:15 +0200)]
ASoC: Add ADAU1373 codec support

This patch adds support for the Analog Devices ADAU1373 audio codec.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Implement WM8994 thermal warning and shutdown interrupt support
Mark Brown [Tue, 16 Aug 2011 03:01:27 +0000 (12:01 +0900)]
ASoC: Implement WM8994 thermal warning and shutdown interrupt support

ALSA doesn't really have good mechanisms for dealing with these so we just
log them - the hardware already has automatic shutdown support.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Add WM8958 noise gate support
Mark Brown [Tue, 16 Aug 2011 01:08:48 +0000 (10:08 +0900)]
ASoC: Add WM8958 noise gate support

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Run Speyside WM8962 at 512fs
Mark Brown [Tue, 16 Aug 2011 12:36:38 +0000 (21:36 +0900)]
ASoC: Run Speyside WM8962 at 512fs

Ensure we have access to all the advanced DSP functinality offered by the
WM8962 by running the system clock at 512fs.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: DAPM: Allow multiple mixer sources to be routed via the same switch
Lars-Peter Clausen [Mon, 15 Aug 2011 18:15:21 +0000 (20:15 +0200)]
ASoC: DAPM: Allow multiple mixer sources to be routed via the same switch

Currently it is only possible to route one source per switch into a mixer.
This patch modifies the code, so that it is possible to route multiple sources
into a mixer via the same switch. One use-case for this is routing a stereo
channel pair into a mono-mixer via the same switch.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Disable pulls on WM8994 AIF2 when starting it
Mark Brown [Mon, 15 Aug 2011 02:01:02 +0000 (11:01 +0900)]
ASoC: Disable pulls on WM8994 AIF2 when starting it

Pull control is availalbe for WM8994 AIF2, generally disabled as part of
the GPIO configuration in order to save power after system startup. As on
newer devices in the series there is no GPIO functionality on these pins
this will happen less naturally so have the driver disable the pulls as the
AIF is probed.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Correct revision display for WM1250-EV1 module
Mark Brown [Sun, 14 Aug 2011 10:07:33 +0000 (19:07 +0900)]
ASoC: Correct revision display for WM1250-EV1 module

The hardware documentation uses revision numbers starting at 1.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Add device tree binding for WM8741
Mark Brown [Wed, 3 Aug 2011 08:31:26 +0000 (17:31 +0900)]
ASoC: Add device tree binding for WM8741

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: sta32x: shortcut the for loop to get ir and mcs
Axel Lin [Sun, 14 Aug 2011 03:31:04 +0000 (11:31 +0800)]
ASoC: sta32x: shortcut the for loop to get ir and mcs

There is exactly one match or no match at all during the for loop iteration,
thus we can break from the for loop once a match is found.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Johannes Stezenbach <js@sig21.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: nuc900-pcm: remove unused variable 'dai'
Axel Lin [Mon, 15 Aug 2011 08:38:34 +0000 (16:38 +0800)]
ASoC: nuc900-pcm: remove unused variable 'dai'

Remove unused variable 'dai' to eliminate below warning.

  CC      sound/soc/nuc900/nuc900-pcm.o
sound/soc/nuc900/nuc900-pcm.c: In function 'nuc900_dma_new':
sound/soc/nuc900/nuc900-pcm.c:321: warning: unused variable 'dai'

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: soc-pcm: Remove unused global mutex
Axel Lin [Sun, 14 Aug 2011 00:00:12 +0000 (08:00 +0800)]
ASoC: soc-pcm: Remove unused global mutex

Since commit b8c0dab9bf3373010e857a8d3f1b594c60a348dd
"ASoC: core - PCM mutex per rtd",
the global pcm_mutex is not being used any more.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: soc-cache: Remove unneeded codec_drv pointer variable in snd_soc_lzo_get_blksize
Axel Lin [Sat, 13 Aug 2011 13:27:16 +0000 (21:27 +0800)]
ASoC: soc-cache: Remove unneeded codec_drv pointer variable in snd_soc_lzo_get_blksize

Since commit aea170a099793abcd0e6de46b947458073204241
"ASoC: soc-cache: Add reg_size as a member to snd_soc_codec",
the codec_drv pointer variable is not used in snd_soc_lzo_get_blksize.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: soc-cache: Remove unneeded codec_drv pointer variable in snd_soc_flat_cache_init
Axel Lin [Sat, 13 Aug 2011 13:12:01 +0000 (21:12 +0800)]
ASoC: soc-cache: Remove unneeded codec_drv pointer variable in snd_soc_flat_cache_init

Since commit d779fce5d79525d66269c8f6e430e1515d697f3d
"ASoC: soc-cache: Ensure flat compression uses a copy of the defaults cache",
the codec_drv pointer variable is not used any more.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: s6000-pcm: remove unused variable 'dai'
Axel Lin [Sat, 13 Aug 2011 03:32:56 +0000 (11:32 +0800)]
ASoC: s6000-pcm: remove unused variable 'dai'

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Daniel Glöckner <dg@emlix.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-3.1' into for-3.2
Mark Brown [Mon, 15 Aug 2011 13:48:19 +0000 (22:48 +0900)]
Merge branch 'for-3.1' into for-3.2

Remove the bodge for ad193x.

Conflicts:
sound/soc/soc-io.c

13 years agoASoC: ad193x: remove cache support
Scott Jiang [Fri, 12 Aug 2011 22:04:14 +0000 (18:04 -0400)]
ASoC: ad193x: remove cache support

asoc cache layer can't support this kind of spi registers well.
remove cache support and read/write registers directly

Signed-off-by: Scott Jiang <scott.jiang.linux@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Add spi hw read function for 16 addr 8 data mode for ad193x fix
Scott Jiang [Fri, 12 Aug 2011 22:04:13 +0000 (18:04 -0400)]
ASoC: Add spi hw read function for 16 addr 8 data mode for ad193x fix

[This will be used by the ad193x driver to fix the fact that the
original author of the driver put a bodge for their particular chip into
a the generic ASoC register I/O abstraction layer which looked like an
obvious bug which ended up getting fixed in 3.0.  Sadly there were no
comments documenting what was going on.  A minimally invasive correction
to the driver is to remove the register cache support and go direct to
the hardware all the time so we're adding a new feature -- broonie]

Signed-off-by: Scott Jiang <scott.jiang.linux@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: ad193x: fix system clock
Scott Jiang [Fri, 12 Aug 2011 22:04:12 +0000 (18:04 -0400)]
ASoC: ad193x: fix system clock

system clock is 24.576MHz instead of 12.288MHz

Signed-off-by: Scott Jiang <scott.jiang.linux@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: ad193x: fix dac word len setting
Scott Jiang [Fri, 12 Aug 2011 22:04:11 +0000 (18:04 -0400)]
ASoC: ad193x: fix dac word len setting

dac word len value should left shift before setting

Signed-off-by: Scott Jiang <scott.jiang.linux@gmail.com>
Acked-by: Barry Song <21cnbao@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
13 years agoASoC: ad193x: fix registers definition
Scott Jiang [Fri, 12 Aug 2011 22:04:10 +0000 (18:04 -0400)]
ASoC: ad193x: fix registers definition

fix dac word len mask and adc tdm fmt shift value

Signed-off-by: Scott Jiang <scott.jiang.linux@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
13 years agoASoC: sta32x: Fix a memory leak if snd_soc_register_codec fails
Axel Lin [Sat, 13 Aug 2011 03:33:08 +0000 (11:33 +0800)]
ASoC: sta32x: Fix a memory leak if snd_soc_register_codec fails

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: soc-jack: Fix checking return value of request_any_context_irq
Axel Lin [Sat, 13 Aug 2011 11:15:01 +0000 (19:15 +0800)]
ASoC: soc-jack: Fix checking return value of request_any_context_irq

request_any_context_irq() returns a negative value on failure.
On success, it returns either IRQC_IS_HARDIRQ or IRQC_IS_NESTED.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.orG
13 years agoMerge branch 'for-3.1' into for-3.2
Mark Brown [Sun, 14 Aug 2011 10:24:40 +0000 (19:24 +0900)]
Merge branch 'for-3.1' into for-3.2