GitHub/LineageOS/G12/android_kernel_amlogic_linux-4.9.git
12 years agoASoC: wm8962: Optimise power consumption for IN4 DC measurement usage
Mark Brown [Tue, 24 Jan 2012 21:07:55 +0000 (21:07 +0000)]
ASoC: wm8962: Optimise power consumption for IN4 DC measurement usage

When the hardware is configured with one or both of the IN4 inputs used
for DC measurement (with no DC blocking capacitor connected) then we can
improve power consumption slightly in idle modes by applying a register
write sequence. Provide platform data to enable this, implemented using
a regmap patch.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: wm5100: Fix warnings from recent patches
Mark Brown [Tue, 24 Jan 2012 19:51:34 +0000 (19:51 +0000)]
ASoC: wm5100: Fix warnings from recent patches

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert the WM5100 revision A updates to a regmap patch
Mark Brown [Sat, 21 Jan 2012 12:14:53 +0000 (12:14 +0000)]
ASoC: Convert the WM5100 revision A updates to a regmap patch

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoMerge tag 'regmap-patch-initial' of git://git.kernel.org/pub/scm/linux/kernel/git...
Mark Brown [Tue, 24 Jan 2012 19:48:04 +0000 (19:48 +0000)]
Merge tag 'regmap-patch-initial' of git://git./linux/kernel/git/broonie/regmap into for-3.4

regmap: Inital export of the patching implementation

An initial export of the regmap register patch implementation, mostly
for integration into ASoC so it can be used by drivers there which have
conflicting updates already.

12 years agoASoC: wm5100: Fix mismerge of IRQ frees
Mark Brown [Tue, 24 Jan 2012 12:11:20 +0000 (12:11 +0000)]
ASoC: wm5100: Fix mismerge of IRQ frees

We only want them at the device level, not at the CODEC level.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert WM8731 to direct regmap API usage
Mark Brown [Mon, 21 Nov 2011 12:10:03 +0000 (12:10 +0000)]
ASoC: Convert WM8731 to direct regmap API usage

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoregmap: Support register patch sets
Mark Brown [Sat, 21 Jan 2012 12:01:14 +0000 (12:01 +0000)]
regmap: Support register patch sets

Device manufacturers frequently provide register sequences, usually not
fully documented, to be run at startup in order to provide better defaults
for devices (for example, improving performance in the light of silicon
evaluation). Support such updates by allowing drivers to register update
sets with the core. These updates will be written to the device immediately
and will also be rewritten when the cache is synced.

The assumption is that the reason for resyncing the cache will always be
that the device has been powered off. If this turns out to not be the case
then a separate operation can be provided.

Currently the implementation only allows a single set of updates to be
specified for a device, this could be extended in future.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Add __devinit/__devexit annotations at necessary places
Axel Lin [Mon, 23 Jan 2012 03:18:17 +0000 (11:18 +0800)]
ASoC: Add __devinit/__devexit annotations at necessary places

Fix below build warning when CONFIG_HOTPLUG is not set.

  CC      sound/soc/codecs/alc5623.o
sound/soc/codecs/alc5623.c:1062: warning: ‘alc5623_i2c_remove’ defined but not used
  CC      sound/soc/codecs/alc5632.o
sound/soc/codecs/alc5632.c:1112: warning: ‘alc5632_i2c_remove’ defined but not used

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Leon Romanovsky <leon@leon.nu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: sgtl5000: It's sgtl5000 not sgtl500
Mark Brown [Mon, 23 Jan 2012 10:16:31 +0000 (10:16 +0000)]
ASoC: sgtl5000: It's sgtl5000 not sgtl500

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: sgtl5000: Convert to table based DAPM and control init
Fabio Estevam [Sun, 22 Jan 2012 16:49:42 +0000 (14:49 -0200)]
ASoC: sgtl5000: Convert to table based DAPM and control init

