linux-2.6-microblaze.git
14 years agoASoC: davinci-mcasp.c: Return error code in failure
Julia Lawall [Mon, 18 Oct 2010 14:11:13 +0000 (16:11 +0200)]
ASoC: davinci-mcasp.c: Return error code in failure

In this code, 0 is returned on failure, even though other
failures return -ENOMEM or other similar values.

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

// <smpl>
@a@
identifier alloc;
identifier ret;
constant C;
expression x;
@@

x = alloc(...);
if (x == NULL) { <+... \(ret = -C; \| return -C; \) ...+> }

@@
identifier f, a.alloc;
expression ret;
expression x,e1,e2,e3;
@@

ret = 0
... when != ret = e1
*x = alloc(...)
... when != ret = e2
if (x == NULL) { ... when != ret = e3
  return ret;
}
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoRevert "ASoC: Add max98088 CODEC driver"
Mark Brown [Mon, 18 Oct 2010 05:01:33 +0000 (06:01 +0100)]
Revert "ASoC: Add max98088 CODEC driver"

This reverts commit e65d255a5a610ce9e185e0df855250706aca7c21 since it
does not build.

14 years agofbdev: sh_mobile_hdmi: fix compilation without SOUND enabled
Guennadi Liakhovetski [Fri, 15 Oct 2010 06:58:00 +0000 (08:58 +0200)]
fbdev: sh_mobile_hdmi: fix compilation without SOUND enabled

At least two more Kconfig options have to be selected to be able to compile
sh_mobile_hdmi.

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>
14 years agoASoC: Add max98088 CODEC driver
Peter Hsiang [Thu, 14 Oct 2010 03:30:43 +0000 (20:30 -0700)]
ASoC: Add max98088 CODEC driver

This patch adds the MAX98088 CODEC driver.

Signed-off-by: Peter Hsiang <peter.hsiang@maxim-ic.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: ep93xx: add Simplemachines Sim.One AC97 audio support
Mika Westerberg [Thu, 14 Oct 2010 14:49:08 +0000 (17:49 +0300)]
ASoC: ep93xx: add Simplemachines Sim.One AC97 audio support

Add AC97 audio support for Simplemachines Sim.One board.

Signed-off-by: Mika Westerberg <mika.westerberg@iki.fi>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoARM: ep93xx: add AC97 platform support
Mika Westerberg [Thu, 14 Oct 2010 14:49:07 +0000 (17:49 +0300)]
ARM: ep93xx: add AC97 platform support

Add platform support for the EP93xx AC97 controller driver.

Signed-off-by: Mika Westerberg <mika.westerberg@iki.fi>
Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Acked-by: Ryan Mallon <ryan@bluewatersys.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: add ep93xx AC97 audio driver
Mika Westerberg [Thu, 14 Oct 2010 14:49:06 +0000 (17:49 +0300)]
ASoC: add ep93xx AC97 audio driver

Add support for AC97 controllers found in Cirrus Logic EP93xx family SoCs.

Signed-off-by: Mika Westerberg <mika.westerberg@iki.fi>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: ak4642: make sure name of register/value
Kuninori Morimoto [Fri, 15 Oct 2010 05:23:18 +0000 (14:23 +0900)]
ASoC: ak4642: make sure name of register/value

This patch replace magic code with defined name,
and remove unnecessary settings which set default value

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Remove unused vol field from WM8994 access mask table
Joe Perches [Wed, 13 Oct 2010 15:19:51 +0000 (08:19 -0700)]
ASoC: Remove unused vol field from WM8994 access mask table

Remove unused vol from struct access_mask

Reduces object size ~3kb.

$ size sound/soc/codecs/wm8994.o*
   text    data     bss     dec     hex filename
  40727    4384    4480   49591    c1b7 sound/soc/codecs/wm8994.o.new
  43879    4384    4480   52743    ce07 sound/soc/codecs/wm8994.o.old

Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: fsi: simultaneous playback/recorde support
Kuninori Morimoto [Tue, 12 Oct 2010 10:19:28 +0000 (19:19 +0900)]
ASoC: fsi: simultaneous playback/recorde support

Current FSI driver had not cared about simultaneous
playback/capture on same port.
This patch add new fsi_stream struct to care it,

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: SAMSUNG: Add Machine driver for S/PDIF PCM audio
Seungwhan Youn [Tue, 12 Oct 2010 11:58:52 +0000 (20:58 +0900)]
ASoC: SAMSUNG: Add Machine driver for S/PDIF PCM audio

