openwrt/staging/blogic.git
13 years agoASoC: Add support for AIF channel muxing on WM8903
Mark Brown [Wed, 9 Feb 2011 13:47:08 +0000 (13:47 +0000)]
ASoC: Add support for AIF channel muxing on WM8903

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Display WM8903 chip revision alphabetically
Mark Brown [Wed, 9 Feb 2011 13:47:07 +0000 (13:47 +0000)]
ASoC: Display WM8903 chip revision alphabetically

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Remove redundant -codec from WM8903 driver name
Mark Brown [Wed, 9 Feb 2011 13:47:06 +0000 (13:47 +0000)]
ASoC: Remove redundant -codec from WM8903 driver name

It causes noisy -codecs to appear in things like .codec_name.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Davinci: Replace usage of IO_ADDRESS with ioremap()
Vaibhav Bedia [Wed, 9 Feb 2011 13:09:54 +0000 (18:39 +0530)]
ASoC: Davinci: Replace usage of IO_ADDRESS with ioremap()

This patch modifies the Davinci i2s and mcasp drivers to make use of
ioremap() instead of IO_ADDRESS()

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Davinci: Call clk_disable() and clk_put() in case of error
Vaibhav Bedia [Wed, 9 Feb 2011 13:09:53 +0000 (18:39 +0530)]
ASoC: Davinci: Call clk_disable() and clk_put() in case of error

In case of any error in probe() function, clk_disable() and clk_put()
should be called if clk_enable() and clk_get() went through.

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Davinci: Use resource_size() helper function
Vaibhav Bedia [Wed, 9 Feb 2011 13:09:52 +0000 (18:39 +0530)]
ASoC: Davinci: Use resource_size() helper function

This patch modifies the Davinci i2s and mcasp drivers
to make use of the resource_size() helper function for readability.

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: sn95031: Add support for reading mic bias
Vinod Koul [Wed, 9 Feb 2011 16:14:34 +0000 (21:44 +0530)]
ASoC: sn95031: Add support for reading mic bias

This patch adds support to read the mic bias voltage
when a jack is inserted. It uses ADC to measure.

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Harsha Priya <priya.harsha@intel.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: mfld_machine: Add support for jack detection
Vinod Koul [Wed, 9 Feb 2011 16:14:33 +0000 (21:44 +0530)]
ASoC: mfld_machine: Add support for jack detection

This patch adds support for registering jack interupt
and registering jack with core

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Harsha Priya <priya.harsha@intel.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: sn95031: Add jack support in the codec
Vinod Koul [Wed, 9 Feb 2011 16:14:32 +0000 (21:44 +0530)]
ASoC: sn95031: Add jack support in the codec

This patch adds support for jack detection and reporting in the codec
It however is not fully functional as it doesn't measure adc to figure
out what got inserted which will be added later

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Harsha Priya <priya.harsha@intel.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Tegra: Harmony: Add switch control for speaker
Stephen Warren [Thu, 3 Feb 2011 20:56:14 +0000 (13:56 -0700)]
ASoC: Tegra: Harmony: Add switch control for speaker

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Tegra: Harmony: Add headphone jack detection
Stephen Warren [Thu, 3 Feb 2011 20:56:13 +0000 (13:56 -0700)]
ASoC: Tegra: Harmony: Add headphone jack detection

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: soc-cache: dereferencing before checking
Dan Carpenter [Mon, 7 Feb 2011 19:01:41 +0000 (22:01 +0300)]
ASoC: soc-cache: dereferencing before checking

The patch c358e640a66 "ASoC: soc-cache: Add trace event for
snd_soc_cache_sync()" introduced a dereference of "codec->cache_ops"
before we had checked it for NULL.

I pulled the check forward, and then pulled everything in an indent
level.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: CS4271: Move Chip Select control out of the CODEC code.
Alexander Sverdlin [Thu, 3 Feb 2011 00:11:45 +0000 (03:11 +0300)]
ASoC: CS4271: Move Chip Select control out of the CODEC code.

Move Chip Select control out of the CODEC code for CS4271.

Signed-off-by: Alexander Sverdlin <subaparts@yandex.ru>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: codecs: wm8753: Fix DAI mode switching
Lars-Peter Clausen [Sun, 6 Feb 2011 09:04:11 +0000 (10:04 +0100)]
ASoC: codecs: wm8753: Fix DAI mode switching

The wm8753 codec supports switching between different DAI modes.
The current drivers tries to implement this by changing the DAI driver at
runtime. But to properly work this would require support from the ASoC core.

So this patch takes a different approch on how the DAI mode switching is
implemented.

The only difference, from a driver point of view, between the different DAI modes
is how to program the DAI format to the hardware. So what this patch is, it
stores the current format for each DAI in the drivers private struct and when
the DAI mode is changed the format gets simply reprogrammed according to the
new DAI mode.