Convert to table based DAPM and control init.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: wm8988: Convert to devm_kzalloc()
Mark Brown [Sat, 21 Jan 2012 23:25:16 +0000 (23:25 +0000)]
ASoC: wm8988: Convert to devm_kzalloc()

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: wm8988: Convert to table based DAPM and control init
Mark Brown [Sat, 21 Jan 2012 23:24:25 +0000 (23:24 +0000)]
ASoC: wm8988: Convert to table based DAPM and control init

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: wm8985: Convert to direct regmap API usage
Mark Brown [Sat, 21 Jan 2012 15:41:48 +0000 (15:41 +0000)]
ASoC: wm8985: Convert to direct regmap API usage

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: wm8985 Don't directly reference the cache data structure
Mark Brown [Sat, 21 Jan 2012 15:39:34 +0000 (15:39 +0000)]
ASoC: wm8985 Don't directly reference the cache data structure

In preparation for conversion to regmap.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: wm8985: Use standard cache sync implementation
Mark Brown [Sat, 21 Jan 2012 15:36:30 +0000 (15:36 +0000)]
ASoC: wm8985: Use standard cache sync implementation

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: wm8985: Convert to table based DAPM and control init
Mark Brown [Sat, 21 Jan 2012 15:36:08 +0000 (15:36 +0000)]
ASoC: wm8985: Convert to table based DAPM and control init

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: wm8985: Convert to devm_kzalloc()
Mark Brown [Sat, 21 Jan 2012 15:23:26 +0000 (15:23 +0000)]
ASoC: wm8985: Convert to devm_kzalloc()

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Add external amplifier controls for Visstrim_M10.
Javier Martin [Fri, 20 Jan 2012 09:16:57 +0000 (10:16 +0100)]
ASoC: Add external amplifier controls for Visstrim_M10.

Visstrim_M10 has an external class D amplifier.
This patch provides support for controlling the 4
possible gain levels and per channel muting.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Fix build of tlv320dac33
Mark Brown [Fri, 20 Jan 2012 17:52:39 +0000 (17:52 +0000)]
ASoC: Fix build of tlv320dac33

The problem was introduced due to the obscure formatting some of the
older drivers use.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Use regmap update bits operation for drivers using regmap
Mark Brown [Sat, 3 Dec 2011 12:33:55 +0000 (12:33 +0000)]
ASoC: Use regmap update bits operation for drivers using regmap

If a driver is using regmap directly ensure that we're coherent with
non-ASoC register updates by using the regmap API directly to do our
read/modify/write cycles. This will bypass the ASoC cache but drivers
using regmap directly should not be using the ASoC cache.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Don't tell applications about msbits unless we're ignoring input
Mark Brown [Thu, 19 Jan 2012 18:04:18 +0000 (18:04 +0000)]
ASoC: Don't tell applications about msbits unless we're ignoring input

On the off chance that an application both pays attention and gets
confused.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Push WM5100 interrupt request into I2C probe
Mark Brown [Wed, 18 Jan 2012 15:05:46 +0000 (15:05 +0000)]
ASoC: Push WM5100 interrupt request into I2C probe

This is more what the device model wants us to do and will allow use by
non-audio functions before the audio part of the device has come up.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Make WM5100 interrupt path use regmap directly
Mark Brown [Wed, 18 Jan 2012 14:53:08 +0000 (14:53 +0000)]
ASoC: Make WM5100 interrupt path use regmap directly

This will allow us to move the interrupt allocation out of the ASoC part
of the driver and simplifies the locking by removing any reliance in the
bulk of the interrupt path on the big CODEC lock.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Remove redundant set_bias_level() from WM5100 remove()
Mark Brown [Wed, 18 Jan 2012 13:47:02 +0000 (13:47 +0000)]
ASoC: Remove redundant set_bias_level() from WM5100 remove()

The framework should bring the device down before it calls the driver.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: omap-mcpdm: Set 24msbits constraint
Peter Ujfalusi [Wed, 18 Jan 2012 11:18:24 +0000 (12:18 +0100)]
ASoC: omap-mcpdm: Set 24msbits constraint