This patch add S/PDIF machine driver to support S/PDIF PCM audio
on SMDKC100, SMDKC110 and SMDKV210 boards.

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>
14 years agoASoC: SAMSUNG: Add S/PDIF CPU driver
Seungwhan Youn [Tue, 12 Oct 2010 11:51:23 +0000 (20:51 +0900)]
ASoC: SAMSUNG: Add S/PDIF CPU driver

This patch adds S/PDIF CPU driver for various Samsung SoCs.

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>
14 years agopowerpc/85xx: add DIU support to the Freecale P1022DS reference board
Timur Tabi [Thu, 7 Oct 2010 09:36:43 +0000 (09:36 +0000)]
powerpc/85xx: add DIU support to the Freecale P1022DS reference board

The Freescale P1022DS has an on-chip video controller called the DIU, and a
driver for this device already exists.  Update the platform file for the
P1022DS reference board to enable the driver, and update the defconfig for
Freescale MPC85xx boards to add the driver.

[Edited to resolve header add/add conflict and drop #define DEBUG.
-- broonie]

Signed-off-by: Timur Tabi <timur@freescale.com>
Acked-by: Kumar Gala <kumar.gala@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Pay attention to driver supplied DAI IDs
Mark Brown [Tue, 12 Oct 2010 14:43:21 +0000 (15:43 +0100)]
ASoC: Pay attention to driver supplied DAI IDs

The driver can specify a DAI ID number so use that.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Check list debugfs files for PAGE_SIZE overflow
Mark Brown [Wed, 13 Oct 2010 09:52:16 +0000 (10:52 +0100)]
ASoC: Check list debugfs files for PAGE_SIZE overflow

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Move soc-core module init next to functon definition
Mark Brown [Tue, 12 Oct 2010 16:41:03 +0000 (17:41 +0100)]
ASoC: Move soc-core module init next to functon definition

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Restore DAI ID specification for WM8994
Mark Brown [Tue, 12 Oct 2010 14:56:09 +0000 (15:56 +0100)]
ASoC: Restore DAI ID specification for WM8994

WM8994 relies on the DAIs having IDs that match the AIF numbers.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Add WM8962 microphone bias control
Mark Brown [Tue, 21 Sep 2010 16:53:38 +0000 (17:53 +0100)]
ASoC: Add WM8962 microphone bias control

We unconditionally require SYSCLK since while only microphone detection
specifically requires SYSCLK any actual use case would enable it via
some other means but microphone detection may have nothing active other
than the bias itself.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: ac97: add MODULE_ALIAS for the platform driver
Mika Westerberg [Wed, 13 Oct 2010 08:30:33 +0000 (11:30 +0300)]
ASoC: ac97: add MODULE_ALIAS for the platform driver

So that modprobe can load the driver automatically when the platform device
appears.

Signed-off-by: Mika Westerberg <mika.westerberg@iki.fi>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: don't register AC97 devices twice
Mika Westerberg [Wed, 13 Oct 2010 08:30:32 +0000 (11:30 +0300)]
ASoC: don't register AC97 devices twice

With generic AC97 ASoC glue driver (codec/ac97.c), we get following warning when
the device is registered (slightly stripped the backtrace):

kobject (c5a863e8): tried to init an initialized object, something is seriously
                    wrong.
[<c00254fc>] (unwind_backtrace+0x0/0xec)
[<c014fad0>] (kobject_init+0x38/0x70)
[<c0171e94>] (device_initialize+0x20/0x70)
[<c017267c>] (device_register+0xc/0x18)
[<bf20db70>] (snd_soc_instantiate_cards+0x924/0xacc [snd_soc_core])
[<bf20e0d0>] (snd_soc_register_platform+0x16c/0x198 [snd_soc_core])
[<c0175304>] (platform_drv_probe+0x18/0x1c)
[<c0174454>] (driver_probe_device+0xb0/0x16c)
[<c017456c>] (__driver_attach+0x5c/0x7c)
[<c0173cec>] (bus_for_each_dev+0x48/0x78)
[<c0173600>] (bus_add_driver+0x98/0x214)
[<c0174834>] (driver_register+0xa4/0x130)
[<c001f410>] (do_one_initcall+0xd0/0x1a4)
[<c0062ddc>] (sys_init_module+0x12b0/0x1454)

This happens because the generic AC97 glue driver creates its codec->ac97 via
calling snd_ac97_mixer(). snd_ac97_mixer() provides own version of
snd_device.register which handles the device registration when
snd_card_register() is called.

