GitHub/LineageOS/android_kernel_samsung_universal7580.git
14 years agoASoC: Add platform listing to debugfs
Mark Brown [Wed, 15 Sep 2010 17:22:40 +0000 (18:22 +0100)]
ASoC: Add platform listing to debugfs

List registered platforms in debugfs to improve debugability of machine
drivers.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Add DAI list to debugfs
Mark Brown [Wed, 15 Sep 2010 17:19:07 +0000 (18:19 +0100)]
ASoC: Add DAI list to debugfs

Allow the user to inspect the list of registered DAIs at runtime to
improve diagnostics for machine driver setup.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Add debugfs listing of registered CODECs
Mark Brown [Wed, 15 Sep 2010 17:15:14 +0000 (18:15 +0100)]
ASoC: Add debugfs listing of registered CODECs

Help with diagnostics for machine driver setup by listing all the
registered CODECs in debugfs.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: WM8985: Initial driver
Dimitris Papastamos [Wed, 15 Sep 2010 14:23:20 +0000 (15:23 +0100)]
ASoC: WM8985: Initial driver

The WM8985 is a low power, high quality, feature-rich stereo
CODEC designed for portable multimedia applications that
require low power consumption and high quality audio.

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>
14 years agoASoC: Change my mail address
Arnaud Patard (Rtp) [Thu, 9 Sep 2010 12:10:33 +0000 (14:10 +0200)]
ASoC: Change my mail address

Like other coworkers, I'm about leave Mandriva/Edge-It so I'm changing
my mail address to use my personal one.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Signed-off-by: Arnaud Patard <apatard@mandriva.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Remove needless codec->bias_level assignment to SND_SOC_BIAS_OFF
Jarkko Nikula [Tue, 14 Sep 2010 12:24:38 +0000 (15:24 +0300)]
ASoC: Remove needless codec->bias_level assignment to SND_SOC_BIAS_OFF

This assignment is done by the snd_soc_register_codec so there is no need
to redo it in probe function of a codec driver.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Samsung: Debug PCM snd_soc_dai_driver registration
Jassi Brar [Fri, 10 Sep 2010 07:41:05 +0000 (16:41 +0900)]
ASoC: Samsung: Debug PCM snd_soc_dai_driver registration

Each of the two PCM controllers need to be registered during probe
with appropriate 'name' of the dai driver.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Set more meaningful name for SMDK64xx WM8580 audio
Mark Brown [Mon, 13 Sep 2010 09:11:14 +0000 (10:11 +0100)]
ASoC: Set more meaningful name for SMDK64xx WM8580 audio

Since the SMDK64xx boards have two audio subsystems using the board
name as the card name by itself isn't so user friendly as it might
be.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: fsi codecs: Update card name field
Kuninori Morimoto [Mon, 13 Sep 2010 10:40:13 +0000 (19:40 +0900)]
ASoC: fsi codecs: Update card name field

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: S3C: Fix PCM TXFIFO_DIPSTICK value
Seungwhan Youn [Fri, 10 Sep 2010 08:20:45 +0000 (17:20 +0900)]
ASoC: S3C: Fix PCM TXFIFO_DIPSTICK value

This patch modify FIFO_DIPSTICK value of PCM TX FIFO to be a optimal one.
Privious value (0x20) did not support 'Almost_full' of PCM FIFO for the DMA
request.

Signed-off-by: Seungwhan Youn <sw.youn@samsung.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: S3C: Fix PCM RX FIFO settings
Seungwhan Youn [Fri, 10 Sep 2010 08:20:00 +0000 (17:20 +0900)]
ASoC: S3C: Fix PCM RX FIFO settings

When PCM capture, sound recorded abnormally because of RX FIFO
threshold settings are missing. So, This patch modify PCM RX FIFO
setting codes same as TX.
And for DMA, if PCM RXFIFO_DIPSTICK is not '0', it doesn't effect
to DMA request, because DMA refer RX_FIFO_EMPTY flag as the DMA
request.

Signed-off-by: Seungwhan Youn <sw.youn@samsung.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Fix off-by-one bug in WM8962 register cache size configuration
Dimitris Papastamos [Fri, 10 Sep 2010 17:24:08 +0000 (18:24 +0100)]
ASoC: Fix off-by-one bug in WM8962 register cache size configuration

This is a simple off-by-one bug, the size of the register cache is
incorrectly set to the maximum register index. Fix it by adding one.

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>
14 years agoASoC: Fix incorrect register cache size configuration
Dimitris Papastamos [Fri, 10 Sep 2010 17:14:56 +0000 (18:14 +0100)]
ASoC: Fix incorrect register cache size configuration

The reg_cache_size is the number of elements in the register cache,
not the size of the cache itself. This is not a problem if the size
of each element of the cache is 1 byte but it matters in any other
case.

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>
14 years agoASoC: ad1980 - set reg_cache_default to ad1980_reg
Axel Lin [Thu, 9 Sep 2010 09:50:56 +0000 (17:50 +0800)]
ASoC: ad1980 - set reg_cache_default to ad1980_reg

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agofbdev: sh_mobile_hdmi: Add select SND_SOC to Kconfig
Kuninori Morimoto [Thu, 9 Sep 2010 07:30:18 +0000 (16:30 +0900)]
fbdev: sh_mobile_hdmi: Add select SND_SOC to Kconfig