McPDM internal FIFO is 24 bit wide. From the 32 bit sample
8 bit is discarded. Let application know about this
via msbits constraint.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: omap-dmic: Use core to set the msbits constraint
Peter Ujfalusi [Wed, 18 Jan 2012 11:18:23 +0000 (12:18 +0100)]
ASoC: omap-dmic: Use core to set the msbits constraint

Core can set the msbits constraint in behalf of the dai.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: twl4030: Use core to set the msbits constraint
Peter Ujfalusi [Wed, 18 Jan 2012 11:18:26 +0000 (12:18 +0100)]
ASoC: twl4030: Use core to set the msbits constraint

Core can set the msbits constraint in behalf of the dai.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: tlv320dac33: Use core to set the msbits constraint
Peter Ujfalusi [Wed, 18 Jan 2012 11:18:25 +0000 (12:18 +0100)]
ASoC: tlv320dac33: Use core to set the msbits constraint

Core can set the msbits constraint in behalf of the dai.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: sgtl5000: Print revision number in hex
Fabio Estevam [Mon, 16 Jan 2012 19:32:21 +0000 (17:32 -0200)]
ASoC: sgtl5000: Print revision number in hex

Throughout the sgtl5000 driver source code and also in the sgtl5000 datasheet
the revision code is shown in hexadecimal.

Print it hex format, for consistency.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Say we can't read WM5100 ID register
Mark Brown [Tue, 17 Jan 2012 19:27:04 +0000 (19:27 +0000)]
ASoC: Say we can't read WM5100 ID register

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: When releasing WM5100 put /RESET into reset
Mark Brown [Tue, 17 Jan 2012 19:18:27 +0000 (19:18 +0000)]
ASoC: When releasing WM5100 put /RESET into reset

Reset is active low, make sure we leave it asserted when release the
device.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: 24 bits are significant on wm_hubs DAIs
Mark Brown [Tue, 17 Jan 2012 11:50:26 +0000 (11:50 +0000)]
ASoC: 24 bits are significant on wm_hubs DAIs

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Make WM8993 I2C usage unconditional
Mark Brown [Tue, 17 Jan 2012 15:08:35 +0000 (15:08 +0000)]
ASoC: Make WM8993 I2C usage unconditional

The WM8993 only supports I2C so don't ifdef the I2C support in the driver.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Implement basic WM8993 interrupt support
Mark Brown [Tue, 17 Jan 2012 16:42:05 +0000 (16:42 +0000)]
ASoC: Implement basic WM8993 interrupt support

If an interrupt is supplied then use it for thermal warning and FLL lock
notifications. When using the interrupt raise the timeout for the FLL lock
substantially to reduce the chances of spurious warnings.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: 24 bits are significant on the WM8996 audio interfaces
Mark Brown [Mon, 16 Jan 2012 18:39:21 +0000 (18:39 +0000)]
ASoC: 24 bits are significant on the WM8996 audio interfaces

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Allow drivers to specify how many bits are significant on a DAI
Mark Brown [Mon, 16 Jan 2012 18:38:51 +0000 (18:38 +0000)]
ASoC: Allow drivers to specify how many bits are significant on a DAI

Most devices accept data in formats that don't correspond directly to
their internal format. ALSA allows us to set a msbits constraint which
tells userspace about this in case it finds it useful (for example, in
order to avoid wasting effort dithering bits that will be ignored when
raising the sample size of data) so provide a mechanism for drivers to
specify the number of bits that are actually significant on a DAI and
add the appropriate constraints along with all the others.

This is done slightly awkwardly as the constraint is specified per sample
size - we loop over every possible sample size, including ones that the
device doesn't support and including ones that have fewer bits than are
actually used, but this is harmless as the upper layers do the right thing
in these cases.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
12 years agoASoC: Add WM8962 DAC and ADC L/R swap support
Mark Brown [Thu, 12 Jan 2012 00:31:00 +0000 (16:31 -0800)]
ASoC: Add WM8962 DAC and ADC L/R swap support