To avoid registering the AC97 device twice, we add a new flag to the
snd_soc_codec: ac97_created which tells whether the AC97 device was created by
SoC subsystem.

Signed-off-by: Mika Westerberg <mika.westerberg@iki.fi>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: ac97: don't call snd_soc_new_ac97_codec at probe
Mika Westerberg [Wed, 13 Oct 2010 08:30:31 +0000 (11:30 +0300)]
ASoC: ac97: don't call snd_soc_new_ac97_codec at probe

It is not needed since snd_ac97_mixer() will create a new ac97 object for us.
Removing the call also fixes a memory leak since codec->ac97 is set to NULL at
the beginning of snd_ac97_mixer().

Signed-off-by: Mika Westerberg <mika.westerberg@iki.fi>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Add fsi_is_play function
Kuninori Morimoto [Tue, 12 Oct 2010 09:30:14 +0000 (18:30 +0900)]
ASoC: Add fsi_is_play 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>
14 years agoASoC: fsi: Add new macro and shift for PortA/B In/Out
Kuninori Morimoto [Tue, 12 Oct 2010 02:40:53 +0000 (11:40 +0900)]
ASoC: fsi: Add new macro and shift for PortA/B In/Out

Some FSI register have similar bit array for PortA/B and In/Out.
This patch add new macro and shift for it

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: fsi: avoid un-necessary status read
Kuninori Morimoto [Tue, 12 Oct 2010 02:40:14 +0000 (11:40 +0900)]
ASoC: fsi: avoid un-necessary status read

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: fsi: remove un-necessary variable from fsi_dai_startup
Kuninori Morimoto [Tue, 12 Oct 2010 02:39:50 +0000 (11:39 +0900)]
ASoC: fsi: remove un-necessary variable from fsi_dai_startup

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: fsi: Add fsi_get_frame_width function
Kuninori Morimoto [Tue, 12 Oct 2010 02:39:25 +0000 (11:39 +0900)]
ASoC: fsi: Add fsi_get_frame_width function

It is not so important for now.
But will be used in future.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: ak4642: simultaneous playback/recorde support
Kuninori Morimoto [Tue, 12 Oct 2010 04:39:25 +0000 (13:39 +0900)]
ASoC: ak4642: simultaneous playback/recorde support

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: checking kzalloc() for IS_ERR() instead of NULL
Dan Carpenter [Sat, 9 Oct 2010 19:31:31 +0000 (21:31 +0200)]
ASoC: checking kzalloc() for IS_ERR() instead of NULL

There is a typo here that got copy and pasted to several probe
functions.  kzalloc() returns NULL on allocation failures and not an
ERR_PTR.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Acked-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Compress WM8962 register access map
Mark Brown [Fri, 8 Oct 2010 03:41:04 +0000 (20:41 -0700)]
ASoC: Compress WM8962 register access map

Reduce the source code size still futher by only specifying non-zero
rows in the WM8962 access map.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Shrink code size for WM8962 register defaults table
Mark Brown [Fri, 8 Oct 2010 00:41:04 +0000 (17:41 -0700)]
ASoC: Shrink code size for WM8962 register defaults table

Dramatically reduce the code size for the WM8962 register defaults table
by switching to explicitly initialise only defined registers, relying on
static defaulting to zero for the overwelming bulk of the register map.

Similar treatement for the register access table will come later and will
produce a similarly dramatic code size shrink.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoMerge branch 'for-2.6.36' into for-2.6.37
Mark Brown [Thu, 7 Oct 2010 20:44:20 +0000 (13:44 -0700)]
Merge branch 'for-2.6.36' into for-2.6.37

14 years agoASoC: Staticise CS4270 DAI
Mark Brown [Wed, 6 Oct 2010 23:18:17 +0000 (16:18 -0700)]
ASoC: Staticise CS4270 DAI

It's not needed with multi-component.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Acked-by: Timur Tabi <timur@freescale.com>
14 years agoASoC: Use delayed work for debounce of GPIO based jacks
Mark Brown [Wed, 6 Oct 2010 22:54:28 +0000 (15:54 -0700)]
ASoC: Use delayed work for debounce of GPIO based jacks

Rather than block the workqueue by sleeping to do the debounce use delayed
work to implement the debounce time. This should also means that we extend
the debounce time on each new bounce, potentially allowing shorter debounce
times for clean insertions.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Staticise AD1980 DAI
Mark Brown [Wed, 6 Oct 2010 23:20:07 +0000 (16:20 -0700)]
ASoC: Staticise AD1980 DAI