This patch solve compile error when .config doesn't have
CONFIG_SND_SOC which is needed for HDMI sound.
It was reported by Guennadi as follows

Besides, I think, this will not link without CONFIG_SND_SOC.

Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: fsi-hdmi: remove unneeded header
Kuninori Morimoto [Thu, 9 Sep 2010 02:48:30 +0000 (11:48 +0900)]
ASoC: fsi-hdmi: remove unneeded header

This patch solve below report from Guennadi.
But I didn't remove #include <sound/sh_fsi.h>.
Because it have FSI_PORT_B define which is used on this file.

> +#include <linux/platform_device.h>
> +#include <sound/sh_fsi.h>
> +#include <video/sh_mobile_hdmi.h>

Now that everything is done with strings - do you still need these
headers?

Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agofbdev: sh_mobile_hdmi: add new label for sound error path
Kuninori Morimoto [Thu, 9 Sep 2010 02:48:20 +0000 (11:48 +0900)]
fbdev: sh_mobile_hdmi: add new label for sound error path

This patch solve below report from Guennadi

>  /* External video parameter settings */
>  static void hdmi_external_video_param(struct sh_hdmi *hdmi)
>  {
> @@ -804,6 +862,11 @@ static int __init sh_hdmi_probe(struct platform_device *pdev)
>   return -ENOMEM;
>   }
>
> + ret =  snd_soc_register_codec(&pdev->dev,
> + &soc_codec_dev_sh_hdmi, &sh_hdmi_dai, 1);
> + if (ret < 0)
> + goto egetclk;
> +
>   hdmi->dev = &pdev->dev;
>
>   hdmi->hdmi_clk = clk_get(&pdev->dev, "ick");

NAK. This breaks the error path and has to be fixed. Firstly, please, use
a new label like "esndreg," secondly, you have to add

  clk_disable(hdmi->hdmi_clk);
 erate:
  clk_put(hdmi->hdmi_clk);
 egetclk:
+ snd_soc_unregister_codec(&pdev->dev);
+esndreg:
  mutex_destroy(&hdmi->mutex);
  kfree(hdmi);

Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agofbdev: sh_mobile_hdmi: modify snd_soc_dai_driver settings
Kuninori Morimoto [Thu, 9 Sep 2010 02:48:10 +0000 (11:48 +0900)]
fbdev: sh_mobile_hdmi: modify snd_soc_dai_driver settings

This patch solve below report from Guennadi

> +static struct snd_soc_dai_driver sh_hdmi_dai = {
> + .name = "sh_mobile_hdmi-hifi",
> + .playback = {
> + .stream_name = "Playback",
> + .channels_min = 1,

Can it actually do mono? Maybe at probe time you could look at audio flags
from your previous patch and, e.g., for SPDIF set channels_min to 2?

> + .channels_max = 2,

That's the "smallest max," yes. With some other interfaces (I2S, DSD) it
can support up to 8 channels...

> + .rates = SNDRV_PCM_RATE_8000_48000,

Hm, in the datasheet I see supported frequencies 32kHz to 192kHz. And if
you promise support for multiple frequencies, don't you want to implement
.hw_params? Besides, not all of these frequencies will be available,
depending on your supplied clock and your willingness to implement
downsampling.

Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agofbdev: sh_mobile_hdmi: modify flags name to more specific
Kuninori Morimoto [Thu, 9 Sep 2010 02:48:01 +0000 (11:48 +0900)]
fbdev: sh_mobile_hdmi: modify flags name to more specific

This patch solve below report from Guennadi

1)

> +/* Audio source select */
> +#define HDMI_SRC_MASK (0xF << 0)
> +#define HDMI_SRC_I2S (0 << 0) /* default */
> +#define HDMI_SRC_SPDIF (1 << 0)
> +#define HDMI_SRC_DSD (2 << 0)
> +#define HDMI_SRC_HBR (3 << 0)

I would be more specific with these macro names, i.e., include "AUDIO" or
"SND" or something similar in them, e.g., HDMI_AUDIO_SRC_I2S.

2)

> + case HDMI_SRC_I2S:
> + data = (0x0 << 3);
> + break;
> + case HDMI_SRC_SPDIF:
> + data = (0x1 << 3);
> + break;
> + case HDMI_SRC_DSD:
> + data = (0x2 << 3);
> + break;
> + case HDMI_SRC_HBR:
> + data = (0x3 << 3);

In all above cases parenthesis are superfluous.

Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agofbdev: sh_mobile_hdmi: modify noisy comment out
Kuninori Morimoto [Thu, 9 Sep 2010 02:47:49 +0000 (11:47 +0900)]
fbdev: sh_mobile_hdmi: modify noisy comment out

This patch solve below report from Guennadi

1)

> - hdmi_write(hdmi, 0x00, HDMI_AUDIO_SETTING_1);
> + switch (pdata->flags & HDMI_SRC_MASK) {
> + default:
> + /* FALL THROUGH */

I'm not sure I like the capitalisation here - no reason to shout;)

2)