Simple switches since there's no per-channel control.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: wm8983: Remove useless snd_kcontrol
Dimitris Papastamos [Mon, 16 Jan 2012 10:44:13 +0000 (10:44 +0000)]
ASoC: wm8983: Remove useless snd_kcontrol

This must be a leftover from a previous driver.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: jz4740: Convert qi_lb60 to use snd_soc_register_card()
Axel Lin [Fri, 6 Jan 2012 03:30:10 +0000 (11:30 +0800)]
ASoC: jz4740: Convert qi_lb60 to use snd_soc_register_card()

Use snd_soc_register_card() instead of creating a "soc-audio" platform device.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert WM8962 register access map to modern style
Mark Brown [Thu, 12 Jan 2012 04:13:19 +0000 (20:13 -0800)]
ASoC: Convert WM8962 register access map to modern style

Much more compact, both in terms of source and especially in terms of
RAM used at runtime.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Route Mic Bias in Visstrim_M10 board.
Javier Martin [Wed, 11 Jan 2012 12:21:05 +0000 (13:21 +0100)]
ASoC: Route Mic Bias in Visstrim_M10 board.

Visstrim_M10 board uses an external microphone
that can be enabled/disabled by the user

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoep93xx: Don't use system controller defines in audio drivers
Ryan Mallon [Wed, 11 Jan 2012 03:14:31 +0000 (14:14 +1100)]
ep93xx: Don't use system controller defines in audio drivers

Both the Snapper CL15 and EDB93xx audio drivers set the same audio
configuration in ep93xx_i2s_acquire. Remove the arguments to
ep93xx_i2s_acquire so that the audio drivers no longer need the
EP93XX_SYSCON defines exported.

Cc: Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Mika Westerberg <mika.westerberg@iki.fi>
Cc: Liam Girdwood <lrg@ti.com>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ryan Mallon <rmallon@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Make WM8962 I2C usage unconditional
Mark Brown [Tue, 10 Jan 2012 18:53:49 +0000 (10:53 -0800)]
ASoC: Make WM8962 I2C usage unconditional

We only support I2C so no need to ifdef.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: CQ93VC: remove machine specific header file inclusion from codec driver
Manjunath Hadli [Tue, 10 Jan 2012 11:27:43 +0000 (16:57 +0530)]
ASoC: CQ93VC: remove machine specific header file inclusion from codec driver

remove unnecessary inclusion of machine specific header
file mach/dm365.h from cq93vc.c voice codec driver
which comes in the way of platform code consolidation.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: utils - Add support for a dummy codec driver.
Liam Girdwood [Mon, 9 Jan 2012 12:36:24 +0000 (12:36 +0000)]
ASoC: utils - Add support for a dummy codec driver.

This is useful to create dummy codec devices where we need to have some
DAI links without a real Codec. e.g. could be used to represent dumb FM,
MODEM, etc

This is also used by dynamic PCM for DAI links that have no codec.

Signed-off-by: Liam Girdwood <lrg@ti.com>
[Fixed the indentation -- broonie]
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: twl6040 - add method to query HS DC offset step size in mV
Liam Girdwood [Mon, 9 Jan 2012 12:10:16 +0000 (12:10 +0000)]
ASoC: twl6040 - add method to query HS DC offset step size in mV

Provide a method for mach drivers to query the HS DC offset step size in mV.

Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Optimise performance of WM8904 ADC 128fs OSR mode
Mark Brown [Sun, 8 Jan 2012 02:02:57 +0000 (18:02 -0800)]
ASoC: Optimise performance of WM8904 ADC 128fs OSR mode

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: core - Improve card registration error messaging for large DAI links.
Liam Girdwood [Mon, 9 Jan 2012 12:09:29 +0000 (12:09 +0000)]
ASoC: core - Improve card registration error messaging for large DAI links.

