profile/common/kernel-common.git
15 years agoASoC: TWL4030: Add VDL analog bypass
Lopez Cruz, Misael [Fri, 1 May 2009 02:47:22 +0000 (21:47 -0500)]
ASoC: TWL4030: Add VDL analog bypass

This patch adds voice downlink analog bypass switch. It follows
the same approach as in other analog bypass switches.
DAC switch is moved from 'DAC Voice' to 'Analog Voice Playback Mixer',
that will also allow voice DAC to be powered in digital voice
loopback (sidetone).

Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Remove unused DAI format defines
Mark Brown [Sat, 2 May 2009 11:28:25 +0000 (12:28 +0100)]
ASoC: Remove unused DAI format defines

The defines for TDM and synchronous clocks are not used - they are
mostly a legacy of the automatic clocking configuration.  TDM will
require configuration of the number of timeslots and which ones to use
so can't be fit into the DAI format and synchronous mode is handled by
symmetric_rates (and needs to be done by constraints rather than when
the DAI format is being configured).

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Use a shared define for AC97 CODEC data formats
Mark Brown [Sat, 2 May 2009 11:24:55 +0000 (12:24 +0100)]
ASoC: Use a shared define for AC97 CODEC data formats

The AC97 wire format is completely fixed so CODECs don't have any choice
about the formats they accept but controllers accept a variety of data
formats and render them down onto the bus.  Have a shared define so all
the CODEC drivers will interoperate with any of our controller drivers.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Use platform device resource for S3C64xx IISv2
Mark Brown [Thu, 30 Apr 2009 12:42:04 +0000 (13:42 +0100)]
ASoC: Use platform device resource for S3C64xx IISv2

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Staticise txctrl and rxctrl for S3C IISv2
Mark Brown [Thu, 30 Apr 2009 12:21:52 +0000 (13:21 +0100)]
ASoC: Staticise txctrl and rxctrl for S3C IISv2

They aren't used by anything external and aren't prototyped; if any
users appear they can be exported again for them.

Also report what modes we have a problem with when we encounter invalid
mode configurations.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Display S3C IISv2 mode and MS errors by default
Mark Brown [Thu, 30 Apr 2009 12:14:38 +0000 (13:14 +0100)]
ASoC: Display S3C IISv2 mode and MS errors by default

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Display the clock rate used as the basis for rate calculation
Mark Brown [Thu, 30 Apr 2009 12:13:55 +0000 (13:13 +0100)]
ASoC: Display the clock rate used as the basis for rate calculation

Aids debugging.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Allow use of resource from the platform device for S3C IISv2
Mark Brown [Thu, 30 Apr 2009 12:09:33 +0000 (13:09 +0100)]
ASoC: Allow use of resource from the platform device for S3C IISv2

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Fix boot warnings from S3C IISv2
Mark Brown [Thu, 30 Apr 2009 12:13:14 +0000 (13:13 +0100)]
ASoC: Fix boot warnings from S3C IISv2

On startup we try to make sure that the port is quiesced but if the
port is already stopped then this will generate a warning about the
RX/TX mode configuration. Configure the mode before doing the teardown
to suppress these warnings.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Fix data format configuration for S3C64xx IISv2 and add 24 bit
Mark Brown [Wed, 29 Apr 2009 19:29:25 +0000 (20:29 +0100)]
ASoC: Fix data format configuration for S3C64xx IISv2 and add 24 bit

The data format configuration for S3C64xx IISv2 is completely different
to that for S3C24xx. Instead of a single bit configuration in bit 0 of
IISMOD we have format selection in bits 13 and 14 and bit clock rate
selection in bits 1 and 2. While we're here add support for 24 bit
samples in S3C64xx.

At some point it may be desirable to expose the bit clock rate selection
to users but given the limited configuration options that may not be
required.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Make S3C64xx clock export function to return struct clk
Mark Brown [Wed, 29 Apr 2009 19:30:39 +0000 (20:30 +0100)]
ASoC: Make S3C64xx clock export function to return struct clk

This makes the interface usable with the s3c-iis-v2 rate calculator
and consistent with S3C2412.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Check for supported CPUs when building s3c-i2s-v2
Mark Brown [Wed, 29 Apr 2009 19:28:47 +0000 (20:28 +0100)]
ASoC: Check for supported CPUs when building s3c-i2s-v2

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Fix error message formatting in s3c64xx-i2s driver
Mark Brown [Wed, 29 Apr 2009 17:51:48 +0000 (18:51 +0100)]
ASoC: Fix error message formatting in s3c64xx-i2s driver

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoMerge branch 'for-2.6.30' into for-2.6.31
Mark Brown [Tue, 28 Apr 2009 18:33:45 +0000 (19:33 +0100)]
Merge branch 'for-2.6.30' into for-2.6.31

15 years agoASoC: TWL4030: Fix gain control for earpiece amplifier
Joonyoung Shim [Tue, 28 Apr 2009 09:18:05 +0000 (18:18 +0900)]
ASoC: TWL4030: Fix gain control for earpiece amplifier