It doesn't need to be exported with multi-component.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Update links for Wolfson MAINTAINERS entry
Mark Brown [Wed, 6 Oct 2010 02:31:40 +0000 (19:31 -0700)]
ASoC: Update links for Wolfson MAINTAINERS entry

We also have a separate git for audio, and a generic page for all of our
drivers not just the PMICs.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Add Dimitris Papastamos to Wolfson maintainers
Mark Brown [Wed, 6 Oct 2010 02:27:56 +0000 (19:27 -0700)]
ASoC: Add Dimitris Papastamos to Wolfson maintainers

Add Dimitris Papastamos as a contact for Wolfson device drivers.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
14 years agoASoC: remove duplicated include for nuc900
Nicolas Kaiser [Tue, 5 Oct 2010 12:11:40 +0000 (14:11 +0200)]
ASoC: remove duplicated include for nuc900

Remove duplicated include.

Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: sh: fix build error: terminate the platform device ID list
Guennadi Liakhovetski [Tue, 5 Oct 2010 15:54:28 +0000 (17:54 +0200)]
ASoC: sh: fix build error: terminate the platform device ID list

Platform driver ID table must be zero-element terminated.

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>
14 years agoASoC: WM8804: Retrieve the device revision and print it
Dimitris Papastamos [Mon, 4 Oct 2010 15:28:59 +0000 (16:28 +0100)]
ASoC: WM8804: Retrieve the device revision and print it

Be verbose and print out the device revision.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: soc-cache: Add spi_write support for all I/O types
Dimitris Papastamos [Mon, 4 Oct 2010 10:25:13 +0000 (11:25 +0100)]
ASoC: soc-cache: Add spi_write support for all I/O types

Ensure that all drivers that use SPI and I2C will work properly
by providing SPI write functions for all different I/O types.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoMerge branch 'topic/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai...
Mark Brown [Tue, 5 Oct 2010 16:55:56 +0000 (09:55 -0700)]
Merge branch 'topic/asoc' of git://git./linux/kernel/git/tiwai/sound-2.6 into for-2.6.37

14 years agoMerge branch 'for-2.6.37' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Takashi Iwai [Tue, 5 Oct 2010 05:50:11 +0000 (07:50 +0200)]
Merge branch 'for-2.6.37' of git://git./linux/kernel/git/broonie/sound-2.6 into topic/asoc

14 years agoALSA: ASoc: DaVinci Delay start of ASP to trigger
Troy Kisky [Sun, 3 Oct 2010 21:44:19 +0000 (16:44 -0500)]
ALSA: ASoc: DaVinci Delay start of ASP to trigger

Since only 4 mainline ASoC codecs support the trigger
callback, we cannot rely upon them stopping the frame clock
if they are master and must assume it is running even if the
sound is paused. Thus we cannot start the ASP until the trigger
method.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Martin Ambrose <martin@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoomap: devices: Avoid merge conflict between ASoC and OMAP hwmod changes
Jarkko Nikula [Mon, 4 Oct 2010 12:04:53 +0000 (15:04 +0300)]
omap: devices: Avoid merge conflict between ASoC and OMAP hwmod changes

Upcoming ASoC multi-component and OMAP hwmod changes will conflict
in arch/arm/mach-omap2/devices.c. Avoid this by moving a little bit
include statement introduced by ASoC Multi-Component Support patch.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Tony Lindgren <tony@atomide.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: WM8804: Power down the PLL correctly
Dimitris Papastamos [Mon, 4 Oct 2010 08:37:48 +0000 (09:37 +0100)]
ASoC: WM8804: Power down the PLL correctly

The PLL is disabled when the corresponding bit is set not the other
way around.  This commit depends on my other commit with Subject
"ASoC: WM8804: Refactor set_pll code to avoid GCC warnings".

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: WM8804: Refactor set_pll code to avoid GCC warnings
Dimitris Papastamos [Mon, 4 Oct 2010 08:31:42 +0000 (09:31 +0100)]
ASoC: WM8804: Refactor set_pll code to avoid GCC warnings

Ensure that no uninitialised variable warnings are generated by
GCC.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoMerge branch 'for-2.6.37' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc...
Takashi Iwai [Sun, 3 Oct 2010 09:10:01 +0000 (11:10 +0200)]
Merge branch 'for-2.6.37' of git://git./linux/kernel/git/lrg/asoc-2.6 into topic/asoc

14 years agoASoC: WM8804: Use a proper DAI name
Dimitris Papastamos [Fri, 1 Oct 2010 08:12:14 +0000 (09:12 +0100)]
ASoC: WM8804: Use a proper DAI name