Print out the offending DAI link entry when a naming error occurs. Makes
thing easier to debug for machines with a large number of DAI links.

Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: replace 0xffffffff with DMA_BIT_MASK macro
Joachim Eastwood [Sun, 1 Jan 2012 01:43:03 +0000 (02:43 +0100)]
ASoC: replace 0xffffffff with DMA_BIT_MASK macro

Signed-off-by: Joachim Eastwood <joachim.eastwood@jotron.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: use proper defines for stream directions in pcm engines
Joachim Eastwood [Sun, 1 Jan 2012 01:14:24 +0000 (02:14 +0100)]
ASoC: use proper defines for stream directions in pcm engines

Signed-off-by: Joachim Eastwood <joachim.eastwood@jotron.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert WM8955 to table based DAPM and control init
Mark Brown [Thu, 29 Dec 2011 21:45:27 +0000 (21:45 +0000)]
ASoC: Convert WM8955 to table based DAPM and control init

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert WM8955 to direct regmap API usage
Mark Brown [Thu, 29 Dec 2011 21:42:36 +0000 (21:42 +0000)]
ASoC: Convert WM8955 to direct regmap API usage

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Use standard register cache sync for WM8955
Mark Brown [Thu, 29 Dec 2011 21:39:44 +0000 (21:39 +0000)]
ASoC: Use standard register cache sync for WM8955

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert WM8955 to devm_kzalloc()
Mark Brown [Thu, 29 Dec 2011 21:23:04 +0000 (21:23 +0000)]
ASoC: Convert WM8955 to devm_kzalloc()

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Make I2C usage unconditional in WM8955
Mark Brown [Thu, 29 Dec 2011 21:21:49 +0000 (21:21 +0000)]
ASoC: Make I2C usage unconditional in WM8955

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert WM8940 to devm_kzalloc()
Mark Brown [Thu, 29 Dec 2011 21:16:59 +0000 (21:16 +0000)]
ASoC: Convert WM8940 to devm_kzalloc()

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Make I2C usage unconditional in WM8940
Mark Brown [Thu, 29 Dec 2011 21:15:48 +0000 (21:15 +0000)]
ASoC: Make I2C usage unconditional in WM8940

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert WM8904 to direct regmap API usage
Mark Brown [Thu, 29 Dec 2011 21:12:51 +0000 (21:12 +0000)]
ASoC: Convert WM8904 to direct regmap API usage

The device has a very sparse register map so should benefit from using a
rbtree cache.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Use standard cache sync for WM8904
Mark Brown [Thu, 29 Dec 2011 21:07:04 +0000 (21:07 +0000)]
ASoC: Use standard cache sync for WM8904

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert wm8904 to devm_kzalloc()
Mark Brown [Thu, 29 Dec 2011 20:05:00 +0000 (20:05 +0000)]
ASoC: Convert wm8904 to devm_kzalloc()

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Make WM8904 I2C usage unconditional
Mark Brown [Thu, 29 Dec 2011 20:03:23 +0000 (20:03 +0000)]
ASoC: Make WM8904 I2C usage unconditional

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert wm8804 to direct regmap API usage
Mark Brown [Thu, 29 Dec 2011 19:58:06 +0000 (19:58 +0000)]
ASoC: Convert wm8804 to direct regmap API usage

The register map for this device is actually fairly sparse so the rbtree
should be beneficial.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert wm8804 to devm_kzalloc()
Mark Brown [Thu, 29 Dec 2011 19:19:18 +0000 (19:19 +0000)]
ASoC: Convert wm8804 to devm_kzalloc()

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Use standard cache sync for wm8804
Mark Brown [Thu, 29 Dec 2011 19:13:37 +0000 (19:13 +0000)]
ASoC: Use standard cache sync for wm8804

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Remove wm8974 private data
Mark Brown [Thu, 29 Dec 2011 11:11:25 +0000 (11:11 +0000)]
ASoC: Remove wm8974 private data