The gain control for earpiece amplifier uses 0dB ~ 12dB according to the
TRM, but the present code is implemented to -6dB ~ 6dB.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Staticise TLV values in WM8940
Mark Brown [Mon, 27 Apr 2009 19:57:42 +0000 (20:57 +0100)]
ASoC: Staticise TLV values in WM8940

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoMerge branch 'for-2.6.30' into for-2.6.31
Mark Brown [Mon, 27 Apr 2009 19:47:35 +0000 (20:47 +0100)]
Merge branch 'for-2.6.30' into for-2.6.31

15 years agoASoC: Set the MPC5200 i2s driver to BROKEN status.
Jon Smirl [Mon, 27 Apr 2009 16:44:41 +0000 (12:44 -0400)]
ASoC: Set the MPC5200 i2s driver to BROKEN status.

Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Fix logic in WM8350 master clocking check
Mark Brown [Mon, 27 Apr 2009 18:18:22 +0000 (19:18 +0100)]
ASoC: Fix logic in WM8350 master clocking check

We need to check only if the WM8350 is master and only when starting
the stream so if either is not true then we can skip the check.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: cs4270: add Master Playback Switch
Daniel Mack [Fri, 24 Apr 2009 14:37:45 +0000 (16:37 +0200)]
ASoC: cs4270: add Master Playback Switch

This adds a new control named 'Master Playback Switch' for cs4270
codecs. It is implemented using the new SOC_DOUBLE_EXT macro to catch
the put function and store the information about manually set mute
controls from userspace. When a manual mute is set, we don't want the
soc core to un-mute the outputs.

Renamed cs4270_mute() to cs4270_dai_mute() to avoid confusion.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: cs4270: fix Master Capture Switch polarity
Daniel Mack [Fri, 24 Apr 2009 13:00:25 +0000 (15:00 +0200)]
ASoC: cs4270: fix Master Capture Switch polarity

The control modifies the MUTE register, hence the polarity must be
inverted.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Acked-By: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC WM8940 Driver
Jonathan Cameron [Mon, 27 Apr 2009 13:49:44 +0000 (13:49 +0000)]
ASoC WM8940 Driver

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Use our registration function for S3C64xx
Mark Brown [Mon, 27 Apr 2009 19:24:15 +0000 (20:24 +0100)]
ASoC: Use our registration function for S3C64xx

Make sure we get the DAI operations initialised.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: s3c-i2s-v2 diagnostic improvements
Mark Brown [Mon, 27 Apr 2009 19:23:19 +0000 (20:23 +0100)]
ASoC: s3c-i2s-v2 diagnostic improvements

Say what invalid values we're seeing when we see an invalid value and
ensure that errors are displayed by default.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Include WM8350 register definitions in CODEC header
Mark Brown [Mon, 27 Apr 2009 18:17:08 +0000 (19:17 +0100)]
ASoC: Include WM8350 register definitions in CODEC header

It's expected behaviour for the CODEC header to provide them but the
WM8350 doesn't due to having all the registers together under drivers/mfd.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Enforce symmetric rates for S3C64xx I2S interface
Mark Brown [Mon, 27 Apr 2009 13:28:44 +0000 (14:28 +0100)]
ASoC: Enforce symmetric rates for S3C64xx I2S interface

There is only one LRCLK pin on each interface.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: S3C2412: Failing to get the I2S clock is an error
Mark Brown [Fri, 24 Apr 2009 15:27:09 +0000 (16:27 +0100)]
ASoC: S3C2412: Failing to get the I2S clock is an error

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Fix S3C64xx IIS device registration and support both ports
Mark Brown [Fri, 24 Apr 2009 15:33:10 +0000 (16:33 +0100)]
ASoC: Fix S3C64xx IIS device registration and support both ports

The S3C64xx IIS code had a number of problems with device registration.
The hardware has two IIS ports of which the driver supported only one
at once via a single exported DAI, attempting to identify the DAI to
use based on the dev->id of the ASoC platform device.  As well as
limiting the driver to only supporting one IIS port at once this also
meant that the ID of the soc-audio device (or in future the card device)
had to match the IIS ID.

Fix both problems by converting the driver to register the DAIs based on
probing of platform devices registered by the arch/arm code, using those
platform devices to interact with the clock API.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: add SOC_DOUBLE_EXT macro
Daniel Mack [Fri, 24 Apr 2009 14:37:44 +0000 (16:37 +0200)]
ASoC: add SOC_DOUBLE_EXT macro

Add a macro for double controls with special callback functions.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Beagle: Add support for 4 channel
Peter Ujfalusi [Fri, 24 Apr 2009 08:03:21 +0000 (11:03 +0300)]
ASoC: Beagle: Add support for 4 channel

This patch adds support for the four channel TDM mode
on Beagle board.

Depending on the channel count, the interface needs to be
configured differently (I2S for stereo DSP_A for four channels)

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: TWL4030: Add 4 channel TDM support
Peter Ujfalusi [Thu, 23 Apr 2009 11:36:49 +0000 (14:36 +0300)]
ASoC: TWL4030: Add 4 channel TDM support

Support for 4 channel TDM (SND_SOC_DAIFMT_DSP_A) for twl4030
codec.
The channel allocations are:
Playback:
TDM         i2s   TWL RX
Channel 1   Left  SDRL2
Channel 3   Right SDRR2
Channel 2   --    SDRL1
Channel 4   --    SDRR1