> +/************************************************************************
> +
> +
> + HDMI sound
> +
> +
> +************************************************************************/

I don't think this comment deserves 7 lines of text, besides breaking the
multiline comment style. If you think, one line like

/* HDMI sound */

is not enough how about just

/*
 * HDMI sound
 */

3)

> +/************************************************************************
> +
> +
> + HDMI video
> +
> +
> +************************************************************************/

See above - 7 lines seem to be an overkill to me.

Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Samsung: Debug PCM platform device name
Jassi Brar [Fri, 10 Sep 2010 07:41:17 +0000 (16:41 +0900)]
ASoC: Samsung: Debug PCM platform device name

The PCM controller platform devices are registered by the
name 'samsung-pcm', so use the same in the CPU driver.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: S3C: AC97: Remove the -dai suffix
Jassi Brar [Fri, 10 Sep 2010 07:40:31 +0000 (16:40 +0900)]
ASoC: S3C: AC97: Remove the -dai suffix

Drop the invalid -dai suffix appended to the Samsung AC97 CPU DAI.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: fsi codecs: modify menu attribute on Kconfig
Kuninori Morimoto [Fri, 10 Sep 2010 01:34:32 +0000 (10:34 +0900)]
ASoC: fsi codecs: modify menu attribute on Kconfig

Current SND_FSI_xxx menu attributes were bool,
but it should be tristate.
This patch solve below report from Guennadi

"bool" means, if someone is linking the whole ASoC into the kernel, they
will not be able to build this as a module. Not a big deal, but you're
stealing some freedom from the user.

Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: fsi-ak4642: modify platform_name
Kuninori Morimoto [Tue, 7 Sep 2010 06:46:48 +0000 (15:46 +0900)]
ASoC: fsi-ak4642: modify platform_name

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Laim Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: rx1950: Fix clkdiv for 16khz and 48khz
Vasily Khoruzhick [Tue, 7 Sep 2010 14:04:18 +0000 (17:04 +0300)]
ASoC: rx1950: Fix clkdiv for 16khz and 48khz

Usage of 256 as clkdiv gives better rounding error (<1%)
for 16khz and 48khz

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: UDA1380: Add delay between power on and reset
Vasily Khoruzhick [Tue, 7 Sep 2010 14:04:17 +0000 (17:04 +0300)]
ASoC: UDA1380: Add delay between power on and reset

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: rx1950: remove unnecessary headers
Vasily Khoruzhick [Tue, 7 Sep 2010 14:04:16 +0000 (17:04 +0300)]
ASoC: rx1950: remove unnecessary headers

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: rx1950: check that machine is rx1950 in glue driver
Vasily Khoruzhick [Tue, 7 Sep 2010 14:04:15 +0000 (17:04 +0300)]
ASoC: rx1950: check that machine is rx1950 in glue driver

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Remove export of CS4270 DAI
Mark Brown [Tue, 7 Sep 2010 14:53:35 +0000 (15:53 +0100)]
ASoC: Remove export of CS4270 DAI

Not needed with multi-component.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Timur Tabi <timur@freescale.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Staticise WM9712 DAI list
Mark Brown [Mon, 6 Sep 2010 17:56:03 +0000 (18:56 +0100)]
ASoC: Staticise WM9712 DAI list

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Fix cut'n'paste comment in WM8994
Mark Brown [Mon, 6 Sep 2010 13:59:34 +0000 (14:59 +0100)]
ASoC: Fix cut'n'paste comment in WM8994

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoMerge branch 'for-2.6.37' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc...
Mark Brown [Mon, 6 Sep 2010 10:53:13 +0000 (11:53 +0100)]
Merge branch 'for-2.6.37' of git://git./linux/kernel/git/lrg/asoc-2.6 into for-2.6.37

14 years agoASoC: wm8753, remove dead code
Jiri Slaby [Sat, 4 Sep 2010 13:12:09 +0000 (15:12 +0200)]
ASoC: wm8753, remove dead code

There is adangling code in wm8753_probe which is never executed.
Remove it.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Acked-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: tlv320aic3x: Fix null pointer dereference when pdata is not set
Jarkko Nikula [Sun, 5 Sep 2010 16:10:22 +0000 (19:10 +0300)]
ASoC: tlv320aic3x: Fix null pointer dereference when pdata is not set

Null pointer dereference will occur from *setup = pdata->setup if pdata
is not set. Fix this by moving assignments from pdata inside non-null case.

Thanks to Jiri Slaby <jirislaby@gmail.com> for noticing.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Jiri Slaby <jirislaby@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Add event variants of the AIF widgets
Mark Brown [Fri, 3 Sep 2010 18:36:28 +0000 (19:36 +0100)]
ASoC: Add event variants of the AIF widgets

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: ak4642: Revive ak4642_snd_controls
Kuninori Morimoto [Fri, 3 Sep 2010 07:12:36 +0000 (16:12 +0900)]
ASoC: ak4642: Revive ak4642_snd_controls

This patch revive ak4642_snd_controls which was removed on
f0fba2ad1b6b53d5360125c41953b7afcd6deff0

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: pl022_ds.c: Add of_node_put to avoid memory leak
Julia Lawall [Tue, 31 Aug 2010 15:48:56 +0000 (17:48 +0200)]
ASoC: pl022_ds.c: Add of_node_put to avoid memory leak