It's only ever referenced when being allocated and freed.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert wm8974 to table based DAPM and control init
Mark Brown [Thu, 29 Dec 2011 11:10:27 +0000 (11:10 +0000)]
ASoC: Convert wm8974 to table based DAPM and control init

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Make wm8974 I2C usage unconditional
Mark Brown [Thu, 29 Dec 2011 11:08:21 +0000 (11:08 +0000)]
ASoC: Make wm8974 I2C usage unconditional

The driver only supports I2C at present.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert wm8971 to devm_kzalloc()
Mark Brown [Thu, 29 Dec 2011 11:04:04 +0000 (11:04 +0000)]
ASoC: Convert wm8971 to devm_kzalloc()

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert wm8971 to table based DAPM and control init
Mark Brown [Thu, 29 Dec 2011 11:03:08 +0000 (11:03 +0000)]
ASoC: Convert wm8971 to table based DAPM and control init

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Make WM8971 I2C usage unconditional
Mark Brown [Thu, 29 Dec 2011 10:59:39 +0000 (10:59 +0000)]
ASoC: Make WM8971 I2C usage unconditional

The driver only supports I2C so no need to worry about SPI only systems.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert WM8753 to direct regmap API usage
Mark Brown [Mon, 21 Nov 2011 16:32:03 +0000 (16:32 +0000)]
ASoC: Convert WM8753 to direct regmap API usage

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Move WM8993 resource acquisition and device reset to bus probe
Mark Brown [Wed, 14 Dec 2011 04:31:14 +0000 (12:31 +0800)]
ASoC: Move WM8993 resource acquisition and device reset to bus probe

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert wm8993 to direct regmap API usage
Mark Brown [Wed, 14 Dec 2011 03:53:06 +0000 (11:53 +0800)]
ASoC: Convert wm8993 to direct regmap API usage

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Move WM9090 device identification and reset to I2C probe
Mark Brown [Tue, 13 Dec 2011 13:43:01 +0000 (21:43 +0800)]
ASoC: Move WM9090 device identification and reset to I2C probe

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert WM9090 to use regmap directly
Mark Brown [Tue, 13 Dec 2011 13:20:59 +0000 (21:20 +0800)]
ASoC: Convert WM9090 to use regmap directly

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Push wm8978 reset down into the I2C probe
Mark Brown [Thu, 29 Dec 2011 11:44:03 +0000 (11:44 +0000)]
ASoC: Push wm8978 reset down into the I2C probe

Ensures that we get control of the CODEC earlier and don't try to probe
the card at all if register I/O isn't working.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert wm8978 to direct regmap API usage
Mark Brown [Thu, 29 Dec 2011 11:39:39 +0000 (11:39 +0000)]
ASoC: Convert wm8978 to direct regmap API usage

Helps push the register cache code down out of ASoC and improves resume
times by using the more efficient regmap cache sync code.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Use standard cache sync for WM8978
Mark Brown [Thu, 29 Dec 2011 11:32:09 +0000 (11:32 +0000)]
ASoC: Use standard cache sync for WM8978

Saves a bit of code and supports further refactoring.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert wm8978 to devm_kzalloc()
Mark Brown [Thu, 29 Dec 2011 11:16:53 +0000 (11:16 +0000)]
ASoC: Convert wm8978 to devm_kzalloc()

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Convert wm8978 to table based DAPM and control init
Mark Brown [Thu, 29 Dec 2011 11:15:43 +0000 (11:15 +0000)]
ASoC: Convert wm8978 to table based DAPM and control init

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Remove unused control type from wm8978 driver
Mark Brown [Thu, 29 Dec 2011 11:13:15 +0000 (11:13 +0000)]
ASoC: Remove unused control type from wm8978 driver

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Make WM8978 I2C usage unconditional
Mark Brown [Thu, 29 Dec 2011 11:12:45 +0000 (11:12 +0000)]
ASoC: Make WM8978 I2C usage unconditional

The driver only supports I2C.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: Disable register synchronisation for low frequency WM8996 SYSCLK
Mark Brown [Wed, 18 Jan 2012 19:17:06 +0000 (19:17 +0000)]
ASoC: Disable register synchronisation for low frequency WM8996 SYSCLK