Capture:
TDM         i2s   TWL TX
Channel 1   Left  TXL1
Channel 3   Right TXR1
Channel 2   --    TXL2
Channel 4   --    TXR2

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: OMAP: Add 4 channel support to mcbsp
Peter Ujfalusi [Thu, 23 Apr 2009 11:36:48 +0000 (14:36 +0300)]
ASoC: OMAP: Add 4 channel support to mcbsp

Add 4 channel support to omap-mcbsp.
This mode is going to be used by the twl4030 codec, when it
is configured in Option1 mode.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoMerge branch 'for-2.6.30' into for-2.6.31
Mark Brown [Thu, 23 Apr 2009 15:09:52 +0000 (16:09 +0100)]
Merge branch 'for-2.6.30' into for-2.6.31

15 years agoASoC: s3c-i2s-v2 needs to declare a license for modular builds
Mark Brown [Thu, 23 Apr 2009 14:43:45 +0000 (15:43 +0100)]
ASoC: s3c-i2s-v2 needs to declare a license for modular builds

It relies on EXPORT_SYMBOL_GPL() symbols.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: change stereo/mono to 32-bit/16-bit for pxa-ssp
Eric Miao [Thu, 23 Apr 2009 09:57:46 +0000 (17:57 +0800)]
ASoC: change stereo/mono to 32-bit/16-bit for pxa-ssp

The original idea came from pHilipp, and this makes the code looks
more consistent.

Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoMerge branch 'for-2.6.30' into for-2.6.31
Mark Brown [Thu, 23 Apr 2009 09:37:17 +0000 (10:37 +0100)]
Merge branch 'for-2.6.30' into for-2.6.31

15 years agoMerge commit 'takashi/fix/asoc' into for-2.6.30
Mark Brown [Thu, 23 Apr 2009 09:33:47 +0000 (10:33 +0100)]
Merge commit 'takashi/fix/asoc' into for-2.6.30

15 years agoASoC: simplify the SSP DMA parameters settings by run-time generation
Eric Miao [Thu, 23 Apr 2009 09:05:38 +0000 (17:05 +0800)]
ASoC: simplify the SSP DMA parameters settings by run-time generation

The SSP DMA parameters can actually be easily generated at run-time since
they are almost similar except for the FIFO width and direction. Another
benefit is the re-use of information from 'struct ssp_device', like SSDR
physical FIFO address and DRCMR register index for both directions.

Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Reviewed-by: pHilipp Zabel <philipp.zabel@gmail.com>
15 years agoASoC: TWL4030: Add VDL path support
Joonyoung Shim [Wed, 22 Apr 2009 04:13:34 +0000 (13:13 +0900)]
ASoC: TWL4030: Add VDL path support

Add DAPMs for VDL(Voice Down Link) path. To support VDL path, we have
to change DAPMs of outputs(Earpiece, PreDrive Left/Right, Headset
Left/Right, Carkit Left/Right) from mux to mixer.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: remove non-existing referece to CONFIG_SND_SOC_CODEC_WM8991
Takashi Iwai [Thu, 23 Apr 2009 06:22:23 +0000 (08:22 +0200)]
ASoC: remove non-existing referece to CONFIG_SND_SOC_CODEC_WM8991

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoASoC: Implement WM8903 digital sidetone support
Mark Brown [Wed, 22 Apr 2009 20:36:14 +0000 (21:36 +0100)]
ASoC: Implement WM8903 digital sidetone support

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Remove redundant rate constraint for WM8903
Mark Brown [Wed, 22 Apr 2009 20:06:14 +0000 (21:06 +0100)]
ASoC: Remove redundant rate constraint for WM8903

This is now handled by symmetric_rates.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Actively manage the DC servo for WM8903
Mark Brown [Wed, 22 Apr 2009 20:03:50 +0000 (21:03 +0100)]
ASoC: Actively manage the DC servo for WM8903

Save a little extra power by enabling the DC servo offset correction
for the output channels only when the relevant channels are enabled.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Optimise configuration of WM8903 DC servo
Mark Brown [Wed, 22 Apr 2009 19:32:40 +0000 (20:32 +0100)]
ASoC: Optimise configuration of WM8903 DC servo

Modify the default startup sequence in the chip to set the DC servo
dither level for optimal performance.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Support CLK_DSP in WM8903
Mark Brown [Wed, 22 Apr 2009 19:04:44 +0000 (20:04 +0100)]
ASoC: Support CLK_DSP in WM8903

CLK_DSP provides a master clock for the DAC and ADC related functionality
on the device.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Use DAPM supply widget for WM8903 charge pump
Mark Brown [Wed, 22 Apr 2009 17:39:39 +0000 (18:39 +0100)]
ASoC: Use DAPM supply widget for WM8903 charge pump

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Add power supply widget to DAPM
Mark Brown [Wed, 22 Apr 2009 17:24:55 +0000 (18:24 +0100)]
ASoC: Add power supply widget to DAPM

Many modern CODECs have shared resources on chip which must be enabled
for portions of the chip to work but which can be disabled at other times
in order to achieve power savings. Examples of such resources include
power supplies and some internal clocks.