Make sure the DAI name does not include a '/' since we might have
per DAI debugfs or sysfs entries in the future.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Put WM8962 GPIO2/3 into GPIO mode when configuring platform data too
Mark Brown [Sat, 2 Oct 2010 00:46:37 +0000 (17:46 -0700)]
ASoC: Put WM8962 GPIO2/3 into GPIO mode when configuring platform data too

GPIO2 and GPIO3 on the WM8962 are MFPs and need to be put into GPIO mode
before the GPIO block can be used to control them. We're already doing
this when used via gpiolib, factor out the code for use when setting static
configurations via platform data as well.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Implement interrupt based jack detection
Mark Brown [Thu, 30 Sep 2010 22:37:53 +0000 (15:37 -0700)]
ASoC: Implement interrupt based jack detection

Allow microphone detection on WM8962 to be performed using the interrupt
signal, allowing the detection of both microphone presence and button
presses with a signal singal from the CODEC to CPU.  Currently a 250ms
debounce time is applied to both short circuit and presence detection,
this has not been optimised.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Add support for WM8962 GPIO outputs
Mark Brown [Mon, 20 Sep 2010 16:34:58 +0000 (17:34 +0100)]
ASoC: Add support for WM8962 GPIO outputs

The WM8962 features five GPIOs, add support for controlling their output
state via gpiolib.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Remove -dai suffix from i.MX SSI driver
Mark Brown [Thu, 30 Sep 2010 20:46:14 +0000 (13:46 -0700)]
ASoC: Remove -dai suffix from i.MX SSI driver

While it is a generic serial port in practice the i.MX SSI is only supported
in Linux as an audio port (the i.MX has dedicated SPI controllers and so on).
This means we don't need to disambiguate against other uses of the hardware
and so can drop the -dai suffix from the driver name which fixes merge
issues with the i.MX tree in -next.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Relax restrictions on WM8962 BCLK configuration
Mark Brown [Thu, 30 Sep 2010 21:18:48 +0000 (14:18 -0700)]
ASoC: Relax restrictions on WM8962 BCLK configuration

The restrictions on configuring BCLK are overly cautious, other constraints
in the system should ensure that reconfiguration is not possible when the
device is sufficiently active to be unable to support reclocking.

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

The WM8804 is a high performance consumer mode S/PDIF transceiver with
support for 1 received channel and 1 transmitted channel.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Remove unneeded use of spi_bus_type
Dimitris Papastamos [Wed, 29 Sep 2010 10:48:19 +0000 (11:48 +0100)]
ASoC: Remove unneeded use of spi_bus_type

No need to explicitly set the bus type, spi_register_driver does
that for us.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Provide microphone bias configuration for WM8962
Mark Brown [Wed, 29 Sep 2010 20:24:35 +0000 (13:24 -0700)]
ASoC: Provide microphone bias configuration for WM8962

Add the widget for MICBIAS power control and allow configuration of the
microphone bias setup via the platform data for the WM8962. When
microphone status signals are brought out to GPIO this should be
sufficient to enable microphone detection.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Mark WM8962 Additional Control 4 register as volatile
Mark Brown [Wed, 29 Sep 2010 18:46:37 +0000 (11:46 -0700)]
ASoC: Mark WM8962 Additional Control 4 register as volatile

There are some status bits for microphone detection in here.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Initial WM8962 IRQ support
Mark Brown [Tue, 28 Sep 2010 23:01:20 +0000 (16:01 -0700)]
ASoC: Initial WM8962 IRQ support

Provide an initial hookup for interrupts on the WM8962. Currently we simply
report error status via log messages if an IRQ is provided for the device.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Lowercase WM8962 CODEC name
Mark Brown [Mon, 20 Sep 2010 19:36:19 +0000 (20:36 +0100)]
ASoC: Lowercase WM8962 CODEC name

For consistency.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Fix masking of WM8962 FLL1 register
Mark Brown [Tue, 28 Sep 2010 00:20:11 +0000 (17:20 -0700)]
ASoC: Fix masking of WM8962 FLL1 register

When configuring the FLL we preserve the FLL enable configuration in order
to allow us to reenable the FLL after configuration but we do not clear
the other bits in the register, causing old configuration to be preserved.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: WM8985: Use the correct macro for the kcontrol defined
Dimitris Papastamos [Mon, 27 Sep 2010 10:16:30 +0000 (11:16 +0100)]
ASoC: WM8985: Use the correct macro for the kcontrol defined