With a low frequency SYSCLK and a fast I2C clock register synchronisation
may occasionally take too long to take effect, causing I/O issues. Disable
synchronisation in order to avoid any issues.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
12 years agoASoC: Don't go through cache when applying WM5100 rev A updates
Mark Brown [Thu, 19 Jan 2012 11:16:37 +0000 (11:16 +0000)]
ASoC: Don't go through cache when applying WM5100 rev A updates

These are all to either uncached registers or fixes to register defaults,
in the former case the cache won't do anything and in the latter case
we're fixing things so the cache sync will do the right thing.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
12 years agoASoC: Mark WM5100 register map cache only when going into BIAS_OFF
Mark Brown [Wed, 18 Jan 2012 20:02:38 +0000 (20:02 +0000)]
ASoC: Mark WM5100 register map cache only when going into BIAS_OFF

Writing to the registers won't work if we do actually manage to hit a fully
powered off state.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
12 years agoASoC: tlv320aic32x4: always enable analouge block
Wolfram Sang [Wed, 18 Jan 2012 10:48:59 +0000 (11:48 +0100)]
ASoC: tlv320aic32x4: always enable analouge block

Register LDOCTLEN must always be initialized to clear the analog power
control bit, otherwise the analog block will stay deactivated.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: tlv320aic32x4: always enable dividers
Wolfram Sang [Wed, 18 Jan 2012 10:48:58 +0000 (11:48 +0100)]
ASoC: tlv320aic32x4: always enable dividers

Dividers (such as MDAC) are always needed, independent of the codec
being I2S master or slave. Needed on a custom board where the codec has
to be slave.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: sgtl5000: Fix wrong register name in restore
Zeng Zhaoming [Wed, 18 Jan 2012 05:58:07 +0000 (13:58 +0800)]
ASoC: sgtl5000: Fix wrong register name in restore

Correct SGTL5000_CHIP_CLK_CTRL to SGTL5000_CHIP_REF_CTRL in
sgtl5000_restore_regs(), and add comment to explain the
restore order.

Reported-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Zeng Zhaoming <zengzm.kernel@gmail.com>
Acked-by: Dong Aisheng <dong.aisheng@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoLinux 3.3-rc1
Linus Torvalds [Thu, 19 Jan 2012 23:04:48 +0000 (15:04 -0800)]
Linux 3.3-rc1

12 years agoMerge branches 'sched-urgent-for-linus', 'perf-urgent-for-linus' and 'x86-urgent...
Linus Torvalds [Thu, 19 Jan 2012 22:53:06 +0000 (14:53 -0800)]
Merge branches 'sched-urgent-for-linus', 'perf-urgent-for-linus' and 'x86-urgent-for-linus' of git://git./linux/kernel/git/tip/tip

* 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  sched/accounting, proc: Fix /proc/stat interrupts sum

* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  tracepoints/module: Fix disabling tracepoints with taint CRAP or OOT
  x86/kprobes: Add arch/x86/tools/insn_sanity to .gitignore
  x86/kprobes: Fix typo transferred from Intel manual

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86, syscall: Need __ARCH_WANT_SYS_IPC for 32 bits
  x86, tsc: Fix SMI induced variation in quick_pit_calibrate()
  x86, opcode: ANDN and Group 17 in x86-opcode-map.txt
  x86/kconfig: Move the ZONE_DMA entry under a menu
  x86/UV2: Add accounting for BAU strong nacks
  x86/UV2: Ack BAU interrupt earlier
  x86/UV2: Remove stale no-resources test for UV2 BAU
  x86/UV2: Work around BAU bug
  x86/UV2: Fix BAU destination timeout initialization
  x86/UV2: Fix new UV2 hardware by using native UV2 broadcast mode
  x86: Get rid of dubious one-bit signed bitfield

12 years agoMerge tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux-2.6
Linus Torvalds [Thu, 19 Jan 2012 22:52:03 +0000 (14:52 -0800)]
Merge tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux-2.6