Since these widgets are dependencies for the audio path but do not carry
audio signals they require slightly different handling to most widgets -
they do not contribute to the audio path and so should not be counted as
either inputs or outputs during path walks.

Cases where one supply provides a supply for another will require
additional work. There is also room for more optimisation of the graph
walking to avoid repeated checks for the same thing.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: OMAP: Add checking to detect bufferless pcms
Joonyoung Shim [Wed, 22 Apr 2009 01:56:50 +0000 (10:56 +0900)]
ASoC: OMAP: Add checking to detect bufferless pcms

Add checking in hw_params and prepare to detect bufferless pcms(i.e. BT
<--> codec).

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Fix WM8580 volume update handling for large register changes
Mark Brown [Tue, 21 Apr 2009 11:57:00 +0000 (12:57 +0100)]
ASoC: Fix WM8580 volume update handling for large register changes

The driver is out of sync with the core functions it is using.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Fix offset of freqmode in WM8580 PLL configuration
Mark Brown [Tue, 21 Apr 2009 11:35:15 +0000 (12:35 +0100)]
ASoC: Fix offset of freqmode in WM8580 PLL configuration

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
15 years agoASoC: Make the DAPM power check an operation on the widget
Mark Brown [Mon, 20 Apr 2009 16:56:13 +0000 (17:56 +0100)]
ASoC: Make the DAPM power check an operation on the widget

Rather than having switch statements at point of use make the DAPM
power check a member of the widget structure and set it when we
instantiate the widget.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Factor out DAPM power checks for DACs and ADCs
Mark Brown [Mon, 20 Apr 2009 16:15:41 +0000 (17:15 +0100)]
ASoC: Factor out DAPM power checks for DACs and ADCs

This also switches us to using a switch statement for the widget type
in dapm_power_widget().

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Factor out generic widget power checks
Mark Brown [Mon, 20 Apr 2009 15:56:59 +0000 (16:56 +0100)]
ASoC: Factor out generic widget power checks

This will form a basis for further power check refactoring: the overall
goal of these changes is to allow us to check power separately to
applying it, allowing improvements in the power sequencing algorithms.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoMerge branch 'for-2.6.30' into for-2.6.31
Mark Brown [Mon, 20 Apr 2009 11:45:40 +0000 (12:45 +0100)]
Merge branch 'for-2.6.30' into for-2.6.31

15 years agoASoC: TWL4030: Add support Voice DAI
Joonyoung Shim [Mon, 20 Apr 2009 10:21:35 +0000 (19:21 +0900)]
ASoC: TWL4030: Add support Voice DAI

Add Voice DAI to support the PCM voice interface of the twl4030 codec.

The PCM voice interface can be used with 8-kHz(voice narrowband) or
16-kHz(voice wideband) sampling rates, and 16bits, and mono RX and mono
TX or stereo TX.

The PCM voice interface has two modes
 - PCM mode1 : This uses the normal FS polarity and the rising edge of
               the clock signal.
 - PCM mode2 : This uses the FS polarity inverted and the falling edge
               of the clock signal.

If the system master clock is not 26MHz or the twl4030 codec mode is not
option2, the voice PCM interface is not available.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Fix warning in wm9705
Russell King - ARM Linux [Sat, 18 Apr 2009 09:11:53 +0000 (10:11 +0100)]
ASoC: Fix warning in wm9705

I notice that the fixes were merged, minus one:

sound/soc/codecs/wm9705.c: At top level:
sound/soc/codecs/wm9705.c:445: warning: initialization from incompatible pointer type

so you might find this trivial patch useful.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: TWL4030: Fix for the constraint handling
Peter Ujfalusi [Fri, 17 Apr 2009 12:55:08 +0000 (15:55 +0300)]
ASoC: TWL4030: Fix for the constraint handling

The original implementation of the constraints were good against sane
applications.
If the opening sequence is:
stream1_open, stream1_hw_params, stream2_open, stream2_hw_params -> the
constraints are set correctly for stream2.

But if the sequence is:
stream1_open, stream2_open, stream2_hw_params, stream1_hw_params -> than stream2
would receive constraint rate = 0, sample_bits = 0, since the stream1 has not
yet called hw_params...

The command to trigger this event:
gst-launch-0.10 alsasrc device=hw:0 ! alsasink device=hw:0 sync=false

This patch does some 'black magic' in order to always set the correct
constraints and sets it only when it is needed for the other stream.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: OMAP: Update contact addresses
Jarkko Nikula [Fri, 17 Apr 2009 11:42:26 +0000 (14:42 +0300)]
ASoC: OMAP: Update contact addresses

My email address is going to expire soon so update it. Adding also
Peter Ujfalusi <peter.ujfalusi@nokia.com> as a second contact to OMAP core
drivers since I won't have anymore access to non-public OMAP documentation
in the future and Peter is working with these drivers as well.

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Cc: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: pxa-ssp: Don't use SSCR0_SerClkDiv and SSCR0_SCR
Philipp Zabel [Fri, 17 Apr 2009 09:39:38 +0000 (11:39 +0200)]
ASoC: pxa-ssp: Don't use SSCR0_SerClkDiv and SSCR0_SCR