Add a call to of_node_put in the error handling code following a call to
of_parse_phandle.

This patch also moves the existing call to of_node_put tothe end of the
error handling code, to make it possible to jump to of_node_put without
doing the other cleanup operations.  These appear to be disjoint
operations, so the ordering doesn't matter.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r exists@
local idexpression x;
expression E,E1,E2;
statement S;
@@

*x =
(of_find_node_by_path
|of_find_node_by_name
|of_find_node_by_phandle
|of_get_parent
|of_get_next_parent
|of_get_next_child
|of_find_compatible_node
|of_match_node
|of_find_node_by_type
|of_find_node_with_property
|of_find_matching_node
|of_parse_phandle
)(...);
...
if (x == NULL) S
<... when != x = E
*if (...) {
  ... when != of_node_put(x)
      when != if (...) { ... of_node_put(x); ... }
(
  return <+...x...+>;
|
*  return ...;
)
}
...>
(
E2 = x;
|
of_node_put(x);
)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Timur Tabi <timur@freescale.com>
Acked-by: Liam Girdwood <lrg@slimlogic.uo.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: kirkwood: add alias to pcm module
Arnaud Patard (Rtp) [Thu, 2 Sep 2010 08:31:47 +0000 (10:31 +0200)]
ASoC: kirkwood: add alias to pcm module

Allow snd-soc-kirkwood autoloading by adding an alias.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Added a missing 32-bit PCM format, to the wm8994 codec.
Ian Lartey [Tue, 31 Aug 2010 22:56:34 +0000 (23:56 +0100)]
ASoC: Added a missing 32-bit PCM format, to the wm8994 codec.

Signed-off-by: Ian Lartey <ian@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Implement WM8994 DAC data source muxes
Mark Brown [Tue, 31 Aug 2010 18:39:48 +0000 (19:39 +0100)]
ASoC: Implement WM8994 DAC data source muxes

Allow selection of the channel used for input to the AIFnDAC signals.
This isn't integrated into DAPM since we treat the data as a single
mono channel until just beyond this selection so it ends up having
no visible effect on the routing.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Add sh_mobile_hdmi sound support
Kuninori Morimoto [Tue, 31 Aug 2010 05:47:07 +0000 (14:47 +0900)]
ASoC: Add sh_mobile_hdmi sound support

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: fsi-codec: Add FSI - HDMI support
Kuninori Morimoto [Tue, 31 Aug 2010 05:46:53 +0000 (14:46 +0900)]
ASoC: fsi-codec: Add FSI - HDMI support

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agofbdev: sh-mobile: Add HDMI sound type selection
Kuninori Morimoto [Tue, 31 Aug 2010 05:46:41 +0000 (14:46 +0900)]
fbdev: sh-mobile: Add HDMI sound type selection

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: OpenRD Client : Fix naming breakage due to multicomponent support
Arnaud Patard (Rtp) [Mon, 30 Aug 2010 14:00:05 +0000 (16:00 +0200)]
ASoC: OpenRD Client : Fix naming breakage due to multicomponent support

multicomponent support added/changed some device name but added some typos,
breaking existing OpenRD Client support.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: fsi-ak4642/fsi-da7210: modify dai link settings for card detect
Kuninori Morimoto [Mon, 30 Aug 2010 11:47:19 +0000 (20:47 +0900)]
ASoC: fsi-ak4642/fsi-da7210: modify dai link settings for card detect

This patch modify dai link
- platform_name: sh_fsi/sh_fsi2 are used for FSI driver
- codec_name: ak4642/ak4643 are used for ak4642 driver

This is quick hack. I should modify it more wisely in future

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: fsi: modify compile error
Kuninori Morimoto [Mon, 30 Aug 2010 10:40:26 +0000 (19:40 +0900)]
ASoC: fsi: modify compile error

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoARM: S3C24XX: I2S multi-component-related fixes
Vasily Khoruzhick [Mon, 30 Aug 2010 08:28:09 +0000 (11:28 +0300)]
ARM: S3C24XX: I2S multi-component-related fixes

Export s3c_device_pcm for all S3C24xx-devices, not
only for S3C2440;
Fix device name for s3c_device_iis;

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Add HP iPAQ RX1950 support
Vasily Khoruzhick [Mon, 30 Aug 2010 08:28:08 +0000 (11:28 +0300)]
ASoC: Add HP iPAQ RX1950 support

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: uda1380: make driver more powersave-friendly
Vasily Khoruzhick [Mon, 30 Aug 2010 08:28:07 +0000 (11:28 +0300)]
ASoC: uda1380: make driver more powersave-friendly

Disable some codec modules in standby mode, completely disable
codec in off mode to save some power.
Fix suspend/resume: mark mixer regs as dirty on resume to
restore mixer values, otherwise driver produces no sound
(master is muted by default).

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Marek Vasut <marek.vasut@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Swap bias level enumeration
Jarkko Nikula [Tue, 31 Aug 2010 11:52:35 +0000 (14:52 +0300)]
ASoC: Swap bias level enumeration