Since we are using custom get/put handlers
use SOC_ENUM_SINGLE_EXT_DECL instead of the original SOC_ENUM_SINGLE_DECL
macro.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Fix a compile warning for printk format
Takashi Iwai [Mon, 27 Sep 2010 06:13:25 +0000 (08:13 +0200)]
ASoC: Fix a compile warning for printk format

  sound/soc/codecs/wm8985.c: In function 'wm8985_hw_params':
  sound/soc/codecs/wm8985.c:731:2: warning: format '%d' expects type 'int', but argument 4 has type 'size_t'

Actually the variable is fine as int.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge branch 'for-2.6.36' into for-2.6.37
Mark Brown [Sat, 25 Sep 2010 08:15:39 +0000 (09:15 +0100)]
Merge branch 'for-2.6.36' into for-2.6.37

14 years agoASoC: Add Jassi Brar as Samsung maintainer
Mark Brown [Fri, 24 Sep 2010 09:50:46 +0000 (10:50 +0100)]
ASoC: Add Jassi Brar as Samsung maintainer

Since Jassi is doing so much good work and can offer such good review
for the Samsung CPU support add an entry for the Samsung ASoC drivers
to MAINTAINERS listing him.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoomap: zoom: Move new code introduced by ASoC m-c to board-zoom-peripherals
Jarkko Nikula [Thu, 23 Sep 2010 16:11:54 +0000 (19:11 +0300)]
omap: zoom: Move new code introduced by ASoC m-c to board-zoom-peripherals

ASoC Multi-Component Support moves some code from sound/soc/omap/zoom2.c into
arch/arm/mach-omap2/board-zoom2.c. However, that code should go to
board-zoom-peripherals.c instead as there is common code and registration
for zoom boards.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Vikram Pandita <vikram.pandita@ti.com>
Cc: Lopez Cruz, Misael <x0052729@ti.com>
Cc: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoomap: zoom2: Fix ASoC multi-component build breakage by removing dead code
Jarkko Nikula [Thu, 23 Sep 2010 16:11:53 +0000 (19:11 +0300)]
omap: zoom2: Fix ASoC multi-component build breakage by removing dead code

ASoC Multi-Component Support patch removes #if 0 in board-zoom2.c that was
used to protect some uncompiling dead code. Remove that code as it seems to
be here quite some time since commit 479f12c.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Vikram Pandita <vikram.pandita@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Tested-by: Misael Lopez Cruz <misael.lopez@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: WM8985: Remove unneeded declaration.
Dimitris Papastamos [Fri, 24 Sep 2010 12:02:07 +0000 (13:02 +0100)]
ASoC: WM8985: Remove unneeded declaration.

We are not using the private data in this function, so get rid of it.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Clean up AC'97 glue driver
Mark Brown [Thu, 23 Sep 2010 18:43:07 +0000 (19:43 +0100)]
ASoC: Clean up AC'97 glue driver

Remove version number and clean up some indentation.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Add debug logging for s3c-ac97 resets
Mark Brown [Thu, 23 Sep 2010 16:41:46 +0000 (17:41 +0100)]
ASoC: Add debug logging for s3c-ac97 resets

Helps tracing errors further up the stack.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Convert s3c-ac97 to pr_() macros
Mark Brown [Thu, 23 Sep 2010 15:48:54 +0000 (16:48 +0100)]
ASoC: Convert s3c-ac97 to pr_() macros

Could use dev_() but we'd have to remember the struct device somewhere
and it wouldn't make the logging clearer.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Clean up the CODEC device as well as the board for SMDK WM9713
Mark Brown [Thu, 23 Sep 2010 14:28:14 +0000 (15:28 +0100)]
ASoC: Clean up the CODEC device as well as the board for SMDK WM9713

Otherwise we try to re-register the CODEC device if the module is reloaded
and sysfs becomes miserable.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Clarify naming for SMDK WM9713 driver
Mark Brown [Wed, 22 Sep 2010 18:44:13 +0000 (19:44 +0100)]
ASoC: Clarify naming for SMDK WM9713 driver

At least some of the systems using this device have multiple audio
subsystems so provide some guidance to userspace about which one this
is.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Remove unneeded WM9713 header include from SMDK WM9713 driver
Mark Brown [Wed, 22 Sep 2010 18:43:30 +0000 (19:43 +0100)]
ASoC: Remove unneeded WM9713 header include from SMDK WM9713 driver

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Fix incorrect parameter to snd_soc_codec_volatile_register
Dimitris Papastamos [Wed, 22 Sep 2010 15:16:06 +0000 (16:16 +0100)]
ASoC: Fix incorrect parameter to snd_soc_codec_volatile_register