Futhermore this patch restricts the changing of the DAI format to when the
codec is inactive.

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>
13 years agoASoC: mid-x86: Fix dependency on intel_sst driver
Vinod Koul [Sun, 6 Feb 2011 10:05:48 +0000 (15:35 +0530)]
ASoC: mid-x86: Fix dependency on intel_sst driver

Enabling medfield asoc driver causes compliation error when intel_sst
is not selected
ERROR: "register_sst_card" [sound/soc/mid-x86/snd-soc-sst-platform.ko]
undefined!

This patch puts proper dependency to elimate build error

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Harsha Priya <priya.harsha@intel.com>
Reported-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: ep93xx-ac97: remove extra empty line
Mika Westerberg [Fri, 4 Feb 2011 10:22:55 +0000 (12:22 +0200)]
ASoC: ep93xx-ac97: remove extra empty line

Signed-off-by: Mika Westerberg <mika.westerberg@iki.fi>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-2.6.38' into for-2.6.39
Mark Brown [Thu, 3 Feb 2011 20:17:54 +0000 (20:17 +0000)]
Merge branch 'for-2.6.38' into for-2.6.39

13 years agoASoC: Improve WM8994 digital power sequencing
Mark Brown [Thu, 3 Feb 2011 16:27:35 +0000 (16:27 +0000)]
ASoC: Improve WM8994 digital power sequencing

On WM8994 revision D and earlier ensure optimal sequencing with
simultaneous usage of AIF1 and AIF2 by tying the signals together
so if paths through both are connected the streams are started
simultaneously.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Cc: stable@kernel.org
13 years agoASoC: Create an AIF1ADCDAT signal widget to match AIF2
Mark Brown [Thu, 3 Feb 2011 16:27:34 +0000 (16:27 +0000)]
ASoC: Create an AIF1ADCDAT signal widget to match AIF2

Due to the different routing for AIF1 and AIF2 we weren't using a
single widget to represent the ADCDAT signal. For consistency add
one.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Cc: stable@kernel.org
13 years agoasoc: davinci: da830/omap-l137: correct cpu_dai_name
Vaibhav Bedia [Thu, 3 Feb 2011 11:12:25 +0000 (16:42 +0530)]
asoc: davinci: da830/omap-l137: correct cpu_dai_name

McASP1 is used on the DA830/OMAP-L137 platform for the codec.
This is different from the DA850/OMAP-L138 platform which uses McASP0.

This is fixed by adding a new snd_soc_dai_link struct.

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Sort ALC5623 in Kconfig and Makefile
Mark Brown [Thu, 3 Feb 2011 14:07:15 +0000 (14:07 +0000)]
ASoC: Sort ALC5623 in Kconfig and Makefile

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoMerge branch 'for-2.6.38' into for-2.6.39
Mark Brown [Wed, 2 Feb 2011 20:52:14 +0000 (20:52 +0000)]
Merge branch 'for-2.6.38' into for-2.6.39

13 years agoASoC: fill in snd_soc_pcm_runtime.card before calling snd_soc_dai_link.init()
Janusz Krzysztofik [Wed, 2 Feb 2011 20:11:41 +0000 (21:11 +0100)]
ASoC: fill in snd_soc_pcm_runtime.card before calling snd_soc_dai_link.init()

The .card member of the snd_soc_pcm_runtime structure pointed to by the
snd_soc_dai_link.init() argument used to be initialized before the
function being called. This has changed, probably unintentionally,
after recent refactorings. Since the function implementations are free
to make use of this pointer, move its assignment back before the
function is called to avoid NULL pointer dereferences.

Created and tested on Amstrad Delta againts linux-2.6.38-rc2

Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: soc-core: Support debugfs entries larger than PAGE_SIZE bytes
Dimitris Papastamos [Wed, 2 Feb 2011 13:58:58 +0000 (13:58 +0000)]
ASoC: soc-core: Support debugfs entries larger than PAGE_SIZE bytes

For some codecs with large register maps, it was not possible to dump
all registers via the codec_reg file but only up to PAGE_SIZE bytes.
This patch fixes this problem.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: PXA: formatting
Sven Neumann [Mon, 31 Jan 2011 15:10:50 +0000 (16:10 +0100)]
ASoC: PXA: formatting

Signed-off-by: Sven Neumann <s.neumann@raumfeld.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Update PM ifdefs for exported suspend/resume
Mark Brown [Wed, 2 Feb 2011 10:43:26 +0000 (10:43 +0000)]
ASoC: Update PM ifdefs for exported suspend/resume

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-2.6.39' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc...
Mark Brown [Tue, 1 Feb 2011 14:55:10 +0000 (14:55 +0000)]
Merge branch 'for-2.6.39' of git://git./linux/kernel/git/lrg/asoc-2.6 into for-2.6.39