Swapping the bias level enumeration is only meant to help debugging. It is
easier if number 0 means bias off and bigger number means bigger bias level.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: fix au1x platform
Manuel Lauss [Thu, 26 Aug 2010 12:53:51 +0000 (14:53 +0200)]
ASoC: fix au1x platform

This patch fixes up the au1x audio platform after the multi-component
merge:
- compile fixes and updates to get DB1200 platform audio working again,
- removal of global variables in AC97/I2S/DMA(PCM) modules.

The AC97 part is limited to one instance only for now due to issues
with getting at driver data in the soc_ac97_ops.

Signed-off-by: Manuel Lauss <manuel.lauss@googlemail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: tlv320aic3x: Sanitize output controls
Jarkko Nikula [Fri, 27 Aug 2010 13:56:50 +0000 (16:56 +0300)]
ASoC: tlv320aic3x: Sanitize output controls

Currently output controls are not uniform. Some routes are adjusted by
mono controls that don't match to associated mixer switch, many routes are
not covered at all and stereo controls have following variants:

- L-to-L & R-to-R
- R-to-L & R-to-R
- L-to-L & R-to-L

This patch attempts to fix these issues. First, for the convenience, only
direct L-to-L, R-to-R and [L | R]-to-Mono routes are controlled by the
stereo controls. This logic is also used with the output pin mute controls
so all of them except mono output are controlled by stereo switches.

Then rest of the swapped L-to-R and R-to-L routes are controlled by the
mono controls that map to mixer switches with a same name. Mixers can then
associate these switches and volumes together.

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>
14 years agoASoC: tlv320aic3x: Reimplement output mixers
Jarkko Nikula [Fri, 27 Aug 2010 13:56:49 +0000 (16:56 +0300)]
ASoC: tlv320aic3x: Reimplement output mixers

It turned out that the output mixers and their routes were misdefined: They
are not mixing output pins to internal signals but opposite. This has worked
for direct left-to-left and right-to-right routes since for those there are
complete routes. For swapped left-to-right and right-to-left routes this is
not working since there are no routes defined between them.

Another consequence is that those misdefined mixers are incorrectly routed
to several output pins leading unnecessary pin powerings even if there is no
route active to them.

Fix these by reimplementing the output mixers and routes as they are in
hardware. For completeness add also a few missing links between internal
signals and outputs.

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>
14 years agoASoC: tlv320aic3x: Sort output pin control registers in header file
Jarkko Nikula [Fri, 27 Aug 2010 13:56:48 +0000 (16:56 +0300)]
ASoC: tlv320aic3x: Sort output pin control registers in header file

Each output pin has 7 consecutive control registers in tlv320aic3x register
map. First 6 of them control the signal mixing and one is for output level
and power control.

Sort these registers as they are sorted clearly in hardware, it makes also
definitions more readable and easier to pinpoint missing register
definitions.

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>
14 years agoASoC: tlv320aic3x: Fix remaining output pin switch names
Jarkko Nikula [Fri, 27 Aug 2010 13:56:47 +0000 (16:56 +0300)]
ASoC: tlv320aic3x: Fix remaining output pin switch names

Bit 3 in output pin_CTRL register mutes the whole output pin not just the
route from DAC so remove misleading DAC from control name. Currently only
"Line[L | R] Playback Switch" were correct.

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>
14 years agoASoC: ad1980: remove unneeded function declaration
Uwe Kleine-König [Tue, 24 Aug 2010 13:09:41 +0000 (15:09 +0200)]
ASoC: ad1980: remove unneeded function declaration

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Complete supported clock ratios and rate constraints for wm8741
Ian Lartey [Fri, 27 Aug 2010 14:26:27 +0000 (15:26 +0100)]
ASoC: Complete supported clock ratios and rate constraints for wm8741

Signed-off-by: Ian Lartey <ian@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoMerge branch 'for-2.6.36' into for-2.6.37
Mark Brown [Fri, 27 Aug 2010 19:10:22 +0000 (20:10 +0100)]
Merge branch 'for-2.6.36' into for-2.6.37

14 years agoASoC: soc-core: fix debugfs_pop_time file permissions
Axel Lin [Fri, 27 Aug 2010 02:34:27 +0000 (10:34 +0800)]
ASoC: soc-core: fix debugfs_pop_time file permissions

I think this is a typo, debugfs_pop_time should not be executable.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Liam Girdwood <lrg@slimloogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoARM: S3C64XX: Fix fallthrough bug in i2sv3 gpio configuration, improve logging
Dimitris Papastamos [Thu, 26 Aug 2010 15:07:23 +0000 (16:07 +0100)]
ARM: S3C64XX: Fix fallthrough bug in i2sv3 gpio configuration, improve logging

If the platform device id is 1, the code will fallthrough the
case and incorrectly return -EINVAL. Add a break to avoid fallthrough.

Make logging slightly more verbose by including the device id.

This fixes an issue only present in multi-component.

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>
14 years agoMerge remote branch 'broonie-asoc/for-2.6.37' into for-2.6.37
Mark Brown [Fri, 27 Aug 2010 10:22:57 +0000 (11:22 +0100)]
Merge remote branch 'broonie-asoc/for-2.6.37' into for-2.6.37