We need to pass the register index and not the register value.
This patch depends on my previous patch "ASoC: Delegate to hw
specific read for volatile registers".

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Delegate to hw specific read for volatile registers
Dimitris Papastamos [Wed, 22 Sep 2010 12:25:47 +0000 (13:25 +0100)]
ASoC: Delegate to hw specific read for volatile registers

Ensure that reads on volatile registers will correctly delegate
to the bus specific read function.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: adapt multi-componentism again
Takashi Iwai [Thu, 23 Sep 2010 05:40:16 +0000 (07:40 +0200)]
ASoC: adapt multi-componentism again

Go back to the new world order.

(Also fixed indentation.)

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge branch 'for-2.6.36' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Takashi Iwai [Thu, 23 Sep 2010 05:31:27 +0000 (07:31 +0200)]
Merge branch 'for-2.6.36' of git://git./linux/kernel/git/broonie/sound-2.6 into topic/asoc

14 years agoASoC: Fix multi-componentism
Mark Brown [Wed, 22 Sep 2010 17:47:40 +0000 (18:47 +0100)]
ASoC: Fix multi-componentism

Spot the build testing.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Return -1 instead of -EINVAL to ensure consistency
Dimitris Papastamos [Tue, 21 Sep 2010 16:04:07 +0000 (17:04 +0100)]
ASoC: Return -1 instead of -EINVAL to ensure consistency

The code can't really cope with I/O errors, so it would be better
to be consistent throughout all cache functions and return -1 instead
of -EINVAL.

The return value of snd_soc_read(...) is mostly checked in the probe
function and nowhere else.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Report error codes for card DAI instantiation failures
Mark Brown [Tue, 21 Sep 2010 14:09:37 +0000 (15:09 +0100)]
ASoC: Report error codes for card DAI instantiation failures

Also clean up the error print a bit.

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

14 years agoMerge branch 'for-2.6.36' into for-2.6.37
Mark Brown [Wed, 22 Sep 2010 11:03:28 +0000 (12:03 +0100)]
Merge branch 'for-2.6.36' into for-2.6.37

14 years agoASoC: Fix soc-cache buffer overflow bug
Dimitris Papastamos [Tue, 21 Sep 2010 14:03:26 +0000 (15:03 +0100)]
ASoC: Fix soc-cache buffer overflow bug

Make sure we stay within the cache boundaries when updating the
register 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>
14 years agoASoC: Fix soc-cache buffer overflow bug
Dimitris Papastamos [Tue, 21 Sep 2010 13:12:35 +0000 (14:12 +0100)]
ASoC: Fix soc-cache buffer overflow bug

Make sure we stay within the cache boundaries when updating the
register 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>
14 years agoASoC: Remove extra rtd->dev.init_name assignment in soc_probe_dai_link
Jarkko Nikula [Tue, 21 Sep 2010 12:36:49 +0000 (15:36 +0300)]
ASoC: Remove extra rtd->dev.init_name assignment in soc_probe_dai_link

rtd->dev.init_name is set twice in soc_probe_dai_link. I removed the first
assignement from dai_link->stream_name since then there won't be sysfs name
changes and usually dai_link->name seems to fit anyway better for a sysfs
directory name.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Fix merge issue with WM8962 control addition
Mark Brown [Mon, 20 Sep 2010 18:17:44 +0000 (19:17 +0100)]
ASoC: Fix merge issue with WM8962 control addition

Let's not add the core controls twice.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Report error code when failing to add controls
Mark Brown [Mon, 20 Sep 2010 18:03:28 +0000 (19:03 +0100)]
ASoC: Report error code when failing to add controls

Helps with diagnostics.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Prototype s3c64xx_i2s_get_clock()
Mark Brown [Mon, 20 Sep 2010 16:54:57 +0000 (17:54 +0100)]
ASoC: Prototype s3c64xx_i2s_get_clock()

So machine drivers can see the declaration.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: fsi: merge fsi_data_push/pop to fsi_fifo_data_ctrl
Kuninori Morimoto [Fri, 17 Sep 2010 04:49:05 +0000 (13:49 +0900)]
ASoC: fsi: merge fsi_data_push/pop to fsi_fifo_data_ctrl

Current FSI driver had data push/pop functions.
But the main operation of these 2 were very similar.
This mean it is possible to merge these to 1 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>
14 years agoASoC: fsi: modify variable name to easy to understand
Kuninori Morimoto [Fri, 17 Sep 2010 04:48:45 +0000 (13:48 +0900)]
ASoC: fsi: modify variable name to easy to understand

