pandora-kernel.git
13 years agoASoC: Automatically assign the default readable()/volatile() functions
Dimitris Papastamos [Thu, 13 Jan 2011 12:20:38 +0000 (12:20 +0000)]
ASoC: Automatically assign the default readable()/volatile() functions

Ensure that all calls to readable_register()/volatile_register() go via
the snd_soc_codec function pointers.

If the default register access table has been given but no functions
for handling readable()/volatile() registers, use the default ones provided
by soc-cache.

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: Update users of readable_register()/volatile_register()
Dimitris Papastamos [Thu, 13 Jan 2011 12:20:37 +0000 (12:20 +0000)]
ASoC: Update users of readable_register()/volatile_register()

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: Add support for default readable()/volatile() functions
Dimitris Papastamos [Thu, 13 Jan 2011 12:20:36 +0000 (12:20 +0000)]
ASoC: soc-cache: Add support for default readable()/volatile() functions

For common scenarios, device drivers can provide a table of all the
registers that are at least either readable/writable/volatile.  The idea
is that if a register lookup fails, all of its read/write/vol members
will be zero and will be treated as default.  This also reduces the
size of the register access array.

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 [Thu, 13 Jan 2011 13:58:23 +0000 (13:58 +0000)]
Merge branch 'for-2.6.38' into for-2.6.39

13 years agoASoC: documentation updates
Seungwhan Youn [Thu, 13 Jan 2011 02:08:21 +0000 (11:08 +0900)]
ASoC: documentation updates

This patch is only for RFC purpose of ASoC documentation updates which
match with current ASoC codes with documents. Mostly modify features
are modified to be sync with changes after multi-component patches.

Signed-off-by: Seungwhan Youn <sw.youn@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: sh: fsi-ak4642: fixup platform device id
Kuninori Morimoto [Wed, 12 Jan 2011 06:32:07 +0000 (15:32 +0900)]
ASoC: sh: fsi-ak4642: fixup platform device id

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: soc-cache: Add reg_size as a member to snd_soc_codec
Dimitris Papastamos [Wed, 12 Jan 2011 10:38:58 +0000 (10:38 +0000)]
ASoC: soc-cache: Add reg_size as a member to snd_soc_codec

Simplify the use of reg_size, by calculating it once and storing it in
the codec structure for later reference.  The value of reg_size is
reg_cache_size * reg_word_size.

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: Ensure flat compression uses a copy of the defaults cache
Dimitris Papastamos [Wed, 12 Jan 2011 10:22:28 +0000 (10:22 +0000)]
ASoC: soc-cache: Ensure flat compression uses a copy of the defaults cache

With the addition of the cache fallback functionality, it is necessary
to ensure that if the register defaults cache was marked as __devinitconst
and the LZO compression is not compiled in the kernel, the fallback to
flat compression will still use a copy of the defaults cache.

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' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Takashi Iwai [Wed, 12 Jan 2011 11:26:24 +0000 (12:26 +0100)]
Merge branch 'for-2.6.38' of git://git./linux/kernel/git/broonie/sound-2.6 into topic/asoc

13 years agoMerge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc...
Takashi Iwai [Wed, 12 Jan 2011 06:20:30 +0000 (07:20 +0100)]
Merge branch 'for-2.6.38' of git://git./linux/kernel/git/lrg/asoc-2.6 into topic/asoc

13 years agoASoC: tpa6130a2: Fix compiler warning
Peter Ujfalusi [Tue, 28 Dec 2010 09:16:19 +0000 (11:16 +0200)]
ASoC: tpa6130a2: Fix compiler warning

sound/soc/codecs/tpa6130a2.c: In function 'tpa6130a2_add_controls':
sound/soc/codecs/tpa6130a2.c:342: warning: unused variable 'dapm'