14 years agoASoC: pxa-ssp: fix a memory leak in pxa_ssp_remove()
Axel Lin [Wed, 25 Aug 2010 08:59:11 +0000 (16:59 +0800)]
ASoC: pxa-ssp: fix a memory leak in pxa_ssp_remove()

The "priv" allocated in pxa_ssp_probe() should be kfreed in pxa_ssp_remove().

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoMerge branch 'for-2.6.36' into for-2.6.37
Mark Brown [Mon, 23 Aug 2010 12:38:11 +0000 (13:38 +0100)]
Merge branch 'for-2.6.36' into for-2.6.37

14 years agoASoC: Enable autoloading of pxa2xx CPU I2S driver with module alias
Ian Lartey [Fri, 20 Aug 2010 16:18:45 +0000 (17:18 +0100)]
ASoC: Enable autoloading of pxa2xx CPU I2S driver with module alias

Signed-off-by: Ian Lartey <ian@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Make codec dai naming for WM8741 consistent
Ian Lartey [Fri, 20 Aug 2010 16:18:44 +0000 (17:18 +0100)]
ASoC: Make codec dai naming for WM8741 consistent

Signed-off-by: Ian Lartey <ian@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: pxa2xx-i2s is the proper name of the I2S DAI, not pxa-i2s.
Ian Lartey [Fri, 20 Aug 2010 16:18:43 +0000 (17:18 +0100)]
ASoC: pxa2xx-i2s is the proper name of the I2S DAI, not pxa-i2s.

Signed-off-by: Ian Lartey <ian@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: i.MX ssi: use SSI_STCCR in synchronous mode
Sascha Hauer [Mon, 23 Aug 2010 06:54:02 +0000 (08:54 +0200)]
ASoC: i.MX ssi: use SSI_STCCR in synchronous mode

In synchronous mode the SSI_SRCCR values are ignored. Instead
SSI_STCCR must be used for both receiving and transmitting.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Add build infrastructure for WL1273
Mark Brown [Fri, 20 Aug 2010 16:24:51 +0000 (17:24 +0100)]
ASoC: Add build infrastructure for WL1273

The Makefile and Kconfig updates for WL1273 appear to have been mising
from the patch posted, add them.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Log WM8994 separate ADC LRCLKs every time we configure
Mark Brown [Mon, 23 Aug 2010 09:54:43 +0000 (10:54 +0100)]
ASoC: Log WM8994 separate ADC LRCLKs every time we configure

This makes it that little bit easier to spot the diagnostics in the
logs.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoMerge remote branch 'broonie-asoc/for-2.6.37' into for-2.6.37
Liam Girdwood [Mon, 23 Aug 2010 11:58:01 +0000 (12:58 +0100)]
Merge remote branch 'broonie-asoc/for-2.6.37' into for-2.6.37

14 years agoomap: rx51: Remove redefinition of rx51_aic3x_data
Jarkko Nikula [Mon, 23 Aug 2010 07:35:05 +0000 (10:35 +0300)]
omap: rx51: Remove redefinition of rx51_aic3x_data

Redefinition of rx51_aic3x_data got introduced when merging upstread changes
for 2.6.36 and ASoC Multi-Component Support.

This must go together with multi-component commit f0fba2a.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Tony Lindgren <tony@atomide.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: omap: rx51: Use gpio_set_value_cansleep for speaker amp control
Jarkko Nikula [Mon, 23 Aug 2010 07:36:41 +0000 (10:36 +0300)]
ASoC: omap: rx51: Use gpio_set_value_cansleep for speaker amp control

Speaker amplifier is controlled by TWL4030 GPIO which may sleep. Therefore
use gpio_set_value_cansleep to get rid of runtime warning that is introduced
after the commit 9c4ba94 and to get a stack trace if ever executing this
code in atomic context.

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>
14 years agoASoC: Fix tlv320aic3x GPIO initialization
Jarkko Nikula [Mon, 23 Aug 2010 07:38:40 +0000 (10:38 +0300)]
ASoC: Fix tlv320aic3x GPIO initialization

aic3x_init does a soft reset first and thus TLV320AIC3x GPIO setup must be
done after doing the basic init. Before multi-component the init was done
at i2c probe time and GPIO setup at soc probe time.

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>
14 years agoASoC: mpc8610: replace of_device with platform_device
Timur Tabi [Thu, 19 Aug 2010 20:26:58 +0000 (15:26 -0500)]
ASoC: mpc8610: replace of_device with platform_device

'struct of_device' no longer exists, and its functionality has been merged
into platform_device.  Update the MPC8610 HPCD audio drivers (fsl_ssi, fsl_dma,
and mpc8610_hpcd) accordingly.

Also add a #include for slab.h, which is now needed for kmalloc and kfree.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoMerge branch 'for-2.6.37' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc...
Mark Brown [Fri, 20 Aug 2010 16:19:27 +0000 (17:19 +0100)]
Merge branch 'for-2.6.37' of git://git./linux/kernel/git/lrg/asoc-2.6 into for-2.6.37

14 years agoASoC: Don't call DAI registration for CODECs with no DAI
Mark Brown [Wed, 18 Aug 2010 19:20:55 +0000 (20:20 +0100)]
ASoC: Don't call DAI registration for CODECs with no DAI