13 years agoASoC: Use snd_pcm_format_width() in snd_soc_params_to_frame_size()
Mark Brown [Mon, 31 Jan 2011 20:14:38 +0000 (20:14 +0000)]
ASoC: Use snd_pcm_format_width() in snd_soc_params_to_frame_size()

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: soc-core: Ensure codec_reg has fixed length fields
Dimitris Papastamos [Tue, 1 Feb 2011 12:24:08 +0000 (12:24 +0000)]
ASoC: soc-core: Ensure codec_reg has fixed length fields

Make the format of the codec_reg file more easily parsable.  Remove
the header field which gives the codec name.  These changes are important
when it comes to extend the debugfs codec_reg file to dump more than
PAGE_SIZE bytes to make it easier to calculate offsets within the
file.

We still need to handle the case when the snd_soc_read() call fails
and <no data: %d> is outputted.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branches 'for-2.6.38' and 'tegra-arch' into for-2.6.39
Mark Brown [Tue, 1 Feb 2011 14:21:09 +0000 (14:21 +0000)]
Merge branches 'for-2.6.38' and 'tegra-arch' into for-2.6.39

13 years agoARM: tegra: Add to struct harmony_audio_platform_data
Stephen Warren [Mon, 31 Jan 2011 22:37:15 +0000 (15:37 -0700)]
ARM: tegra: Add to struct harmony_audio_platform_data

Add fields to describe all the audio-related GPIOs on Harmony, except for
the codec's GPIO IRQ, which will be passed in its i2c_board_info.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: CX20442: fix NULL pointer dereference
Janusz Krzysztofik [Tue, 1 Feb 2011 12:01:17 +0000 (13:01 +0100)]
ASoC: CX20442: fix NULL pointer dereference

The CX20442 codec driver never provided the snd_soc_codec_driver's
.reg_cache_default member. With the latest ASoC framework changes, it
seems to be referred unconditionally, resulting in a NULL pointer
dereference if missing. Provide it.

Created and tested on Amstrad Delta against linux-2.6.38-rc2

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>
13 years agoASoC: Amstrad Delta: fix const related build error
Janusz Krzysztofik [Tue, 1 Feb 2011 10:11:55 +0000 (11:11 +0100)]
ASoC: Amstrad Delta: fix const related build error

The Amstrad Delta ASoC driver used to override the digital_mute()
callback, expected to be not provided by the on-board CX20442 CODEC
driver, with its own implementation. While this is still posssible when
substituting the whole empty snd_soc_dai_driver.ops member (the CX20442
case), replacing snd_soc_dai_ops.digital_mute only is no longer correct
after the snd_soc_dai_driver.ops member has been constified, and results
in build error.

Drop this actually not used code path in hope the CX20442 driver never
provides its own snd_soc_dai_ops structure.

Created and tested against linux-2.6.38-rc2

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>
13 years agoASoC: Tegra: Harmony: Remove redundant !!
Stephen Warren [Mon, 31 Jan 2011 18:00:17 +0000 (11:00 -0700)]
ASoC: Tegra: Harmony: Remove redundant !!

gpio_set_value* should accept logic values not just 0 or 1. The WM8903 GPIO
driver has been fixed to work this way, so remove the redundant !!
previously required when it didn't accept values >1.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: omap: rx51: Add earphone support
Jarkko Nikula [Mon, 31 Jan 2011 12:43:48 +0000 (14:43 +0200)]
ASoC: omap: rx51: Add earphone support

Earphone in Nokia RX-51/N900 is connected to left HP output of B part of the
TLV320AIC34 dual codec. In RX-51 the codec A is used as a traditional codec
and the codec B as an auxiliary device.

Audio from codec A goes via the codec B to earphone:
MONO_LOUT of A -> LINE2R of B (B interconnects) -> HPLOUT of B -> Earphone.

Take earphone into use by utilizing the recent ASoC auxiliary and
cross-device support.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Accept any logical value WM8903 GPIO set()
Mark Brown [Mon, 31 Jan 2011 13:41:17 +0000 (13:41 +0000)]
ASoC: Accept any logical value WM8903 GPIO set()

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Accept any logical value for WM8962 GPIO set()
Mark Brown [Mon, 31 Jan 2011 13:41:03 +0000 (13:41 +0000)]
ASoC: Accept any logical value for WM8962 GPIO set()

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: neo1973_wm8753 audio support does not require scoop
H Hartley Sweeten [Fri, 28 Jan 2011 19:00:18 +0000 (12:00 -0700)]
ASoC: neo1973_wm8753 audio support does not require scoop

This driver does not use any of the functionality provided by the scoop
hardware.  Remove the unneeded header.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Tegra: I2S: Use dev_err not pr_err
Stephen Warren [Fri, 28 Jan 2011 21:26:41 +0000 (14:26 -0700)]
ASoC: Tegra: I2S: Use dev_err not pr_err

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Tegra: utils: Don't use global variables
Stephen Warren [Fri, 28 Jan 2011 21:26:40 +0000 (14:26 -0700)]
ASoC: Tegra: utils: Don't use global variables