Those macros are just screwed as soon as CONFIG_PXA25x is enabled.

This patch
- changes ssp_set_scr to take an ssp_dev pointer instead of ssp_device
- adds a corresponding ssp_get_scr function.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoMerge branch 'for-2.6.30' into for-2.6.31
Mark Brown [Thu, 16 Apr 2009 13:14:35 +0000 (14:14 +0100)]
Merge branch 'for-2.6.30' into for-2.6.31

15 years agoASoC: OMAP: Add DSP_A mode support for mcbsp
Peter Ujfalusi [Wed, 15 Apr 2009 12:38:56 +0000 (15:38 +0300)]
ASoC: OMAP: Add DSP_A mode support for mcbsp

DSP_A mode is similar to the DSP_B, but the MSB is delayed with
one bclk (appears after the FS pulse and not under it).

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: OMAP: Use single-phase for DSP mode
Peter Ujfalusi [Wed, 15 Apr 2009 12:38:55 +0000 (15:38 +0300)]
ASoC: OMAP: Use single-phase for DSP mode

Use single-phase mode for the DSP mode and keep the dual phase
mode for the I2S mode.

The mono (1 channel) mode already used single phase mode,
now it is more cleaner. There is no need to configure the
second phase, when the single phase is used.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: OMAP: Fix FS polarity in OSK5912 machine driver
Jarkko Nikula [Wed, 15 Apr 2009 10:48:17 +0000 (13:48 +0300)]
ASoC: OMAP: Fix FS polarity in OSK5912 machine driver

Using inverted FS polarity in OSK5912 must be an error since TLV320AIC23
do not have support for inverted polarities. This is mostly due the hassle
with the DSP formats in OMAP McBSP DAI and inversion on OMAP side probably
just made this configuration working at some point.

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Acked-by: Arun KS <arunks@mistralsolutions.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: OMAP: Fix DSP_B format in OMAP McBSP DAI driver
Jarkko Nikula [Wed, 15 Apr 2009 10:48:16 +0000 (13:48 +0300)]
ASoC: OMAP: Fix DSP_B format in OMAP McBSP DAI driver

The DSP format wasn't still correct in OMAP McBSP DAI even after the commit
bd25867a6cbe7a00ef7dbe8d9ddebc91b00b9b3f.

Thanks to Peter Ujfalusi <peter.ujfalusi@nokia.com> for noticing and being
part of the fix. Now the FS length definition is more clear by defining
it with  FWID(0).

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Fix include build error in s3c2412-i2s.c
Ben Dooks [Thu, 16 Apr 2009 09:32:21 +0000 (10:32 +0100)]
ASoC: Fix include build error in s3c2412-i2s.c

Fix accidental change of <mach/regs-gpio.h> to
<plat/regs-gpio.h> in s3c2412-i2s.c

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Fix s3c-i2s-v2.c snd_soc_dai changes
Ben Dooks [Thu, 16 Apr 2009 09:32:22 +0000 (10:32 +0100)]
ASoC: Fix s3c-i2s-v2.c snd_soc_dai changes

Fix the build error in s3c-i2s-v2.c caused by
a change to the snd_soc_dai ops field.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: s3c-i2s-v2.c fix for s3c_i2sv2_iis_calc_rate
Ben Dooks [Thu, 16 Apr 2009 09:32:23 +0000 (10:32 +0100)]
ASoC: s3c-i2s-v2.c fix for s3c_i2sv2_iis_calc_rate

The definition of s3c_i2sv2_iis_calc_rate was never
renamed from s3c2412_iis_calc_rate, so rename this
to allow the build to work.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Fix jive_wm8750.c build problems
Ben Dooks [Thu, 16 Apr 2009 09:32:20 +0000 (10:32 +0100)]
ASoC: Fix jive_wm8750.c build problems

Fix build errors in sound/soc/s3c24xx/jive_wm8750.c
from changes to ASoC.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: pxa-ssp: allow setting of dai format 0
Daniel Mack [Wed, 15 Apr 2009 18:24:45 +0000 (20:24 +0200)]
ASoC: pxa-ssp: allow setting of dai format 0

pxa_ssp_set_dai_fmt() currently has an early exit if the desired format
equals the current configuration. This is correct behaviour unless this
function is called with a zero value parameter for the first time.
Zero is a valid value for this function, but the early exit is bogus in
this case.

Hence, set priv->dai_fmt to -1 in the beginning so we can configure the
port.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Cc: pHilipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Request shared rates for WM8903
Mark Brown [Thu, 16 Apr 2009 09:08:39 +0000 (10:08 +0100)]
ASoC: Request shared rates for WM8903

It has a shared LRCLK.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Volume controls are never of boolean type
Mark Brown [Wed, 15 Apr 2009 20:37:46 +0000 (21:37 +0100)]
ASoC: Volume controls are never of boolean type

Some limited volume controls (mostly simple attenuations) have only two
settings so the ASoC info functions misreport them as booleans. Since
we currently have no better information check for " Volume" in the
control name and always report any controls matching as being integer.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Check we have DAI ops when calling via accessor functions
Mark Brown [Wed, 15 Apr 2009 20:35:26 +0000 (21:35 +0100)]
ASoC: Check we have DAI ops when calling via accessor functions