Introduced by commit 39646871a47fd8808c08de0ce7d7ca8393af2805 ("ASoC:
tpa6130a2: Replace DAPM code with direct interface").

The DAPM code has been removed from the driver, but the
dapm struct remained.

Signed-off-by: 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 agoASoC: tlv320dac33: Add DAPM selection for LOM invert
Peter Ujfalusi [Mon, 10 Jan 2011 13:39:49 +0000 (15:39 +0200)]
ASoC: tlv320dac33: Add DAPM selection for LOM invert

The L/R LOM line can be invertined side of the
corresponding DAC, or inverted from the corresponding
LOP.
Add control for user space to select the source of the
LOM inversion.
When only the analog bypass is enabled, and the LOM
is inverted from DAC output, we need to power the
corresponding DAC.

Signed-off-by: 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 agoASoC: DMIC codec: Adding a generic DMIC codec
David Lambert [Thu, 6 Jan 2011 14:00:37 +0000 (08:00 -0600)]
ASoC: DMIC codec: Adding a generic DMIC codec

This codec is to be used by the DMIC driver to
control the DMIC codec.  This driver will be used on future
implementations of the DMIC driver to support codec specific
features.

At this time, the codec driver just registers the codec DAI.

Signed-off-by: David Lambert <dlambert@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Fix indentation in soc_remove()
Mark Brown [Mon, 10 Jan 2011 19:06:08 +0000 (19:06 +0000)]
ASoC: Fix indentation in soc_remove()

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: soc-core: Simplify compress_type overriding functionality
Dimitris Papastamos [Tue, 11 Jan 2011 11:43:51 +0000 (11:43 +0000)]
ASoC: soc-core: Simplify compress_type overriding functionality

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: Clean up the cache manipulation code
Dimitris Papastamos [Tue, 11 Jan 2011 11:29:49 +0000 (11:29 +0000)]
ASoC: soc-cache: Clean up the cache manipulation code

Use Takashi's clean up code to make the cache manipulation code more
readable.

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: Fix invalid memory access during snd_soc_lzo_cache_sync()
Dimitris Papastamos [Tue, 11 Jan 2011 11:24:02 +0000 (11:24 +0000)]
ASoC: soc-cache: Fix invalid memory access during snd_soc_lzo_cache_sync()

The size of the lzo syncing bitmap was incorrectly set to the size
of the cache times the word size, however, the correct size is the
size of the cache.

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: Fix section mismatch in wm8995.c
Takashi Iwai [Tue, 11 Jan 2011 16:58:26 +0000 (17:58 +0100)]
ASoC: Fix section mismatch in wm8995.c

__devinitconst can't be used for data referred in driver struct.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoASoC: SAMSUNG: Clean-up header includes
Seungwhan Youn [Mon, 10 Jan 2011 22:26:06 +0000 (07:26 +0900)]
ASoC: SAMSUNG: Clean-up header includes

This patch remove including unnecessary/duplicated headers which relative
with Samsung SoCs.

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>
13 years agoASoC: let snd_soc_update_bits() return an error code
Timur Tabi [Mon, 10 Jan 2011 21:58:13 +0000 (15:58 -0600)]
ASoC: let snd_soc_update_bits() return an error code

Update snd_soc_update_bits() so that it returns a negative error code if the
the read or write operation fails.

Note that currently, a lot of the lower-level read functions have an unsigned
integer return type (and some of them even try to return a negative number),
but this code still appears to work in those cases.

An examination of the code shows that all current callers are compatible with
this change.

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>
13 years agoASoC: WM8995: Remember to flush the cache on resume
Dimitris Papastamos [Tue, 11 Jan 2011 09:28:32 +0000 (09:28 +0000)]
ASoC: WM8995: Remember to flush the cache on resume

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: sst_platform created helper functions
Harsha Priya [Tue, 11 Jan 2011 09:20:35 +0000 (14:50 +0530)]
ASoC: sst_platform created helper functions

Few funtions can be modularized in this driver to make them look cleaner
like managing the stream status with locks and filling pcm parameters.

This patch adds helper functions to do the same.

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: fix migor audio build
Guennadi Liakhovetski [Tue, 11 Jan 2011 07:34:52 +0000 (08:34 +0100)]
ASoC: fix migor audio build

Commit 6d803ba736abb5e122dede70a4720e4843dd6df4 "ARM: 6483/1: arm & sh:
factorised duplicated clkdev.c" broke compilation of migor audio. Use the
correct header to fix the problem.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: cs4270: use the built-in register cache support
Timur Tabi [Mon, 10 Jan 2011 19:28:32 +0000 (13:28 -0600)]
ASoC: cs4270: use the built-in register cache support

Update the CS4270 driver to use ASoC's internal codec register cache feature.
This change allows ASoC to perform the low-level I2C operations necessary to
read the register cache.  Support is also added for initializing the register
cache with an array of known power-on default values.

The CS4270 driver was handling the register cache itself, but somwhere along
the conversion to multi-compaonent, this feature broke.

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>
13 years agoASoC: Update name of debugfs root symbol to snd_soc_
Mark Brown [Mon, 10 Jan 2011 22:25:21 +0000 (22:25 +0000)]
ASoC: Update name of debugfs root symbol to snd_soc_

Everything else is using snd_soc_ so we should use it here too.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: tegra: Kconfig and Makefile
Stephen Warren [Sat, 8 Jan 2011 05:36:17 +0000 (22:36 -0700)]
ASoC: tegra: Kconfig and Makefile

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 machine support
Stephen Warren [Sat, 8 Jan 2011 05:36:16 +0000 (22:36 -0700)]
ASoC: tegra: Harmony machine support

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: Machine utility code
Stephen Warren [Sat, 8 Jan 2011 05:36:15 +0000 (22:36 -0700)]
ASoC: tegra: Machine utility code

Many portions of Tegra ASoC machine drivers will be similar or identical.
To avoid cut/paste, this file will act as a repository for all that common
code. For now, it solely includes code to reprogram the audio PLL for
44.1KHz- vs. 48KHz-based sample rates.

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: Add tegra-i2s driver
Stephen Warren [Sat, 8 Jan 2011 05:36:14 +0000 (22:36 -0700)]
ASoC: tegra: Add tegra-i2s driver

This provides an ASoC DAI interface for Tegra's I2S controller.

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: Add tegra-pcm driver
Stephen Warren [Sat, 8 Jan 2011 05:36:13 +0000 (22:36 -0700)]
ASoC: tegra: Add tegra-pcm driver

This provides an ASoC platform driver that manages Tegra's APB DMA
controller.

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: Add tegra-das driver
Stephen Warren [Sat, 8 Jan 2011 05:36:12 +0000 (22:36 -0700)]
ASoC: tegra: Add tegra-das driver

The DAS (Digital Audio Switch) is a mux/crossbar which sits between
the DACs (Digital Audio Controllers) and the DAPs (Digital Audio
Ports). Audio data may be routed between DACs and DAPs in various
combinations as required by board design/application.

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: Export debugfs root dentry
Stephen Warren [Sat, 8 Jan 2011 05:36:11 +0000 (22:36 -0700)]
ASoC: Export debugfs root dentry

A couple Tegra ASoC drivers will create debugfs entries. Mark requested
these by under debugfs/asoc/ not just debugfs/. To enable this, export
the dentry representing debugfs/asoc/.

Also, rename debugfs_root -> asoc_debugfs_root now it's exported to
prevent potential symbol name clashes.

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: Add support for NULL default register caches
Dimitris Papastamos [Mon, 10 Jan 2011 10:10:56 +0000 (10:10 +0000)]
ASoC: soc-core: Add support for NULL default register caches

The infrastructure for handling NULL default register maps is already
included in the soc-cache code, just ensure that we don't try to dereference
a NULL pointer while accessing a NULL register cache.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Timur Tabi <timur@freescale.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: RX1950: Enable Mic Jack during glue driver init
Vasily Khoruzhick [Thu, 6 Jan 2011 20:15:49 +0000 (22:15 +0200)]
ASoC: RX1950: Enable Mic Jack during glue driver init

Enable Mic Jack during glue driver init, otherwise capture will not work.

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.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>
13 years agoASoC: Taint the kernel if debugfs is used to write directly to CODECs
Mark Brown [Thu, 6 Jan 2011 16:04:57 +0000 (16:04 +0000)]
ASoC: Taint the kernel if debugfs is used to write directly to CODECs

Since direct register writes may confuse the drivers and are supposed
to be used only in diagnostic situations discourage their use in
production by tainting the kernel when we do a write.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: SAMSUNG: Move PCM specific definitions into pcm.c
Seungwhan Youn [Fri, 7 Jan 2011 04:57:23 +0000 (13:57 +0900)]
ASoC: SAMSUNG: Move PCM specific definitions into pcm.c

This patch moves PCM specific definitions, they doesn't need to be
shared, into 'pcm.c' from 'pcm.h'.

Signed-off-by: Seungwhan Youn <sw.youn@samsung.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: SAMSUNG: Clean-up DMA header file
Seungwhan Youn [Fri, 7 Jan 2011 04:51:26 +0000 (13:51 +0900)]
ASoC: SAMSUNG: Clean-up DMA header file

This patch moves DMA specific definitions, they doesn't need to be
shared, into 'dma.c' from 'dma.h'. And remove unnecessery definitions
on 'dma.h'.

Signed-off-by: Seungwhan Youn <sw.youn@samsung.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: SAMSUNG: Remove AC97 header file
Seungwhan Youn [Fri, 7 Jan 2011 04:46:52 +0000 (13:46 +0900)]
ASoC: SAMSUNG: Remove AC97 header file

This patch moves AC97 specific definitions, they doesn't need to be shared,
into 'ac97.c' from 'ac97.h'. This patch also remove header file, 'ac97.h',
and remove includes on machine drivers.

Signed-off-by: Seungwhan Youn <sw.youn@samsung.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: mid-x86 - remove the flag in makefile
Vinod Koul [Fri, 7 Jan 2011 10:51:12 +0000 (16:21 +0530)]
ASoC: mid-x86 - remove the flag in makefile

previous commit e62255f2adf2 introduced DDEBUG flag in Makefile
This causes all debug statemenets to be ON.

This patch removes this flag

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 - fix the style inconsistency
Vinod Koul [Fri, 7 Jan 2011 10:50:56 +0000 (16:20 +0530)]
ASoC: sst platform - fix the style inconsistency

this patch fixes the style inconsistency by removing empty space in MODULE_ALIAS
also removes a redundant return statement

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 fix the code style and format inconsistencies
Vinod Koul [Fri, 7 Jan 2011 10:50:28 +0000 (16:20 +0530)]
ASoC: sn95031 fix the code style and format inconsistencies

this patch fixes inconsistencies commented by Mark.
This also fixes few other style things in audio_map & header file

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 v2: Add makefiles and kconfigs changes
Vinod Koul [Tue, 4 Jan 2011 14:47:04 +0000 (20:17 +0530)]
ASoC: sst v2: Add makefiles and kconfigs changes

This patch adds the makefile and kconfig changes for mid asoc drivers:
platform and machine driver which are introduced in 2 preceeding patches

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 v2: Add medfield machine driver
Vinod Koul [Tue, 4 Jan 2011 14:46:50 +0000 (20:16 +0530)]
ASoC sst v2: Add medfield machine driver

This patch adds the medfield machine driver
Machine driver glues the sn95031 codec driver and sst_platform driver to form the asoc sound driver

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 v2: Add mid platform driver
Vinod Koul [Tue, 4 Jan 2011 14:46:32 +0000 (20:16 +0530)]
ASoC: sst v2: Add mid platform driver

This patch adds the platform driver for mid asoc drivers.  This platfrom
driver sends commands to sst dsp engine driver for the dai operations.
For this purpose it depends on intel_sst driver which is currently in
staging tree

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 v2: Add sn95031 codec driver
Vinod Koul [Tue, 4 Jan 2011 14:46:07 +0000 (20:16 +0530)]
ASoC: sst v2: Add sn95031 codec driver

This patch adds the sn95031 asoc codec driver. This driver currently
supports only playback.  Capture and jack detection to 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: Fix the device references to codec and platform drivers
Harsha Priya [Wed, 5 Jan 2011 06:04:51 +0000 (11:34 +0530)]
ASoC: Fix the device references to codec and platform drivers

The soc-core takes the platform and codec driver reference during probe. Few of
these references are not released during remove. This cause the platform and
codec driver module unload to fail.

This patch fixes by the taking only one reference to platform and codec module
during probe and releases them correctly during remove. This allows load/unload
properly

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: Remove needless inclusion of tlv320aic3x.h from machine drivers
Jarkko Nikula [Wed, 5 Jan 2011 10:05:44 +0000 (12:05 +0200)]
ASoC: Remove needless inclusion of tlv320aic3x.h from machine drivers

After multi-component conversion these machine drivers don't actually need
anything from sound/soc/codecs/tlv320aic3x.h so don't include it.

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 agoMerge branch 'for-2.6.37' into for-2.6.38
Mark Brown [Wed, 5 Jan 2011 10:06:55 +0000 (10:06 +0000)]
Merge branch 'for-2.6.37' into for-2.6.38

Conflicts:
sound/soc/samsung/smartq_wm8987.c

13 years agoASoC: Fix SmartQ compilation
Maurus Cuelenaere [Sun, 2 Jan 2011 19:48:23 +0000 (20:48 +0100)]
ASoC: Fix SmartQ compilation

This makes the SmartQ sound driver compile again with recent ASoC changes.

Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Change Samsung Kconfig from ASOC_ to SND_SOC_
Mark Brown [Sun, 2 Jan 2011 14:07:46 +0000 (14:07 +0000)]
ASoC: Change Samsung Kconfig from ASOC_ to SND_SOC_

The rest of ASoC is using SND_SOC_ as the prefix for all the Kconfig
symbols so do so for the new Samsung drivers too, rather than using
ASOC_ as they currently are.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Seungwhan Youn <sw.youn@samsung.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: sh: fsi-da7210: remove unnecessary format settings
Kuninori Morimoto [Tue, 28 Dec 2010 05:55:45 +0000 (14:55 +0900)]
ASoC: sh: fsi-da7210: remove unnecessary format settings

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agofbdev: sh_mobile_hdmi: fixup compile error
Kuninori Morimoto [Mon, 27 Dec 2010 04:42:20 +0000 (13:42 +0900)]
fbdev: sh_mobile_hdmi: fixup compile error

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Yet more x86 tracepoint workarounds
Mark Brown [Wed, 29 Dec 2010 13:05:21 +0000 (13:05 +0000)]
ASoC: Yet more x86 tracepoint workarounds

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-2.6.37' into for-2.6.38
Mark Brown [Tue, 28 Dec 2010 23:42:53 +0000 (23:42 +0000)]
Merge branch 'for-2.6.37' into for-2.6.38

13 years agoASoC: codecs: Remove unused reg_cache fields from device structs
Lars-Peter Clausen [Tue, 28 Dec 2010 20:37:55 +0000 (21:37 +0100)]
ASoC: codecs: Remove unused reg_cache fields from device structs

The multi-component patch(commit f0fba2ad1) moved the allocation of the
register cache from the driver to the ASoC core. Most drivers where adjusted to
this, but there are quite a few drivers left which now have an unused reg_cache field in
their private device struct.
This patch removes these unused fields.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: codecs: wm8753: Fix register cache incoherency
Lars-Peter Clausen [Tue, 28 Dec 2010 20:38:03 +0000 (21:38 +0100)]
ASoC: codecs: wm8753: Fix register cache incoherency

The multi-component patch(commit f0fba2ad1) moved the allocation of the
register cache from the driver to the ASoC core. Most drivers where adjusted to
this, but the wm8753 driver still uses its own register cache for its
private functions, while functions from the ASoC core use the generic cache.
Furthermore the generic cache uses zero-based numbering while the wm8753 cache
uses one-based numbering.
Thus we end up with two from each other incoherent caches, which leads to undefined
behaviour and crashes.
This patch fixes the issue by changing the wm8753 driver to use the generic
register cache in its private functions.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: codecs: wm9090: Fix register cache incoherency
Lars-Peter Clausen [Tue, 28 Dec 2010 20:38:02 +0000 (21:38 +0100)]
ASoC: codecs: wm9090: Fix register cache incoherency

The multi-component patch(commit f0fba2ad1) moved the allocation of the
register cache from the driver to the ASoC core. Most drivers where adjusted to
this, but the wm9090 driver still uses its own register cache for its
private functions, while functions from the ASoC core use the generic cache.
Thus we end up with two from each other incoherent caches, which can lead to
undefined behaviour.
This patch fixes the issue by changing the wm9090 driver to use the
generic register cache in its private functions.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org (for 2.6.37 only)
13 years agoASoC: codecs: wm8962: Fix register cache incoherency
Lars-Peter Clausen [Tue, 28 Dec 2010 20:38:01 +0000 (21:38 +0100)]
ASoC: codecs: wm8962: Fix register cache incoherency

The multi-component patch(commit f0fba2ad1) moved the allocation of the
register cache from the driver to the ASoC core. Most drivers where adjusted to
this, but the wm8962 driver still uses its own register cache for its
private functions, while functions from the ASoC core use the generic cache.
Thus we end up with two from each other incoherent caches, which can lead to
undefined behaviour.
This patch fixes the issue by changing the wm8962 driver to use the
generic register cache in its private functions.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org (for 2.6.37 only)
13 years agoASoC: codecs: wm8955: Fix register cache incoherency
Lars-Peter Clausen [Tue, 28 Dec 2010 20:38:00 +0000 (21:38 +0100)]
ASoC: codecs: wm8955: Fix register cache incoherency

The multi-component patch(commit f0fba2ad1) moved the allocation of the
register cache from the driver to the ASoC core. Most drivers where adjusted to
this, but the wm8955 driver still uses its own register cache for its
private functions, while functions from the ASoC core use the generic cache.
Thus we end up with two from each other incoherent caches, which can lead to
undefined behaviour.
This patch fixes the issue by changing the wm8955 driver to use the
generic register cache in its private functions.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org (for 2.6.37 only)
13 years agoASoC: codecs: wm8904: Fix register cache incoherency
Lars-Peter Clausen [Tue, 28 Dec 2010 20:37:59 +0000 (21:37 +0100)]
ASoC: codecs: wm8904: Fix register cache incoherency

The multi-component patch(commit f0fba2ad1) moved the allocation of the
register cache from the driver to the ASoC core. Most drivers where adjusted to
this, but the wm8904 driver still uses its own register cache for its
private functions, while functions from the ASoC core use the generic cache.
Thus we end up with two from each other incoherent caches, which can lead to
undefined behaviour.
This patch fixes the issue by changing the wm8904 driver to use the
generic register cache in its private functions.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: Ian Lartey <ian@opensource.wolfsonmicro.com>
Cc: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org (for 2.6.37 only)
13 years agoASoC: codecs: wm8741: Fix register cache incoherency
Lars-Peter Clausen [Tue, 28 Dec 2010 20:37:58 +0000 (21:37 +0100)]
ASoC: codecs: wm8741: Fix register cache incoherency

The multi-component patch(commit f0fba2ad1) moved the allocation of the
register cache from the driver to the ASoC core. Most drivers where adjusted to
this, but the wm8741 driver still uses its own register cache for its
private functions, while functions from the ASoC core use the generic cache.
Thus we end up with two from each other incoherent caches, which can lead to
undefined behaviour.
This patch fixes the issue by changing the wm8741 driver to use the
generic register cache in its private functions.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: Ian Lartey <ian@opensource.wolfsonmicro.com>
Cc: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org (for 2.6.37 only)
13 years agoASoC: codecs: wm8523: Fix register cache incoherency
Lars-Peter Clausen [Tue, 28 Dec 2010 20:37:57 +0000 (21:37 +0100)]
ASoC: codecs: wm8523: Fix register cache incoherency

The multi-component patch(commit f0fba2ad1) moved the allocation of the
register cache from the driver to the ASoC core. Most drivers where adjusted to
this, but the wm8523 driver still uses its own register cache for its
private functions, while functions from the ASoC core use the generic cache.
Thus we end up with two from each other incoherent caches, which can lead to
undefined behaviour.
This patch fixes the issue by changing the wm8523 driver to use the
generic register cache in its private functions.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: Ian Lartey <ian@opensource.wolfsonmicro.com>
Cc: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org (for 2.6.37 only)
13 years agoASoC: codecs: max98088: Fix register cache incoherency
Lars-Peter Clausen [Tue, 28 Dec 2010 20:37:56 +0000 (21:37 +0100)]
ASoC: codecs: max98088: Fix register cache incoherency

The multi-component patch(commit f0fba2ad1) moved the allocation of the
register cache from the driver to the ASoC core. Most drivers where adjusted to
this, but the max98088 driver still uses its own register cache for its
private functions, while functions from the ASoC core use the generic cache.
Thus we end up with two from each other incoherent caches, which can lead to
undefined behaviour.
This patch fixes the issue by changing the max98088 driver to use the
generic register cache in its private functions.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: Peter Hsiang <Peter.Hsiang@maxim-ic.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org (for 2.6.37 only)
13 years agoASoC: codecs: Add missing control_type initialization
Lars-Peter Clausen [Tue, 28 Dec 2010 20:08:57 +0000 (21:08 +0100)]
ASoC: codecs: Add missing control_type initialization

Some codec drivers do not initialize the control_type field in their private
device struct, but still use it when calling snd_soc_codec_set_cache_io.
This patch fixes the issue by properly initializing it in the drivers probe
functions.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org (for 2.6.37 only)
13 years agoASoC: One more x86 typo fix
Mark Brown [Tue, 28 Dec 2010 02:14:25 +0000 (02:14 +0000)]
ASoC: One more x86 typo fix

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'topic/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai...
Mark Brown [Mon, 27 Dec 2010 17:51:52 +0000 (17:51 +0000)]
Merge branch 'topic/asoc' of git://git./linux/kernel/git/tiwai/sound-2.6 into for-2.6.38

13 years agoASoC: Fix double comment start
Mark Brown [Fri, 24 Dec 2010 16:59:36 +0000 (16:59 +0000)]
ASoC: Fix double comment start

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Fix typo in x86 workaround
Mark Brown [Mon, 27 Dec 2010 15:30:45 +0000 (15:30 +0000)]
ASoC: Fix typo in x86 workaround

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Remove WM8995 write sequencer bitfield definitions
Mark Brown [Thu, 23 Dec 2010 12:03:07 +0000 (12:03 +0000)]
ASoC: Remove WM8995 write sequencer bitfield definitions

They're very verbose and extremely repetitive so bulk up the kernel more
than is ideal. If required we can readd with WRITE_SEQUENCER_n type
definitions that cover the entire register bank in a few defines.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Remove incorrect WM8903 erratum workaround
Mark Brown [Thu, 23 Dec 2010 11:17:24 +0000 (11:17 +0000)]
ASoC: Remove incorrect WM8903 erratum workaround

Due to a typographical error in the erratum workaround it was never
functional so just remove it.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: tlv320dac33: Add 32/24 bit audio support
Peter Ujfalusi [Wed, 22 Dec 2010 08:45:18 +0000 (10:45 +0200)]
ASoC: tlv320dac33: Add 32/24 bit audio support

Add support for 24 bit audio (with S32_LE msbits 24).
The reason to limit the msbits to 24, is that the FIFO
can be configured for 16 or 24 bit layout.
It is unknown how the codec would downsample from 32 to
24 bit, if the interface is configured to receive 32
bit data.

Signed-off-by: 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 agoASoC: tlv320dac33: Some cleanup for 32/24 bit support
Peter Ujfalusi [Wed, 22 Dec 2010 08:45:17 +0000 (10:45 +0200)]
ASoC: tlv320dac33: Some cleanup for 32/24 bit support

Change the structure of FIFO handling in order to
pave the way for adding 32/24 bit audio support.

Signed-off-by: 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 agoASoC: tlv320dac33: Remove manual FIFO configuration
Peter Ujfalusi [Wed, 22 Dec 2010 08:45:16 +0000 (10:45 +0200)]
ASoC: tlv320dac33: Remove manual FIFO configuration

The manual FIFO configuration was the first version to enable
the use of the FIFO in the codec.
It had served it's purpose as debugging aid, but the automatic
FIFO configuration is much safer to use.
The removal of the manual controls, and configuration makes
it easier to add new features for the codec later, since
the manual mode neded different ways to calculate, and
protect against misconfiguration.

Signed-off-by: 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 agoASoC: twl6040: Convert HF and HS drivers to use DAPM OUT_DRV widget
Olaya, Margarita [Mon, 20 Dec 2010 16:39:20 +0000 (10:39 -0600)]
ASoC: twl6040: Convert HF and HS drivers to use DAPM OUT_DRV widget

Make the phoenix HS and HF drivers use the new DAPM driver
widget in order to guarantee power ON/OFF order sequence.

Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: mcbsp: Add McBSP support for OMAP4
Jorge Eduardo Candelaria [Mon, 20 Dec 2010 17:32:47 +0000 (11:32 -0600)]
ASoC: mcbsp: Add McBSP support for OMAP4

This patch adds McBSP support for the OMAP4 CPU

Signed-off-by: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoMerge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Takashi Iwai [Thu, 23 Dec 2010 12:39:59 +0000 (13:39 +0100)]
Merge branch 'for-2.6.38' of git://git./linux/kernel/git/broonie/sound-2.6 into topic/asoc

13 years agoASoC: ifdef out trace points from modules for x86
Mark Brown [Thu, 23 Dec 2010 01:56:20 +0000 (01:56 +0000)]
ASoC: ifdef out trace points from modules for x86

No idea why this works on ARM but not x86.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Add initial WM8995 driver
Dimitris Papastamos [Wed, 22 Dec 2010 11:33:11 +0000 (11:33 +0000)]
ASoC: Add initial WM8995 driver

The WM8995 is a digital audio hub CODEC designed for smartphones.
The current driver supports most of the basic functionality of the
WM8995.

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: don't pass the string as the format arguemtn for dev_info()
Takashi Iwai [Wed, 22 Dec 2010 13:08:40 +0000 (14:08 +0100)]
ASoC: don't pass the string as the format arguemtn for dev_info()

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoASoC: SAMSUNG: Debug wrong parameter
Seungwhan Youn [Wed, 22 Dec 2010 09:46:24 +0000 (18:46 +0900)]
ASoC: SAMSUNG: Debug wrong parameter

snd_soc_jack_new()'s first parameter was changed from snd_soc_card to
snd_soc_codec after Multi-Component support patches. So, this patch
fixes parameter that we missed.

Signed-off-by: Seungwhan Youn <sw.youn@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Add jack IRQ trace to 88pm860x driver
Mark Brown [Sun, 5 Dec 2010 12:53:08 +0000 (12:53 +0000)]
ASoC: Add jack IRQ trace to 88pm860x driver

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Trace Wolfson jack detection IRQs
Mark Brown [Sun, 5 Dec 2010 12:50:12 +0000 (12:50 +0000)]
ASoC: Trace Wolfson jack detection IRQs

Add jack detection interrupt trace to Wolfson CODEC drivers.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Use delayed work to debounce WM8350 jack IRQs
Mark Brown [Sun, 5 Dec 2010 12:41:52 +0000 (12:41 +0000)]
ASoC: Use delayed work to debounce WM8350 jack IRQs

This avoids blocking the IRQ thread and allows further bounces to extend
the debounce time.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: sh: fsi: modify improper dependent
Kuninori Morimoto [Mon, 20 Dec 2010 01:03:13 +0000 (10:03 +0900)]
ASoC: sh: fsi: modify improper dependent

FSI-AK4642 and FSI-DA7210 are depend on I2C, not I2C_SH_MOBILE

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: Make LZO cache compression optional
Mark Brown [Tue, 21 Dec 2010 17:19:56 +0000 (17:19 +0000)]
ASoC: Make LZO cache compression optional

Make LZO cache compression optional as it pulls in the kernel wide LZO
implementation and rbtree compression is generally more efficient for
typical register maps, especially in terms of CPU performance.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: If we can't find a cache compression type default to flat
Mark Brown [Tue, 21 Dec 2010 17:09:48 +0000 (17:09 +0000)]
ASoC: If we can't find a cache compression type default to flat

This makes it easier to make cache types build time configurable as we
don't have a hard dependency on a given cache being built in.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Fix WM8994/58 3D stereo control definitions
Mark Brown [Mon, 20 Dec 2010 14:35:09 +0000 (14:35 +0000)]
ASoC: Fix WM8994/58 3D stereo control definitions

Cut'n'paste in the register names.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Remove some unused defines from WM8903
Mark Brown [Mon, 20 Dec 2010 20:53:25 +0000 (20:53 +0000)]
ASoC: Remove some unused defines from WM8903

These would have been used if we'd done manual clock divider setup,
but we didn't.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: SMDKV310: Add I2S support
Jassi Brar [Mon, 20 Dec 2010 02:05:57 +0000 (11:05 +0900)]
ASoC: SMDKV310: Add I2S support

Add ASoC machine driver for SMDKV310/C210 boards that have
a WM8994 attached to I2S-0.

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>
13 years agoASoC: SMDKV310: Enable AC97 device
Jassi Brar [Mon, 20 Dec 2010 02:05:56 +0000 (11:05 +0900)]
ASoC: SMDKV310: Enable AC97 device

Enable AC97 audio device on SMDKV310/C210.

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>
13 years agoASoC: SMDKC110: Enable I2S device
Jassi Brar [Mon, 20 Dec 2010 02:05:55 +0000 (11:05 +0900)]
ASoC: SMDKC110: Enable I2S device

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>
13 years agoASoC: SMDKV210: Enable I2S device
Jassi Brar [Mon, 20 Dec 2010 02:05:53 +0000 (11:05 +0900)]
ASoC: SMDKV210: Enable I2S device

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>
13 years agoASoC: SMDK6442: Enable I2S device
Jassi Brar [Mon, 20 Dec 2010 02:05:52 +0000 (11:05 +0900)]
ASoC: SMDK6442: Enable I2S device

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>
13 years agoASoC: SMDK6450: Enable I2S device
Jassi Brar [Mon, 20 Dec 2010 02:05:51 +0000 (11:05 +0900)]
ASoC: SMDK6450: Enable I2S device

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>
13 years agoASoC: SMDK6440: Enable I2S device
Jassi Brar [Mon, 20 Dec 2010 02:05:50 +0000 (11:05 +0900)]
ASoC: SMDK6440: Enable I2S device

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>
13 years agoASoC: SMDK_WM8580: Make I2S0 as default dai
Jassi Brar [Mon, 20 Dec 2010 02:05:48 +0000 (11:05 +0900)]
ASoC: SMDK_WM8580: Make I2S0 as default dai

Since most newer SMDKs have I2S0 routed to the WM8580's Primary DAI,
future changes can be minimized if the default CPU DAIs are set to
0, rather than 2.

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>
13 years agoASoC: Samsung: I2S: Flush FIFO after stop
Jassi Brar [Mon, 20 Dec 2010 02:05:47 +0000 (11:05 +0900)]
ASoC: Samsung: I2S: Flush FIFO after stop

Flush the FIFO while stopping the channel rather than starting.
This saves time during stream start and keeps the FIFOs clean
when the channel is idling.

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>
13 years agoASoC: Samsung: Set default rclk source rate
Jassi Brar [Mon, 20 Dec 2010 02:05:46 +0000 (11:05 +0900)]
ASoC: Samsung: Set default rclk source rate

Since the rclk_srcrate is cleared upon startup, it should be
initialized upon second and later 'open' calls to the device
with same root-clock source. The bug is otherwise visible in
Codec-Slave mode.

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>
13 years agoMerge branch 'topic/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai...
Mark Brown [Fri, 17 Dec 2010 17:37:28 +0000 (17:37 +0000)]
Merge branch 'topic/asoc' of git://git./linux/kernel/git/tiwai/sound-2.6 into for-2.6.38

13 years agoASoC: soc-dapm: Introduce the new snd_soc_dapm_virt_mux type
Dimitris Papastamos [Thu, 16 Dec 2010 15:53:39 +0000 (15:53 +0000)]
ASoC: soc-dapm: Introduce the new snd_soc_dapm_virt_mux type

This new type is a virtual version of snd_soc_dapm_mux.  It is used
when a backing register value is not necessary for deciding which
input path to connect.  A simple virtual enumeration control e.g.
SOC_DAPM_ENUM_VIRT() can be exposed to userspace which will be used
to choose which path to connect.

The snd_soc_dapm_virt_mux type ensures that during the initial
path setup, the first (which is also the default) input path will
be connected.

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>