Instead, have the machine driver provide storage for the utility data
somehow.

For Harmony in particular, store this within struct tegra_harmony, itself
referenced by snd_soc_card's drvdata.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Tegra: Harmony: Use dev_err not pr_err
Stephen Warren [Fri, 28 Jan 2011 21:26:39 +0000 (14:26 -0700)]
ASoC: Tegra: Harmony: Use dev_err not pr_err

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Tegra: Harmony: Fix indentation issue.
Stephen Warren [Fri, 28 Jan 2011 21:26:38 +0000 (14:26 -0700)]
ASoC: Tegra: Harmony: Fix indentation issue.

Indent with TABs not spaces.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Tegra: Harmony: Support the internal speaker
Stephen Warren [Fri, 28 Jan 2011 21:26:37 +0000 (14:26 -0700)]
ASoC: Tegra: Harmony: Support the internal speaker

Add DAPM widget definitions for the internal speaker paths. Currently, this
path is always enabled while playback is active.

Add code to control the speaker amplifier GPIO.

The GPIO is requested during _init, since that's the first time it is
guaranteed that the WM8903 module is loaded, probed, and hence has exported
its GPIO chip.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Tegra: Harmony: Don't use soc-audio platform device
Stephen Warren [Fri, 28 Jan 2011 21:26:36 +0000 (14:26 -0700)]
ASoC: Tegra: Harmony: Don't use soc-audio platform device

Previously, snd-soc-tegra-harmony internally instantiated a platform device
object whenever the module was loaded. Instead, switch to a more typical model
where arch/arm/mach-tegra defines a platform device, and snd-soc-tegra-harmony
acts as a driver for such a platform device.

Define a new struct tegra_harmony to store driver data in the future.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Move card list initialization to snd_soc_register_card
Stephen Warren [Fri, 28 Jan 2011 21:26:35 +0000 (14:26 -0700)]
ASoC: Move card list initialization to snd_soc_register_card

All ASoC cards need snd_soc_initialize_card_lists called. Previously, it was
only called for cards backed by a "soc-audio" platform device, via
soc_probe(). However, it's also needed for cards backed by other platform
devices, and registered directly via snd_soc_register_card().

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: mid-x86: Add support for capture in machine driver
Harsha Priya [Fri, 28 Jan 2011 16:58:32 +0000 (22:28 +0530)]
ASoC: mid-x86: Add support for capture in machine driver

This configures the capture unused pins

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Harsha Priya <priya.harsha@intel.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: sst_platform: add support for capture stream on headset dai
Harsha Priya [Fri, 28 Jan 2011 16:57:26 +0000 (22:27 +0530)]
ASoC: sst_platform: add support for capture stream on headset dai

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Harsha Priya <priya.harsha@intel.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: sn95031: add capture support
Harsha Priya [Fri, 28 Jan 2011 16:56:53 +0000 (22:26 +0530)]
ASoC: sn95031: add capture support

This patch adds the support for capture path in sn95031 codec.
This codec supports upto 6DMICs, 2 AMICs and Linein. The linein and AMICs
are connected through a MUX to ADC. The TX paths can be assigned to any of the
ADCs or DMICs.

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Harsha Priya <priya.harsha@intel.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-2.6.38' into for-2.6.39
Mark Brown [Fri, 28 Jan 2011 13:22:14 +0000 (13:22 +0000)]
Merge branch 'for-2.6.38' into for-2.6.39

13 years agoASoC: Add card driver data
Mark Brown [Fri, 28 Jan 2011 13:11:47 +0000 (13:11 +0000)]
ASoC: Add card driver data

Provide driver data for cards within the card structure. To simplify the
implementation of the PM operations we don't use the struct device driver
data as this is used by the core to retrieve the card in callbacks from
the device model and PM core.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Fix mask/val_mask confusion snd_soc_dapm_put_volsw()
Stephen Warren [Thu, 27 Jan 2011 21:54:05 +0000 (14:54 -0700)]
ASoC: Fix mask/val_mask confusion snd_soc_dapm_put_volsw()

snd_soc_dapm_put_volsw() has variables for both the unshifted and
shifted mask for updates commit 97404f (ASoC: Do DAPM control updates in
the middle of DAPM sequences) got confused between the two of these.
Since there's no need to keep a copy of the unshifted mask fix this and
simplify the code by using only one mask variable.

[Completely rewrote the changelog to describe the issue -- broonie.]

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: soc-core: Increment codec and platform driver refcounts before probing
Jarkko Nikula [Thu, 27 Jan 2011 14:24:22 +0000 (16:24 +0200)]
ASoC: soc-core: Increment codec and platform driver refcounts before probing