Also make sure we're checking for the right operation while we're here.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoMerge branch 'for-2.6.30' into for-2.6.31
Mark Brown [Tue, 14 Apr 2009 12:22:37 +0000 (13:22 +0100)]
Merge branch 'for-2.6.30' into for-2.6.31

15 years agoMerge branch 'for-2.6.30' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Takashi Iwai [Tue, 14 Apr 2009 09:48:25 +0000 (11:48 +0200)]
Merge branch 'for-2.6.30' of git://git./linux/kernel/git/broonie/sound-2.6 into topic/asoc

15 years agoMerge branch 'for-2.6.30' into for-2.6.31
Mark Brown [Mon, 13 Apr 2009 14:12:48 +0000 (15:12 +0100)]
Merge branch 'for-2.6.30' into for-2.6.31

15 years agoASoC: Add WM8960 CODEC driver
Mark Brown [Tue, 7 Apr 2009 18:20:14 +0000 (19:20 +0100)]
ASoC: Add WM8960 CODEC driver

The WM8960 is a low power, high quality stereo codec designed for
portable digital audio applications.

Stereo class D speaker drivers provide 1W per channel into 8W loads.
Guaranteed low leakage, excellent PSRR and pop/click suppression
mechanisms enable direct battery connection for the speaker supply.

The device also integrates a complete microphone interface and a stereo
headphone driver. External component requirements are drastically
reduced as no separate microphone, speaker or headphone amplifiers are
required. Advanced on-chip digital signal processing performs automatic
level control for the microphone or line input.

Stereo 24-bit sigma-delta ADCs and DACs are used with low power
over-sampling digital interpolation and decimation filters and a
flexible digital audio interface.

The master clock can be input directly or generated internally by an
onboard PLL, supporting most commonly-used clocking schemes.

This driver was originally written by Liam Girdwood, with substantial
subsequent additions and updates for feature completeness and changes in
the ASoC framework from me.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: pxa-ssp.c fix clock/frame invert
Daniel Ribeiro [Wed, 8 Apr 2009 13:51:24 +0000 (10:51 -0300)]
ASoC: pxa-ssp.c fix clock/frame invert

SCMODE(0): Data Driven (Falling), Data Sampled (Rising), Idle State (Low)
SCMODE(1): Data Driven (Rising), Data Sampled (Falling), Idle State (Low)
SCMODE(2): Data Driven (Rising), Data Sampled (Falling), Idle State (High)
SCMODE(3): Data Driven (Falling), Data Sampled (Rising), Idle State (High)

SCMODE(3) does not invert the clock polarity compared to the default SCMODE(0).

This patch also adds all possible NF/IF, NB/IB combinations to the DSP_A and
DSP_B modes.

Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Move the WM9713 voice DAC powerdown to a DAPM event
Mark Brown [Mon, 13 Apr 2009 10:29:10 +0000 (11:29 +0100)]
ASoC: Move the WM9713 voice DAC powerdown to a DAPM event

This ensures that we sync with the DAPM powerdown sequencing properly
and don't need to bounce the power on the voice DAC so often.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Support DAPM events for DACs and ADCs
Mark Brown [Mon, 13 Apr 2009 10:27:03 +0000 (11:27 +0100)]
ASoC: Support DAPM events for DACs and ADCs

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Factor out application of power for generic widgets
Mark Brown [Mon, 13 Apr 2009 10:09:18 +0000 (11:09 +0100)]
ASoC: Factor out application of power for generic widgets

This is simple code motion, intended to support future refactoring of
the DAPM algorithms and (more immediately) the additon of events for
DACs and ADCs.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: WM9713 requires symmetric rates on the voice DAI
Mark Brown [Mon, 13 Apr 2009 09:53:02 +0000 (10:53 +0100)]
ASoC: WM9713 requires symmetric rates on the voice DAI

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: n810: replace BUG() with BUG_ON()
Alexander Beregalov [Sun, 12 Apr 2009 01:04:43 +0000 (05:04 +0400)]
ASoC: n810: replace BUG() with BUG_ON()

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Disable S3C64xx support in Kconfig
Mark Brown [Thu, 9 Apr 2009 15:40:41 +0000 (16:40 +0100)]
ASoC: Disable S3C64xx support in Kconfig

Due to the process and communications issues with the 2.6.30 S3C
platform merges none of the underlying arch/arm code for S3C64xx audio
support made it into mainline, rendering the drivers useless.  Disable
them in Kconfig to avoid user confusion - users patching in the required
support can always reenable this too.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: tlv320aic23: add DSP_A format support
Peter Ujfalusi [Thu, 9 Apr 2009 09:34:40 +0000 (12:34 +0300)]
ASoC: tlv320aic23: add DSP_A format support

Add DSP_A interface format support by setting the LRP bit in
DSP mode.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: magician: remove un-necessary #include of pxa-regs.h and hardware.h
Eric Miao [Thu, 9 Apr 2009 06:13:07 +0000 (14:13 +0800)]
ASoC: magician: remove un-necessary #include of pxa-regs.h and hardware.h