Current FSI driver is using
data-length / width / number / offset for variables.
But it was a very confusing name.

This patch rename them to easy to understand,
and add new functions for it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Fix WM8978/migor driver name conflict
Mark Brown [Sun, 19 Sep 2010 15:07:06 +0000 (16:07 +0100)]
ASoC: Fix WM8978/migor driver name conflict

Standardise on 'wm8978' as the name for the CODEC.

Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: tlv320aic3x: Let the codec hit SND_SOC_BIAS_OFF when idle
Jarkko Nikula [Mon, 20 Sep 2010 07:39:14 +0000 (10:39 +0300)]
ASoC: tlv320aic3x: Let the codec hit SND_SOC_BIAS_OFF when idle

Now codec hits the SND_SOC_BIAS_OFF also when it is idle. This is also
the default state after probing and codec is left unconfigured and
unpowered by default. Initialization will happen when the bias state changes
and aic3x_set_power does power-up and cache sync.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: tlv320aic3x: Use regulator notifiers for optimizing the cache sync
Jarkko Nikula [Mon, 20 Sep 2010 07:39:13 +0000 (10:39 +0300)]
ASoC: tlv320aic3x: Use regulator notifiers for optimizing the cache sync

There is no need to reset the codec and perform cache sync if none of the
supply regulators were not disabled. Patch registers a notifier callback for
each supply and callback then sets a flag to indicate when cache sync is
required.

HW writes are also needless when codec bias is off so cache_only flag is set
independently of actual supply regulators state.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: tlv320aic3x: Add runtime regulator control to aic3x_set_bias_level
Jarkko Nikula [Mon, 20 Sep 2010 07:39:12 +0000 (10:39 +0300)]
ASoC: tlv320aic3x: Add runtime regulator control to aic3x_set_bias_level

Now all the regulators are disabled when entering into SND_SOC_BIAS_OFF
and enabled when coming back to SND_SOC_BIAS_STANDBY state. Currently this
runtime control happens only with suspend/resume as this patch does not
change the default idle behavior.

This patch manages all the regulators and reset since it seems that register
sync is needed even if only analog supplies AVDD and DRVDD are disabled.
This was noted when the system was running with idle behavior changed and
IOVDD and DVDD were on.

It is not known are all the registers needed to sync or only some subset of
them. Therefore patch plays safe and does always full shutdown/power-up.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: tlv320aic3x: Move regulator management from i2c to soc domain
Jarkko Nikula [Mon, 20 Sep 2010 07:39:11 +0000 (10:39 +0300)]
ASoC: tlv320aic3x: Move regulator management from i2c to soc domain

It will be easier to keep regulator enable/disable calls in sync when dynamic
regulator management is added if regulator management is moved from
aic3x_i2c_probe/_remove to aic3x_probe/_remove.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoMerge remote branch 'asoc/for-2.6.37' into for-2.6.37
Liam Girdwood [Mon, 20 Sep 2010 08:53:29 +0000 (09:53 +0100)]
Merge remote branch 'asoc/for-2.6.37' into for-2.6.37

14 years agoASoC: tlv320aic3x: Add virtual output pin Detection
Jarkko Nikula [Fri, 17 Sep 2010 11:39:01 +0000 (14:39 +0300)]
ASoC: tlv320aic3x: Add virtual output pin Detection

Purpose of this virtual Detection pin is to keep codec bias on whenever the
GPIO or jack detection features are needed.

Jack detection needs a mic bias so machine drivers can construct a following
route for instance for keeping the path and codec bias on:

"Input Jack" -> "Mic Bias xV" -> "Detection" -> detection block inside codec.

For the GPIO the machine driver can force the pin on with
snd_soc_dapm_force_enable_pin.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoMerge remote branch 'broonie-asoc/for-2.6.37' into for-2.6.37
Liam Girdwood [Mon, 20 Sep 2010 08:49:26 +0000 (09:49 +0100)]
Merge remote branch 'broonie-asoc/for-2.6.37' into for-2.6.37

14 years agoASoC: fsi: Add fsi_dma_soft_push/pop function
Kuninori Morimoto [Fri, 17 Sep 2010 04:48:32 +0000 (13:48 +0900)]
ASoC: fsi: Add fsi_dma_soft_push/pop function

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: fsi: modify noisy comment out
Kuninori Morimoto [Fri, 17 Sep 2010 04:48:17 +0000 (13:48 +0900)]
ASoC: fsi: modify noisy comment out

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>