Commit f6c2ed5 "ASoC: Fix the device references to codec and platform drivers"
moved codec and platform driver refcount increments from soc_bind_dai_link
to more appropriate places.

Adjust a little them so that refcounts are incremented before executing the
driver probe functions.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Vinod Koul <vinod.koul@intel.com>
Cc: Harsha Priya <priya.harsha@intel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: DaVinci: fix kernel panic due to uninitialized platform_data
Manjunathappa, Prakash [Thu, 27 Jan 2011 13:47:43 +0000 (19:17 +0530)]
ASoC: DaVinci: fix kernel panic due to uninitialized platform_data

This patch fixes the Kernel panic issue on accessing davinci_vc in
cq93vc_probe function. struct davinci_vc is part of platform device's
private driver data(codec->dev->p->driver_data) and this is populated
by DaVinci Voice Codec MFD driver.

Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: omap: rx51: Add stereo output support to audio jack
Jarkko Nikula [Thu, 27 Jan 2011 14:47:11 +0000 (16:47 +0200)]
ASoC: omap: rx51: Add stereo output support to audio jack

Audio jack in Nokia RX-51/N900 is driven by TPA6130 headphone amplifier.
This patch adds support for it and stereo output can be active when
"Jack Function" == "TV-OUT" || "Headphone".

As the TPA6130 can output very high volume levels the output is limited
with snd_soc_limit_volume. Limiting value is found from Maemo kernel sources.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoMerge branch 'for-2.6.38' into for-2.6.39
Mark Brown [Thu, 27 Jan 2011 15:16:52 +0000 (15:16 +0000)]
Merge branch 'for-2.6.38' into for-2.6.39

13 years agoASoC: Add subsequence information to seq_notify callbacks
Mark Brown [Wed, 26 Jan 2011 21:41:28 +0000 (21:41 +0000)]
ASoC: Add subsequence information to seq_notify callbacks

Allows drivers to distinguish which subsequence is being notified when
they get called back.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Make cache status available via debugfs
Mark Brown [Wed, 26 Jan 2011 20:53:50 +0000 (20:53 +0000)]
ASoC: Make cache status available via debugfs

Could just as well live in sysfs but sysfs doesn't have the simple
value export helpers debugfs does.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Export card PM callbacks for use in direct registered cards
Mark Brown [Wed, 26 Jan 2011 14:59:27 +0000 (14:59 +0000)]
ASoC: Export card PM callbacks for use in direct registered cards

Allow hookup of cards registered directly with the core to the PM
operations by exporting the device power management operations to
modules, also exporting the default PM operations since it is
expected that most cards will end up using exactly the same setup.

Note that the callbacks require that the driver data for the card be
the snd_soc_card.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Replace pdev with card in machine driver probe and remove
Mark Brown [Wed, 26 Jan 2011 14:17:20 +0000 (14:17 +0000)]
ASoC: Replace pdev with card in machine driver probe and remove

In order to support cards instantiated without using soc-audio remove
the use of the platform device in the card probe() and remove() ops.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Use card rather than soc-audio device to card PM functions
Mark Brown [Wed, 26 Jan 2011 14:05:25 +0000 (14:05 +0000)]
ASoC: Use card rather than soc-audio device to card PM functions

The platform device for the card is tied closely to the soc-audio
implementation which we're currently trying to remove in favour of
allowing cards to have their own devices. Begin removing it by
replacing it with the card in the suspend and resume callbacks we
give to cards, also taking the opportunity to remove the legacy
suspend types which are currently hard coded anyway.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Fix module refcount for auxiliary devices
Jarkko Nikula [Wed, 26 Jan 2011 14:39:37 +0000 (16:39 +0200)]
ASoC: Fix module refcount for auxiliary devices

Commit f6c2ed5 "ASoC: Fix the device references to codec and platform drivers"
moved codec driver refcount increments from soc_bind_dai_link into
soc_probe_codec.

However, the commit didn't remove try_module_get from soc_probe_aux_dev so
the auxiliary device reference counts are incremented twice as the
soc_probe_codec is called from soc_probe_aux_dev too.

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>
13 years agoASoC: Staticise non-exported symbols in cs4271
Mark Brown [Wed, 26 Jan 2011 11:35:28 +0000 (11:35 +0000)]
ASoC: Staticise non-exported symbols in cs4271

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Alexander Sverdlin <subaparts@yandex.ru>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: sh: fsi: modify selection method of I2S/PCM/SPDIF format
Kuninori Morimoto [Mon, 24 Jan 2011 01:43:19 +0000 (10:43 +0900)]
ASoC: sh: fsi: modify selection method of I2S/PCM/SPDIF format

Current format selection of FSI-codecs depended on platform information for FSI,
and chip default settings for codecs. It is not understandable/formal method.
This patch modify FSI and FSI-codecs to use snd_soc_dai_set_fmt.