Signed-off-by: Eric Miao <eric.miao@marvell.com>
Cc: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoLinux 2.6.30-rc1 v2.6.30-rc1
Linus Torvalds [Tue, 7 Apr 2009 21:25:01 +0000 (14:25 -0700)]
Linux 2.6.30-rc1

15 years agoMerge branch 'core/softlockup' of git://git.kernel.org/pub/scm/linux/kernel/git/tip...
Linus Torvalds [Tue, 7 Apr 2009 21:11:07 +0000 (14:11 -0700)]
Merge branch 'core/softlockup' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'core/softlockup' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  softlockup: make DETECT_HUNG_TASK default depend on DETECT_SOFTLOCKUP
  softlockup: move 'one' to the softlockup section in sysctl.c
  softlockup: ensure the task has been switched out once
  softlockup: remove timestamp checking from hung_task
  softlockup: convert read_lock in hung_task to rcu_read_lock
  softlockup: check all tasks in hung_task
  softlockup: remove unused definition for spawn_softlockup_task
  softlockup: fix potential race in hung_task when resetting timeout
  softlockup: fix to allow compiling with !DETECT_HUNG_TASK
  softlockup: decouple hung tasks check from softlockup detection

15 years agoMerge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Tue, 7 Apr 2009 21:10:10 +0000 (14:10 -0700)]
Merge branch 'tracing-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  branch tracer, intel-iommu: fix build with CONFIG_BRANCH_TRACER=y
  branch tracer: Fix for enabling branch profiling makes sparse unusable
  ftrace: Correct a text align for event format output
  Update /debug/tracing/README
  tracing/ftrace: alloc the started cpumask for the trace file
  tracing, x86: remove duplicated #include
  ftrace: Add check of sched_stopped for probe_sched_wakeup
  function-graph: add proper initialization for init task
  tracing/ftrace: fix missing include string.h
  tracing: fix incorrect return type of ns2usecs()
  tracing: remove CALLER_ADDR2 from wakeup tracer
  blktrace: fix pdu_len when tracing packet command requests
  blktrace: small cleanup in blk_msg_write()
  blktrace: NUL-terminate user space messages
  tracing: move scripts/trace/power.pl to scripts/tracing/power.pl

15 years agoMerge branch 'irq/threaded' of git://git.kernel.org/pub/scm/linux/kernel/git/tip...
Linus Torvalds [Tue, 7 Apr 2009 21:07:52 +0000 (14:07 -0700)]
Merge branch 'irq/threaded' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'irq/threaded' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  genirq: fix devres.o build for GENERIC_HARDIRQS=n
  genirq: provide old request_irq() for CONFIG_GENERIC_HARDIRQ=n
  genirq: threaded irq handlers review fixups
  genirq: add support for threaded interrupts to devres
  genirq: add threaded interrupt handler support

15 years agoNFS: Fix the return value in nfs_page_mkwrite()
Trond Myklebust [Tue, 7 Apr 2009 21:02:53 +0000 (14:02 -0700)]
NFS: Fix the return value in nfs_page_mkwrite()