Otherwise we generate worrying (but benign) warnings for amps.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: TI WL1273 FM Radio Codec.
Matti J. Aaltonen [Fri, 20 Aug 2010 09:32:46 +0000 (12:32 +0300)]
ASoC: TI WL1273 FM Radio Codec.

This is an ALSA codec for the Texas Instruments WL1273 FM Radio.

Signed-off-by: Matti J. Aaltonen <matti.j.aaltonen@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: add support for the Freescale P1022 DS reference board
Timur Tabi [Thu, 19 Aug 2010 22:11:40 +0000 (17:11 -0500)]
ASoC: add support for the Freescale P1022 DS reference board

The Freescale P1022 is a dual-core e500-based SOC with multimedia capabilities,
specifically the same SSI audio controller on the MPC8610.  The P1022 DS
reference board includes a P1022 and a Wolfson Microelectronics WM8776
codec.

Signed-off-by: Timur Tabi <timur@freescale.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: remove include of pxa2xx-pcm.h in pxa2xx-ac97.c
Axel Lin [Fri, 20 Aug 2010 05:23:36 +0000 (13:23 +0800)]
ASoC: remove include of pxa2xx-pcm.h in pxa2xx-ac97.c

Fix reference to moved header file, which was unused anyway.
This change fixes below build error:
  CC      sound/soc/pxa/pxa2xx-ac97.o
sound/soc/pxa/pxa2xx-ac97.c:27:24: error: pxa2xx-pcm.h: No such file or directory
make[3]: *** [sound/soc/pxa/pxa2xx-ac97.o] Error 1
make[2]: *** [sound/soc/pxa] Error 2
make[1]: *** [sound/soc] Error 2
make: *** [sound] Error 2

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Haojian Zhuang <haojian.zhuang@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Add support for tlv320aic3007 to tlv320aic3x codec.
Randolph Chung [Fri, 20 Aug 2010 04:47:53 +0000 (12:47 +0800)]
ASoC: Add support for tlv320aic3007 to tlv320aic3x codec.

This patch adds support for the tlv320aic3007 codec to the tlv320aic3x
driver.

The tlv320aic3007 is similar to the aic31, but has an additional class-D
speaker amp. The speaker amp control register overlaps with the mono
output register of other codecs in this family, so we add logic to
identify the actual codec being registered to set things up accordingly.

Signed-off-by: Randolph Chung <tausq@parisc-linux.org>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: add support for separate codec DAIs to the fsl_dma driver
Timur Tabi [Thu, 19 Aug 2010 21:43:42 +0000 (16:43 -0500)]
ASoC: add support for separate codec DAIs to the fsl_dma driver

Some codecs have separate DAIs for playback and capture, so the DMA driver
should allocate a DMA buffer only for the streams that are valid when the
driver is opened.

Signed-off-by: Timur Tabi <timur@freescale.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: e740_wm9705 - free gpio in e740_exit()
Axel Lin [Thu, 19 Aug 2010 06:40:25 +0000 (14:40 +0800)]
ASoC: e740_wm9705 - free gpio in e740_exit()

In e740_init(), we call gpio_request() for
GPIO_E740_MIC_ON, GPIO_E740_AMP_ON and GPIO_E740_WM9705_nAVDD2.
We should free the these gpio accordingly in e740_exit().

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Use a more adequate name for the CX20442 codec DAI
Janusz Krzysztofik [Thu, 19 Aug 2010 13:15:50 +0000 (15:15 +0200)]
ASoC: Use a more adequate name for the CX20442 codec DAI

In the process of unification of codec DAI names while implementing
multi-component, the CX20442 codec DAI has been renamed to "cx20442-hifi".
This new name seems not adequate for a 8kHz voice codec.

Use a better name, "cx20442-voice", as suggested by Liam Girdwood.

Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Configure symmetric rates for tlv320aic3x
Randolph Chung [Thu, 19 Aug 2010 11:06:17 +0000 (12:06 +0100)]
ASoC: Configure symmetric rates for tlv320aic3x

The tlv320aic3x codec driver only supports symmetric rates for capture/
playback. Set the flag in the DAI accordingly.

Signed-off-by: Randolph Chung <tausq@parisc-linux.org>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoasoc/multi-component: fsl: add support for variable SSI FIFO depth
Timur Tabi [Fri, 6 Aug 2010 17:16:12 +0000 (12:16 -0500)]
asoc/multi-component: fsl: add support for variable SSI FIFO depth

Add code that programs the DMA and SSI controllers differently based on the
FIFO depth of the SSI.

The SSI devices on the MPC8610 and the P1022 are identical in every way except
one: the transmit and receive FIFO depth.  On the MPC8610, the depth is eight.
On the P1022, it's fifteen.  The device tree nodes for the SSI include a
"fsl,fifo-depth" property that specifies the FIFO depth.

Signed-off-by: Timur Tabi <timur@freescale.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: add saarb machine driver for 88pm860x
Haojian Zhuang [Wed, 18 Aug 2010 16:36:30 +0000 (00:36 +0800)]
ASoC: add saarb machine driver for 88pm860x