But FSI can use I2S/PCM and SPDIF format today.
It can be selected to I2S/PCM by snd_soc_dai_set_fmt, but can not select SPDIF.
So, this patch change FSI platform information to have DAI/SPDIF mode.

If platform selects DAI mode (default),
FSI-codecs can select I2S/PCM by snd_soc_dai_set_fmt,
and if it is SPDIF mode, FSI become SPDIF format.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: sh: fsi: free from NULL pointer of struct sh_fsi_platform_info
Kuninori Morimoto [Mon, 24 Jan 2011 01:42:33 +0000 (10:42 +0900)]
ASoC: sh: fsi: free from NULL pointer of struct sh_fsi_platform_info

Current FSI driver assumed master->info is not NULL.
This patch allow NULL in master->info

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: sh: fsi: move chan_num from fsi_stream to fsi_priv
Kuninori Morimoto [Mon, 24 Jan 2011 01:42:08 +0000 (10:42 +0900)]
ASoC: sh: fsi: move chan_num from fsi_stream to fsi_priv

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'tegra-arch' into for-2.6.39
Mark Brown [Tue, 25 Jan 2011 20:27:56 +0000 (20:27 +0000)]
Merge branch 'tegra-arch' into for-2.6.39

13 years agoARM: tegra: Add Harmony sound platform data type
Stephen Warren [Wed, 19 Jan 2011 20:50:03 +0000 (13:50 -0700)]
ARM: tegra: Add Harmony sound platform data type

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Colin Cross <ccross@google.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-2.6.38' into for-2.6.39
Mark Brown [Tue, 25 Jan 2011 15:19:29 +0000 (15:19 +0000)]
Merge branch 'for-2.6.38' into for-2.6.39

13 years agoASoC: correct link specifications for corgi, poodle and spitz
Dmitry Eremin-Solenikov [Fri, 21 Jan 2011 19:14:17 +0000 (22:14 +0300)]
ASoC: correct link specifications for corgi, poodle and spitz

ASoC DAI link descriptions for Corgi, Poodle and Spitz platforms
contained incorrect names for cpu_dai and codec, which effectievly disabled sound
on theese platforms. Fix that errors.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
13 years agoASoC: cs4271.c: improve error handling
Alexander Sverdlin [Fri, 21 Jan 2011 19:22:07 +0000 (22:22 +0300)]
ASoC: cs4271.c: improve error handling

CS4271 CODEC driver adapted to recently introduced error handling in
snd_soc_update_bits().
Added snd_soc_cache_sync() error handling.

Signed-off-by: Alexander Sverdlin <subaparts@yandex.ru>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: sh: fsi-hdmi: Add FSI port and HDMI selection
Kuninori Morimoto [Mon, 24 Jan 2011 01:09:02 +0000 (10:09 +0900)]
ASoC: sh: fsi-hdmi: Add FSI port and HDMI selection

This patch add platform_device_id which can control
PortA/PortB for FSI2-HDMI from platform data.

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>
13 years agoASoC: Remove controls from sequenced PGA arguments
Mark Brown [Mon, 24 Jan 2011 21:51:25 +0000 (21:51 +0000)]
ASoC: Remove controls from sequenced PGA arguments

We have zero users for PGA controls and the core support for them was
removed a while ago so no point in cut'n'pasting them into new macros,
even if it's too much hassle to update the existing ones.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Samsung: Fix outdated cpu_dai_name for s3c24xx i2s
Lars-Peter Clausen [Mon, 24 Jan 2011 21:12:42 +0000 (22:12 +0100)]
ASoC: Samsung: Fix outdated cpu_dai_name for s3c24xx i2s

During the multi-component patch the s3c24xx i2s driver was renamed from
"s3c24xx-i2s" to "s3c24xx-iis", while the sound board drivers were not
updated to reflect this change as well.

As a result there is no match between the dai_link and the i2s driver and no
sound card is instantiated.

This patch fixes the problem by updating the sound board drivers to use
"s3c24xx-iis" for the cpu_dai_name.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
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>
Cc: stable@kernel.org
13 years agoASoC: Fix codec device id format used by some dai_links
Lars-Peter Clausen [Mon, 24 Jan 2011 21:09:22 +0000 (22:09 +0100)]
ASoC: Fix codec device id format used by some dai_links

The id part of an I2C device name is created with the "%d-%04x" format string.

So for example for an I2C device which is connected to the adapter with the id 0
and has its address set to 0x1a the id part of the devices name would be
"0-001a".

Currently some sound board drivers have the id part the codec_name field of
their dai_link structures set as if it had been created by a "%d-0x%x" format
string. For example "0-0x1a" instead of "0-001a".

As a result there is no match between the codec device and the dai_link and no
sound card is instantiated.