gpio bug fixes for v3.3

* tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux-2.6:
  gpio: tps65910: Use correct offset for gpio initialization
  gpio/it8761e: Restrict it8761e gpio driver to x86.
  gpio-ml-ioh: cleanup __iomem annotation usage
  gpio-ml-ioh: cleanup NULL pointer checking
  gpio-pch: cleanup __iomem annotation usage
  gpio-pch: cleanup NULL pointer checking

12 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Linus Torvalds [Thu, 19 Jan 2012 22:49:16 +0000 (14:49 -0800)]
Merge branch 'for-linus' of git://git./linux/kernel/git/viro/vfs

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  qnx4: don't leak ->BitMap on late failure exits
  qnx4: reduce the insane nesting in qnx4_checkroot()
  qnx4: di_fname is an array, for crying out loud...
  vfs: remove printk from set_nlink()
  wake up s_wait_unfrozen when ->freeze_fs fails

12 years agox86, syscall: Need __ARCH_WANT_SYS_IPC for 32 bits
H. Peter Anvin [Thu, 19 Jan 2012 20:41:25 +0000 (12:41 -0800)]
x86, syscall: Need __ARCH_WANT_SYS_IPC for 32 bits

In checkin

  303395ac3bf3 x86: Generate system call tables and unistd_*.h from tables

the feature macros in <asm/unistd.h> were unified between 32 and 64
bits.  Unfortunately 32 bits requires __ARCH_WANT_SYS_IPC and this was
inadvertently dropped.

Reported-by: Dmitry Kasatkin <dmitry.kasatkin@intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Link: http://lkml.kernel.org/r/CALLzPKbeXN5gdngo8uYYU8mAow=XhrwBFBhKfG811f37BubQOg@mail.gmail.com
12 years agoMerge remote-tracking branch 'linus/master' into x86/urgent
H. Peter Anvin [Thu, 19 Jan 2012 20:56:50 +0000 (12:56 -0800)]
Merge remote-tracking branch 'linus/master' into x86/urgent

12 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
Linus Torvalds [Thu, 19 Jan 2012 19:46:08 +0000 (11:46 -0800)]
Merge branch 'for-linus' of git://git./linux/kernel/git/jmorris/linux-security

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
  KEYS: Permit key_serial() to be called with a const key pointer
  keys: fix user_defined key sparse messages
  ima: fix cred sparse warning
  MPILIB: Add a missing ENOMEM check

12 years agoqnx4: don't leak ->BitMap on late failure exits
Al Viro [Thu, 19 Jan 2012 18:54:36 +0000 (13:54 -0500)]
qnx4: don't leak ->BitMap on late failure exits

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoqnx4: reduce the insane nesting in qnx4_checkroot()
Al Viro [Thu, 19 Jan 2012 18:40:57 +0000 (13:40 -0500)]
qnx4: reduce the insane nesting in qnx4_checkroot()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoqnx4: di_fname is an array, for crying out loud...
Al Viro [Thu, 19 Jan 2012 18:19:42 +0000 (13:19 -0500)]
qnx4: di_fname is an array, for crying out loud...

(struct qnx4_inode_entry *)(bh->b_data + some_offset)->di_fname
is not going to be NULL, TYVM...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoKEYS: Permit key_serial() to be called with a const key pointer
David Howells [Wed, 18 Jan 2012 10:04:29 +0000 (10:04 +0000)]
KEYS: Permit key_serial() to be called with a const key pointer

Permit key_serial() to be called with a const key pointer.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <jmorris@namei.org>
12 years agokeys: fix user_defined key sparse messages
Mimi Zohar [Wed, 18 Jan 2012 10:03:14 +0000 (10:03 +0000)]
keys: fix user_defined key sparse messages

Replace the rcu_assign_pointer() calls with rcu_assign_keypointer().

Signed-off-by: Mimi Zohar <zohar@us.ibm.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <jmorris@namei.org>