88PM860x codec is used in Marvell saarb development board. 88PM860x codec
is used as master mode for SSP communication. Only I2S format is supported.

Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: add tavorevb3 machine driver for 88pm860x
Haojian Zhuang [Wed, 18 Aug 2010 16:36:00 +0000 (00:36 +0800)]
ASoC: add tavorevb3 machine driver for 88pm860x

Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: add 88pm860x codec driver
Haojian Zhuang [Wed, 18 Aug 2010 16:35:25 +0000 (00:35 +0800)]
ASoC: add 88pm860x codec driver

Add 88PM860x codec driver. 88PM860x codec supports two interfaces. And it
also supports headset/mic/hook/short detection.

Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Add simplfied device registration for Atmel SSC devices
Mark Brown [Wed, 18 Aug 2010 15:29:37 +0000 (16:29 +0100)]
ASoC: Add simplfied device registration for Atmel SSC devices

Since the SSC is already being registered as a device under arch and
the DMA and SSC hardware are pretty much the same provide a simplified
device registration function for the Atmel SSC which will add the
ASoC-specific devices within the ASoC code, parenting the SSC device
off the actual SSC device. Also use it in the sam9g20-ek driver.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Fix device name for AT91SAM9G20-EK devices
Mark Brown [Wed, 18 Aug 2010 15:25:59 +0000 (16:25 +0100)]
ASoC: Fix device name for AT91SAM9G20-EK devices

A couple of typos in the multi-component conversion.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Support non-crystal master clocks for WM8731
Mark Brown [Tue, 17 Aug 2010 22:40:24 +0000 (23:40 +0100)]
ASoC: Support non-crystal master clocks for WM8731

Instead of unconditionally enabling the crystal oscillator on the WM8731
only enable it when explicitly selected via set_sysclk(), allowing machine
drivers to specify that they drive a clock into MCLK alone. This avoids
any conflicts between the oscillator and the external MCLK source and saves
power for systems which do not need the oscillator.

This should also deliver a small power saving on systems using the crystal
since the oscillator will only be enabled when the ADC or DAC is active.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoMerge remote branch 'broonie-asoc/for-2.6.37' into for-2.6.37
Liam Girdwood [Wed, 18 Aug 2010 13:05:39 +0000 (14:05 +0100)]
Merge remote branch 'broonie-asoc/for-2.6.37' into for-2.6.37

14 years agoASoC: core - fix build warning on x86_64
Liam Girdwood [Tue, 17 Aug 2010 23:30:30 +0000 (00:30 +0100)]
ASoC: core - fix build warning on x86_64

Output size_t type as a "%Zu" to avoid warnings.

Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: core - fix build warning on x86_64
Liam Girdwood [Tue, 17 Aug 2010 23:25:12 +0000 (00:25 +0100)]
ASoC: core - fix build warning on x86_64

Output size_t type as a "%Zu" to avoid warnings.

Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Support non-crystal master clocks for WM8731
Mark Brown [Tue, 17 Aug 2010 22:40:24 +0000 (23:40 +0100)]
ASoC: Support non-crystal master clocks for WM8731

Instead of unconditionally enabling the crystal oscillator on the WM8731
only enable it when explicitly selected via set_sysclk(), allowing machine
drivers to specify that they drive a clock into MCLK alone. This avoids
any conflicts between the oscillator and the external MCLK source and saves
power for systems which do not need the oscillator.

This should also deliver a small power saving on systems using the crystal
since the oscillator will only be enabled when the ADC or DAC is active.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Fix a few more PXA build errors
Mark Brown [Tue, 17 Aug 2010 22:35:31 +0000 (23:35 +0100)]
ASoC: Fix a few more PXA build errors

Dead pxa2xx-pcm.h includes and a missing ,

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: multi-component - Drop board-n8x0.c changes
Jarkko Nikula [Tue, 17 Aug 2010 06:58:02 +0000 (09:58 +0300)]
ASoC: multi-component - Drop board-n8x0.c changes

These will conflict with queued changes to board-n8x0.c coming from
linux-omap tree. Only side effect from this dropping is that the integrated
digital microphone on Nokia N810 will stop working when ASoC multi-component
is merged.

As currently the N810 is not very usable in mainline, I consider this as a
minor issue that can be fixed in linux-omap tree the after the
multi-component is merged.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Multi-component: JZ4740: QI_LB60 board fixes
Lars-Peter Clausen [Sun, 15 Aug 2010 15:48:47 +0000 (17:48 +0200)]
ASoC: Multi-component: JZ4740: QI_LB60 board fixes

This patch contains two small fixes for the sound board driver for the qi_lb60
introduced by the multi-component patches:
* Remove unnecessary includes: Those includes where only used to get the
  definitions for the DAI devices and are thus not needed anymore.
* Fix a typo.

Signed-off-By: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Remove unused WM8974 private data
Mark Brown [Mon, 16 Aug 2010 19:06:26 +0000 (20:06 +0100)]
ASoC: Remove unused WM8974 private data

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Fix argument ordering for snd_soc_update_bits() in WM8580
Mark Brown [Mon, 16 Aug 2010 18:27:05 +0000 (19:27 +0100)]
ASoC: Fix argument ordering for snd_soc_update_bits() in WM8580

Reported-by: Seungwhan Youn <claude.youn@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>