This patch fixes it.

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>
Cc: stable@kernel.org
13 years agoASoC: Fix type for snd_soc_volatile_register()
Mark Brown [Mon, 24 Jan 2011 14:05:25 +0000 (14:05 +0000)]
ASoC: Fix type for snd_soc_volatile_register()

We generally refer to registers as unsigned ints (including in the
underlying CODEC driver operation).

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: EDB93xx machine sound driver with CS4271
Alexander Sverdlin [Sun, 23 Jan 2011 01:01:15 +0000 (04:01 +0300)]
ASoC: EDB93xx machine sound driver with CS4271

Added support for EDB93xx sound with CS4271 CODEC.
Features:
- Playback, Capture
- Sample rates from 8kHz to 96kHz tested

Signed-off-by: Alexander Sverdlin <subaparts@yandex.ru>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: sh: fsi: Add snd_soc_dai_set_fmt support
Kuninori Morimoto [Thu, 20 Jan 2011 02:46:02 +0000 (11:46 +0900)]
ASoC: sh: fsi: Add snd_soc_dai_set_fmt support

This patch add snd_soc_dai_ops :: set_fmt to FSI driver and
select master/slave clock mode by snd_soc_dai_set_fmt on
fsi-xxx.c instead of platform infomation code.
This patch remove fsi_is_master function which is no longer needed.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: sh: fsi: Add fsi_get_priv_frm_dai function
Kuninori Morimoto [Thu, 20 Jan 2011 02:45:51 +0000 (11:45 +0900)]
ASoC: sh: fsi: Add fsi_get_priv_frm_dai function

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>
13 years agoASoC: ak4642: add SND_SOC_DAIFMT_FORMAT support
Kuninori Morimoto [Thu, 20 Jan 2011 02:45:34 +0000 (11:45 +0900)]
ASoC: ak4642: add SND_SOC_DAIFMT_FORMAT support

This patch support LEFT_J / I2S only for now

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>
13 years agoMerge branch 'for-2.6.38' into for-2.6.39
Mark Brown [Fri, 21 Jan 2011 18:30:55 +0000 (18:30 +0000)]
Merge branch 'for-2.6.38' into for-2.6.39

13 years agoASoC: soc-cache: Add trace event for snd_soc_cache_sync()
Dimitris Papastamos [Fri, 21 Jan 2011 15:29:02 +0000 (15:29 +0000)]
ASoC: soc-cache: Add trace event for snd_soc_cache_sync()

This patch makes it easy to see when the syncing process begins and
ends.  You can also enable the snd_soc_reg_write tracepoint to see
which registers are being synced.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: CS4271 codec support
Alexander Sverdlin [Wed, 19 Jan 2011 18:22:06 +0000 (21:22 +0300)]
ASoC: CS4271 codec support

Added support for CS4271 codec to ASoC.

Signed-off-by: Alexander Sverdlin <subaparts@yandex.ru>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Handle low measured DC offsets for wm_hubs devices
Mark Brown [Fri, 21 Jan 2011 12:47:33 +0000 (12:47 +0000)]
ASoC: Handle low measured DC offsets for wm_hubs devices

The DC servo codes are actually signed numbers so need to be treated as
such.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Cc: stable@kernel.org
13 years agoASoC: da8xx/omap-l1xx: match codec_name with i2c ids
Rajashekhara, Sudhakar [Fri, 21 Jan 2011 14:40:01 +0000 (20:10 +0530)]
ASoC: da8xx/omap-l1xx: match codec_name with i2c ids

The codec_name entry for da8xx evm in sound/soc/davinci/davinci-evm.c
is not matching with the i2c ids in the board file. Without this fix the
soundcard does not get detected on da850/omap-l138/am18x evm.

Signed-off-by: Rajashekhara, Sudhakar <sudhakar.raj@ti.com>
Tested-by: Dan Sharon <dansharon@nanometrics.ca>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org (for 2.6.37)
13 years agoASoC: wm8903: Expose GPIOs through gpiolib
Stephen Warren [Thu, 20 Jan 2011 20:52:08 +0000 (13:52 -0700)]
ASoC: wm8903: Expose GPIOs through gpiolib

Also, update platform_data GPIO handling to have an explicit "don't
touch this pin" option.

Add #defines for the GPIO pin functions.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Staticise twl6040_hs_jack_report()
Mark Brown [Thu, 20 Jan 2011 21:43:44 +0000 (21:43 +0000)]
ASoC: Staticise twl6040_hs_jack_report()

It's an internal function so shouldn't be exported (as sparse points
out).

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: soc-cache: Apply the cache_bypass option
Dimitris Papastamos [Wed, 19 Jan 2011 14:53:37 +0000 (14:53 +0000)]
ASoC: soc-cache: Apply the cache_bypass option