Commit c2ec175c39f62949438354f603f4aa170846aabb ("mm: page_mkwrite
change prototype to match fault") exposed a bug in the NFS
implementation of page_mkwrite.  We should be returning 0 on success...

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes...
Linus Torvalds [Tue, 7 Apr 2009 18:24:19 +0000 (11:24 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/jbarnes/pci-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
  PCI: pci_slot: grab refcount on slot's bus
  PCI Hotplug: acpiphp: grab refcount on p2p subordinate bus
  PCI: allow PCI core hotplug to remove PCI root bus
  PCI: Fix oops in pci_vpd_truncate
  PCI: don't corrupt enable_cnt when doing manual resource alignment
  PCI: annotate pci_rescan_bus as __ref, not __devinit
  PCI-IOV: fix missing kernel-doc
  PCI: Setup disabled bridges even if buses are added
  PCI: SR-IOV quirk for Intel 82576 NIC

15 years agoMerge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
Linus Torvalds [Tue, 7 Apr 2009 18:06:41 +0000 (11:06 -0700)]
Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block

* 'for-linus' of git://git.kernel.dk/linux-2.6-block:
  loop: mutex already unlocked in loop_clr_fd()
  cfq-iosched: don't let idling interfere with plugging
  block: remove unused REQ_UNPLUG
  cfq-iosched: kill two unused cfqq flags
  cfq-iosched: change dispatch logic to deal with single requests at the time
  mflash: initial support
  cciss: change to discover first memory BAR
  cciss: kernel scan thread for MSA2012
  cciss: fix residual count for block pc requests
  block: fix inconsistency in I/O stat accounting code
  block: elevator quiescing helpers

15 years agoMerge branch 's6000' into for-2.6.31
Mark Brown [Tue, 7 Apr 2009 17:51:34 +0000 (18:51 +0100)]
Merge branch 's6000' into for-2.6.31

15 years agoASoC: Add WM8988 CODEC driver
Mark Brown [Tue, 7 Apr 2009 17:45:21 +0000 (18:45 +0100)]
ASoC: Add WM8988 CODEC driver

The WM8988 is a low power, high quality stereo CODEC designed for
portable digital audio applications.

The device integrates complete interfaces to 2 stereo headphone or line
out ports. External component requirements are drastically reduced as no
separate headphone amplifiers are required. Advanced on-chip digital
signal processing performs graphic equaliser, 3-D sound enhancement and
automatic level control for the microphone or line input.

The WM8988 can operate as a master or a slave, with various master clock
frequencies including 12 or 24MHz for USB devices, or standard 256fs
rates like 12.288MHz and 24.576MHz. Different audio sample rates such as
96kHz, 48kHz, 44.1kHz are generated directly from the master clock
without the need for an external PLL.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Provide core support for symmetric sample rates
Mark Brown [Tue, 7 Apr 2009 17:10:13 +0000 (18:10 +0100)]
ASoC: Provide core support for symmetric sample rates

Many devices require symmetric configurations of capture and playback
data formats, often due to shared clocking but sometimes also due to
other shared playback and record configuration in the device. Start
providing core support for this by allowing the DAIs or the machine
to specify that the sample rates used should be kept symmetric.

A flag symmetric_rates is provided in the snd_soc_dai and
snd_soc_dai_link structures. If this is set in either of the DAIs or in
the machine then a constraint will be applied when a stream is already
open preventing any changes in sample rate.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Display return code when failing to add a DAPM kcontrol
Mark Brown [Mon, 6 Apr 2009 15:59:32 +0000 (16:59 +0100)]
ASoC: Display return code when failing to add a DAPM kcontrol

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoFix build errors due to CONFIG_BRANCH_TRACER=y
Linus Torvalds [Tue, 7 Apr 2009 14:59:41 +0000 (07:59 -0700)]
Fix build errors due to CONFIG_BRANCH_TRACER=y

The code that enables branch tracing for all (non-constant) branches
plays games with the preprocessor and #define's the C 'if ()' construct
to do tracing.

That's all fine, but it fails for some unusual but valid C code that is
sometimes used in macros, notably by the intel-iommu code:

if (i=drhd->iommu, drhd->ignored) ..

because now the preprocessor complains about multiple arguments to the
'if' macro.

So make the macro expansion of this particularly horrid trick use
varargs, and handle the case of comma-expressions in if-statements.  Use
another macro to do it cleanly in just one place.

This replaces a patch by David (and acked by Steven) that did this all
inside that one already-too-horrid macro.

Tested-by: Ingo Molnar <mingo@elte.hu>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoMerge branch 'for-2.6.30' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Linus Torvalds [Tue, 7 Apr 2009 15:54:43 +0000 (08:54 -0700)]
Merge branch 'for-2.6.30' of git://git./linux/kernel/git/broonie/sound-2.6

* 'for-2.6.30' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6:
  ASoC: TWL4030: Compillation error fix

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
Linus Torvalds [Tue, 7 Apr 2009 15:53:38 +0000 (08:53 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/tiwai/sound-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (36 commits)
  ALSA: hda - Add VREF powerdown sequence for another board
  ALSA: oss - volume control for CSWITCH and CROUTE
  ALSA: hda - add missing comma in ad1884_slave_vols
  sound: usb-audio: allow period sizes less than 1 ms
  sound: usb-audio: save data packet interval in audioformat structure
  sound: usb-audio: remove check_hw_params_convention()
  sound: usb-audio: show sample format width in proc file
  ASoC: fsl_dma: Pass the proper device for dma mapping routines
  ASoC: Fix null dereference in ak4535_remove()
  ALSA: hda - enable SPDIF output for Intel DX58SO board
  ALSA: snd-atmel-abdac: increase periods_min to 6 instead of 4
  ALSA: snd-atmel-abdac: replace bus_id with dev_name()
  ALSA: snd-atmel-ac97c: replace bus_id with dev_name()
  ALSA: snd-atmel-ac97c: cleanup registers when removing driver
  ALSA: snd-atmel-ac97c: do a proper reset of the external codec
  ALSA: snd-atmel-ac97c: enable interrupts to catch events for error reporting
  ALSA: snd-atmel-ac97c: set correct size for buffer hardware parameter
  ALSA: snd-atmel-ac97c: do not overwrite OCA and ICA when assigning channels
  ALSA: snd-atmel-ac97c: remove dead break statements after return in switch case
  ALSA: snd-atmel-ac97c: cleanup register definitions
  ...

15 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzi...
Linus Torvalds [Tue, 7 Apr 2009 15:53:02 +0000 (08:53 -0700)]
Merge branch 'upstream-linus' of git://git./linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  sata_mv: shorten register names
  sata_mv: workaround errata SATA#13
  sata_mv: cosmetic renames
  sata_mv: workaround errata SATA#26
  sata_mv: workaround errata PCI#7
  sata_mv: replace 0x1f with ATA_PIO4 (v2)
  sata_mv: fix irq mask races
  sata_mv: revert SoC irq breakage
  libata: ahci enclosure management bios workaround
  ata: Add TRIM infrastructure
  ata_piix: VGN-BX297XP wants the controller power up on suspend
  libata: Remove some redundant casts from pata_octeon_cf.c
  pata_artop: typo