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>
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.
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Mark Brown [Thu, 7 Oct 2010 20:44:20 +0000 (13:44 -0700)]
Merge branch 'for-2.6.36' into for-2.6.37
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Mark Brown [Sat, 25 Sep 2010 08:15:39 +0000 (09:15 +0100)]
Merge branch 'for-2.6.36' into for-2.6.37
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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
Mark Brown [Wed, 22 Sep 2010 11:03:28 +0000 (12:03 +0100)]
Merge branch 'for-2.6.36' into for-2.6.37
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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
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>
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>