Incorporate the use of the cache_bypass functionality in the
syncing functions.  The snd_soc_flat_cache_sync() need not be
hooked as there is no performance benefit from using the
cache_bypass option.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: soc-cache: Introduce the cache_bypass option
Dimitris Papastamos [Wed, 19 Jan 2011 14:53:36 +0000 (14:53 +0000)]
ASoC: soc-cache: Introduce the cache_bypass option

This is primarily needed to avoid writing back to the cache
whenever we are syncing the cache with the hardware.  This gives a
performance benefit especially for large register maps.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-2.6.38' into for-2.6.39
Mark Brown [Wed, 19 Jan 2011 14:50:22 +0000 (14:50 +0000)]
Merge branch 'for-2.6.38' into for-2.6.39

13 years agoASoC: WM8994: fix wrong value in tristate function
Qiao Zhou [Wed, 19 Jan 2011 11:10:47 +0000 (19:10 +0800)]
ASoC: WM8994: fix wrong value in tristate function

fix wrong value in wm8994_set_tristate func. when updating reg bits,
it should use "value", not "reg".

Signed-off-by: Qiao Zhou <zhouqiao@marvell.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
13 years agoASoC: WM8995: Fix incorrect use of snd_soc_update_bits()
Dimitris Papastamos [Wed, 19 Jan 2011 12:55:28 +0000 (12:55 +0000)]
ASoC: WM8995: Fix incorrect use of snd_soc_update_bits()

In the wm8995_set_tristate() function when updating the register
bits use the value and not the register index as the value argument.

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>
Cc: stable@kernel.org
13 years agoASoC: Provide per widget type callback when executing DAPM sequences
Mark Brown [Tue, 18 Jan 2011 16:14:44 +0000 (16:14 +0000)]
ASoC: Provide per widget type callback when executing DAPM sequences

Many modern devices have features such as DC servos which take time to start.
Currently these are handled by per-widget events but this makes it difficult
to paralleise operations on multiple widgets, meaning delays can end up
being needlessly serialised. By providing a callback to drivers when all
widgets of a given type have been handled during a DAPM sequence the core
allows drivers to start operations separately and wait for them to complete
much more simply.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Add support for sequencing within
Mark Brown [Sat, 15 Jan 2011 13:40:50 +0000 (13:40 +0000)]
ASoC: Add support for sequencing within

With larger devices there may be many widgets of the same type in series
in an audio path. Allow drivers to specify an additional level of ordering
within each widget type by adding a subsequence number to widgets and then
splitting operations on widgets so that widgets of the same type but
different sequence numbers are processed separately.  A typical example
would be a supply widget which requires that another widget be enabled
to provide power or clocking.

SND_SOC_DAPM_PGA_S() and SND_SOC_DAPM_SUPPLY_S() macros are provided
allowing this to be used with PGAs and supplies as these are the most
commonly affected widgets.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Explicitly say if we're powering up or down
Mark Brown [Sat, 15 Jan 2011 13:14:30 +0000 (13:14 +0000)]
ASoC: Explicitly say if we're powering up or down

Rather than passing the sequence to use for DAPM widgets around by reference
explicitly say if we're powering up or down until the point where we need
the sequence itself. This should make no practical difference in itself but
supports future refactoring.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: sst_platform porting sst dsp driver interface as per latest in Greg's staging...
Harsha Priya [Tue, 11 Jan 2011 09:20:59 +0000 (14:50 +0530)]
ASoC: sst_platform porting sst dsp driver interface as per latest in Greg's staging tree

The interface between sst platform driver and intel sst dsp driver
have been changed in Greg's staging tree - next branch

This patch adds the interface changes compatible with the new interface
in Greg's staging tree

Signed-off-by: Harsha Priya <priya.harsha@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-2.6.38' into for-2.6.39
Mark Brown [Wed, 19 Jan 2011 11:22:54 +0000 (11:22 +0000)]
Merge branch 'for-2.6.38' into for-2.6.39

13 years agoMerge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Mark Brown [Wed, 19 Jan 2011 11:17:12 +0000 (11:17 +0000)]
Merge branch 'for-2.6.38' of git://git./linux/kernel/git/broonie/sound-2.6 into for-2.6.38

13 years agoLinux 2.6.38-rc1
Linus Torvalds [Tue, 18 Jan 2011 23:14:02 +0000 (15:14 -0800)]
Linux 2.6.38-rc1

13 years agoMerge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groec...
Linus Torvalds [Tue, 18 Jan 2011 22:30:00 +0000 (14:30 -0800)]
Merge branch 'hwmon-for-linus' of git://git./linux/kernel/git/groeck/staging

* 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging:
  hwmon: (lm93) Add support for LM94

13 years agoMerge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Tue, 18 Jan 2011 22:29:37 +0000 (14:29 -0800)]
Merge branch 'perf-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  perf: Validate cpu early in perf_event_alloc()
  perf: Find_get_context: fix the per-cpu-counter check
  perf: Fix contexted inheritance