GitHub/exynos8895/android_kernel_samsung_universal8895.git
14 years agoASoC: TWL4030: PM fix for output amplifiers
Peter Ujfalusi [Mon, 22 Mar 2010 15:46:37 +0000 (17:46 +0200)]
ASoC: TWL4030: PM fix for output amplifiers

Gain controls on outputs affect the power consumption
when the gain is set to non 0 value.

Outputs with amps have one register to configure the
routing and the gain:
PREDL_CTL (0x25):
bit 0: Voice enable
bit 1: Audio L1 enable
bit 2: Audio L2 enable
bit 3: Audio R2 enable
bit 4-5: Gain (0x0 - power down, 0x1 - 6dB, 0x2 - 0dB, 0x3 - -6dB)

bit 0 - 3: is handled in DAPM domain (DAPM_MIXER)
bit 4 - 5: has simple volume control

If there is no audio activity (BIAS_STANDBY), and
user changes the volume, than the output amplifier will
be enabled.
If the user changes the routing (but the codec remains in
BIAS_STANDBY), than the cached gain value also be written
to the register, which enables the amplifier.

The existing workaround for this is to have virtual
PGAs associated with the outputs, and whit DAPM PMD
the gain on the output will be forced to 0 (off) by
bypassing the regcache.
This failed to disable the amplifiers in several
scenario (as mentioned above).

Also if the codec is in BIAS_ON state, and user modifies
a volume control, which path is actually not enabled, than
that amplifier will be enabled as well, but it will
be not turned off, since there is no DAPM path, which
would make mute it.

To prevent amps being enabled, when they are not
needed, introduce the following workaround:
Track the state of each of this type of output.
In twl4030_write only allow actual write, when the
given output is enabled, otherwise only update
the reg_cache.
The PGA event handlers on power up will write the cached
value to the chip (restoring gain, routing selection).
On power down 0 is written to the register (disabling
the amp, and also just in case clearing the routing).

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoMerge branch 'for-2.6.34' into for-2.6.35
Mark Brown [Fri, 19 Mar 2010 19:39:23 +0000 (19:39 +0000)]
Merge branch 'for-2.6.34' into for-2.6.35

14 years agoASoC: remove a card from the list, if instantiation failed
Guennadi Liakhovetski [Thu, 18 Mar 2010 07:23:33 +0000 (08:23 +0100)]
ASoC: remove a card from the list, if instantiation failed

If instantiation of a card failed, we still have to remove it from the
card list on unregistration. This fixes an Oops on Migo-R, triggering,
when after a failed firmware load attempt the driver modules are removed
and re-inserted again.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: move dma_data from snd_soc_dai to snd_soc_pcm_stream
Daniel Mack [Fri, 19 Mar 2010 14:52:55 +0000 (14:52 +0000)]
ASoC: move dma_data from snd_soc_dai to snd_soc_pcm_stream

This fixes a memory corruption when ASoC devices are used in
full-duplex mode. Specifically for pxa-ssp code, where this pointer
is dynamically allocated for each direction and destroyed upon each
stream start.

All other platforms are fixed blindly, I couldn't even compile-test
them. Sorry for any breakage I may have caused.

Reported-by: Sven Neumann <s.neumann@raumfeld.com>
Reported-by: Michael Hirsch <m.hirsch@raumfeld.com>
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Hook up microphone jack detection on 1133-EV1 board
Mark Brown [Tue, 16 Mar 2010 16:11:14 +0000 (16:11 +0000)]
ASoC: Hook up microphone jack detection on 1133-EV1 board

Note that since all the microphones share a bias there is a single
jack exported for all three, even though there are two physical
connectors plus the soldered down silicon mic.  Note also that the SiMic
is always present by default.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoMerge branch 'topic/jack' into for-2.6.35
Mark Brown [Fri, 19 Mar 2010 12:48:10 +0000 (12:48 +0000)]
Merge branch 'topic/jack' into for-2.6.35

14 years agoASoC: change bf5xx-ad1938 machine driver to bf5xx-ad193x machine driver
Barry Song [Fri, 19 Mar 2010 03:18:40 +0000 (11:18 +0800)]
ASoC: change bf5xx-ad1938 machine driver to bf5xx-ad193x machine driver

Signed-off-by: Barry Song <21cnbao@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Unexport AD193x bus probe/remove functions
Mark Brown [Fri, 19 Mar 2010 12:22:03 +0000 (12:22 +0000)]
ASoC: Unexport AD193x bus probe/remove functions

The export is not needed since the per-bus code lives in the same
module.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: rename ad1938 to ad193x and add support for ad1936/7/8/9
Barry Song [Fri, 19 Mar 2010 06:48:33 +0000 (14:48 +0800)]
ASoC: rename ad1938 to ad193x and add support for ad1936/7/8/9

Signed-off-by: Barry Song <barry.song@analog.com>
Signed-off-by: Yi Li <yi.li@analog.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: TWL6040: Add twl6040 codec driver
Misael Lopez Cruz [Fri, 19 Mar 2010 11:25:51 +0000 (11:25 +0000)]
ASoC: TWL6040: Add twl6040 codec driver

Initial version of TWL6040 codec driver.

The TWL6040 codec uses a proprietary PDM-based digital audio interface.
Audio paths supported are:

- Input: Main Mic, Sub Mic, Headset Mic, Auxiliary-FM Left/Right
- Output: Headset Left/Right, Handsfree Left/Right

TWL6040 codec supports power-up/down manual and automatic sequence.
Manual sequence is done through a specific register writes sequence.
Automatic sequence is done when the codec is powered-up through the
external AUDPWRON line. The completion of the sequence is signaled
through the audio interrupt.

TWL6040 codec sysclk can be provided by: low-power or high
performance PLL:

- The low-power PLL takes a low-frequency input at 32,768 Hz and
generates an approximate of 17.64 or 19.2 MHz (for 44.1 KHz and 48 KHz
respectively)

- The high-performance PLL generates an exact 19.2 MHz clock signal
from high-frequency input at 12/19.2/26/38.4 MHz.

Low-power playback mode is a special scenario where only headset path
(headset DAC and driver) is active.

For the particular case of headset path, PLL being used defines the
headset power mode: low-power, high-performance.

Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
Signed-off-by: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Bail out of wm_hubs DC servo if calibration fails
Mark Brown [Thu, 18 Mar 2010 12:25:35 +0000 (12:25 +0000)]
ASoC: Bail out of wm_hubs DC servo if calibration fails

We're keeping track of the number of times we've iterated but never
actually using this to bail out if the chip looks stuck.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: tlv320dac33: Internal clocking changes
Peter Ujfalusi [Fri, 19 Mar 2010 09:10:20 +0000 (11:10 +0200)]
ASoC: tlv320dac33: Internal clocking changes

During validation of the internal clocking setup it has
been found that the following settings were not configured
in an optimal way:

ASRC_CTRL_A: SRCLKDIV was incorrect, instad of divide ratio 3,
             ratio of 2 has to be used (as the comment stated)
DAC_CTRL_A: Fs = Fsref is the desired configuration instead of
            Fs = Fsref / 1.5

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: tlv320dac33: Fix DSP modes
Peter Ujfalusi [Fri, 19 Mar 2010 09:10:19 +0000 (11:10 +0200)]
ASoC: tlv320dac33: Fix DSP modes

To make DSP_A mode working correctly the data delay should be
configured to 0. DSP_B mode thus can not be used with DAC33,
so remove it.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Correct typoed Mic2 connections on 1133-EV1 board
Mark Brown [Tue, 16 Mar 2010 16:09:47 +0000 (16:09 +0000)]
ASoC: Correct typoed Mic2 connections on 1133-EV1 board

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: omap-mcbsp: Add support for Left Justified format
Peter Ujfalusi [Fri, 19 Mar 2010 10:27:31 +0000 (12:27 +0200)]
ASoC: omap-mcbsp: Add support for Left Justified format

Basic support for Left Justified coding for OMAP McBSP.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: McPDM: Use tabs for indentation
Jorge Eduardo Candelaria [Fri, 19 Mar 2010 01:45:41 +0000 (19:45 -0600)]
ASoC: McPDM: Use tabs for indentation

Indentation in initial support for McPDM driver was converted to spaces.
Use tabs to comply with open source coding-style.

Signed-off-by: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoOMAP4: PMIC: Rename twl6030_codec as twl6040_codec
Olaya, Margarita [Wed, 17 Mar 2010 22:42:29 +0000 (17:42 -0500)]
OMAP4: PMIC: Rename twl6030_codec as twl6040_codec

Correction for chips:
twl6030 is Phoenix Power chip
twl6040 is Phoenix Audio chip

Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: SIU driver shall select FW_LOADER
Guennadi Liakhovetski [Thu, 18 Mar 2010 08:39:59 +0000 (09:39 +0100)]
ASoC: SIU driver shall select FW_LOADER

The SIU ASoC driver must load firmware to program the DSP, therefore it
has to select FW_LOADER in its Kconfig entry.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: soc-cache: let reg be AND'ed by 0xff instead of data buffer for 8_8 mode
Barry Song [Thu, 18 Mar 2010 08:17:01 +0000 (16:17 +0800)]
ASoC: soc-cache: let reg be AND'ed by 0xff instead of data buffer for 8_8 mode

The registers for AD193X are defined as 0x800-0x810 for spi which uses
16_8 mode, for i2c to support AD1937, we will use 8_8 mode, only the low
byte of 0x800-0x810 is valid.  The patch will not destory other codecs,
but make soc cache interface more useful.

Signed-off-by: Barry Song <barry.song@analog.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: soc-cache: add i2c read entry for 8_8 mode
Cliff Cai [Thu, 18 Mar 2010 08:17:00 +0000 (16:17 +0800)]
ASoC: soc-cache: add i2c read entry for 8_8 mode

Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Barry Song <barry.song@analog.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoALSA: Add support for key reporting via the jack interface
Mark Brown [Wed, 17 Mar 2010 18:07:12 +0000 (18:07 +0000)]
ALSA: Add support for key reporting via the jack interface

Some devices provide support for detection of a small number of
buttons on their jacks. One common implementation provides a single
button, implemented by shorting the microphone to ground and detected
along with microphone presence detection by detecting varying current
draws on the microphone bias signal.

Provide support for up to three buttons via the jack interface. These
default to reporting BTN_n but an API is provided to allow these to
be remapped to other keys by the machine driver where it knows what
the keys are. More keys can be added with ease if required.

This is only intended to support simple accessory button designs. If
the interface is limiting then either creating a child device for the
accessory or accessing the input device in the jack directly is
recommended.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoALSA: Rename jack switch table in preparation for button support
Mark Brown [Wed, 17 Mar 2010 15:36:38 +0000 (15:36 +0000)]
ALSA: Rename jack switch table in preparation for button support

Avoids confusion when we have button support.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Refresh WM8750 bias management
Mark Brown [Wed, 17 Mar 2010 11:51:33 +0000 (11:51 +0000)]
ASoC: Refresh WM8750 bias management

The WM8750 is using some delayed work to manage the ramping of the bias
at startup and resume out of line from the normal flow.  This predates
the support within ASoC core for moving the resume out of line from the
main system resume which provides equivalent functionality with better
interaction with applications.  Change to doing the ramp in line to make
use of the core functionality.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Remove current PGA control handling
Mark Brown [Wed, 3 Mar 2010 17:45:21 +0000 (17:45 +0000)]
ASoC: Remove current PGA control handling

A code audit reveals that there are currently no users of the widget
controls on PGAs. This is likely to continue to be the case since
while there are useful things that can be done with integrating the
PGA gain and mute controls with the power sequencing userspace
generally wants stereo controls for output stages which this doesn't
map onto well.

In preparation for implementing something more useful strip out the
existing code, leaving the parameters there for use by the new code.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Implement WM835x microphone jack detection support
Mark Brown [Tue, 16 Mar 2010 15:54:12 +0000 (15:54 +0000)]
ASoC: Implement WM835x microphone jack detection support

The WM8350 provides microphone presence and short circuit detection.
Integrate this with the ASoC jack reporting API.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Support GPIO based microphone detection for WM8904
Mark Brown [Tue, 16 Mar 2010 14:26:45 +0000 (14:26 +0000)]
ASoC: Support GPIO based microphone detection for WM8904

The WM8904 allows microphone detection signals to be brought out as
alternate functions of the GPIO signals which can be detected using
interrupt inputs on the CPU. Allow this to be configured using
platform data.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Allow configuration of WM8904 GPIO pin functions
Mark Brown [Tue, 16 Mar 2010 12:01:28 +0000 (12:01 +0000)]
ASoC: Allow configuration of WM8904 GPIO pin functions

Provide platform data allowing the configuration of the GPIO pins
on the WM8904 to be selected, allowing alternate functions to be
enabled.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Implement interrupt driven microphone detection for WM8903
Mark Brown [Mon, 15 Mar 2010 21:22:58 +0000 (21:22 +0000)]
ASoC: Implement interrupt driven microphone detection for WM8903

Support use of the WM8903 IRQ for reporting of microphone presence
and short detection.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Add WM8903 interrupt support
Mark Brown [Mon, 15 Mar 2010 18:25:26 +0000 (18:25 +0000)]
ASoC: Add WM8903 interrupt support

Currently used to detect completion of the write sequencer.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Initial WM8903 microphone bias and short detection
Mark Brown [Mon, 15 Mar 2010 18:14:34 +0000 (18:14 +0000)]
ASoC: Initial WM8903 microphone bias and short detection

Provide support for WM8903 microphone presence and short detection
using the GPIOs to route out a logic signal suitable for handling
using snd_soc_jack_add_gpios() on the processor GPIOs.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Add GPIO configuration support for WM8903
Mark Brown [Mon, 15 Mar 2010 17:46:02 +0000 (17:46 +0000)]
ASoC: Add GPIO configuration support for WM8903

Allow users to pass in a default configuration for the GPIOs of
the WM8903 as platform data. This allows configuration of the pin
muxing of the device.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Allow pins to be force enabled
Mark Brown [Mon, 15 Mar 2010 19:23:37 +0000 (19:23 +0000)]
ASoC: Allow pins to be force enabled

Allow pins to be forced on regardless of their power state. This is
intended for use with microphone bias supplies which need to be
enabled in order to support microphone detection - in systems without
appropriate hardware leaving the microphone unbiased when not in use
saves power.

The force done at power check time in order to avoid disrupting other
power detection logic.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Remove unused 'muted' flag from DAPM widgets
Mark Brown [Mon, 15 Mar 2010 18:28:45 +0000 (18:28 +0000)]
ASoC: Remove unused 'muted' flag from DAPM widgets

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Remove version display from WM8750
Mark Brown [Sun, 14 Mar 2010 22:05:40 +0000 (22:05 +0000)]
ASoC: Remove version display from WM8750

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: OMAP3: Report delay caused by the internal FIFO
Peter Ujfalusi [Wed, 3 Mar 2010 13:08:09 +0000 (15:08 +0200)]
ASoC: OMAP3: Report delay caused by the internal FIFO

Use the new delay calback function to report the delay through
ALSA for application caused by the internal FIFO.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoOMAP3: McBSP: Add interface for FIFO caused delay query
Peter Ujfalusi [Wed, 3 Mar 2010 13:08:08 +0000 (15:08 +0200)]
OMAP3: McBSP: Add interface for FIFO caused delay query

New functions for querying the FIFO caused delay on both
TX and RX path.
On TX path the return value shows the number of used
locations in the FIFO.
On RX papth it returns the number of locations to be filled
to reach the threshold value (DMA will be triggered to read
the data out from the FIFO).

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: tlv320dac33: Add option for keeping the BCLK running
Peter Ujfalusi [Thu, 11 Mar 2010 14:26:22 +0000 (16:26 +0200)]
ASoC: tlv320dac33: Add option for keeping the BCLK running

Platform data option for the codec to keep the BCLK clock
continuously running in FIFO modes (codec master).

OMAP3 McBSP when in slave mode needs continuous BCLK running
on the serial bus in order to operate correctly.

Since in FIFO mode the DAC33 can also shut down the BCLK clock
and enable it only when it is needed, let the platforms decide
if the CPU side needs the BCLK running or not.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: tlv320dac33: Start/stop sequence change
Peter Ujfalusi [Thu, 11 Mar 2010 14:26:21 +0000 (16:26 +0200)]
ASoC: tlv320dac33: Start/stop sequence change

To avoid race condition especially in FIFO modes the
sequence for enabling and disabling the codec need to
be changed.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoDaVinci: DM365: Voice Codec support for the DM365 EVM
Miguel Aguilar [Thu, 11 Mar 2010 15:33:40 +0000 (09:33 -0600)]
DaVinci: DM365: Voice Codec support for the DM365 EVM

The DM365 EVM has two codecs: the Audio Codec (AIC3x) and the Voice Codec,
the idea is to have both enabled in the same kernel simultaneously. However,
the current soc-core doesn't support simultaneous codecs, once that
support will have added, a patch will be posted to enable both codecs in
the DM365 EVM.

Signed-off-by: Miguel Aguilar <miguel.aguilar@ridgerun.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: DaVinci: CQ93VC Voice Codec
Miguel Aguilar [Thu, 11 Mar 2010 15:32:59 +0000 (09:32 -0600)]
ASoC: DaVinci: CQ93VC Voice Codec

Currently the DM365 is the only SoC that includes this Voice Codec.

Signed-off-by: Miguel Aguilar <miguel.aguilar@ridgerun.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: DaVinci: Voice Codec Interface
Miguel Aguilar [Thu, 11 Mar 2010 15:32:42 +0000 (09:32 -0600)]
ASoC: DaVinci: Voice Codec Interface

This patch adds the support for the interface needed by the DaVinci
Voice Codec CQ93VC.

Signed-off-by: Miguel Aguilar <miguel.aguilar@ridgerun.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoMFD: DaVinci Voice Codec
Miguel Aguilar [Thu, 11 Mar 2010 15:32:21 +0000 (09:32 -0600)]
MFD: DaVinci Voice Codec

This is the MFD driver for the DaVinci Voice codec, it has two clients:

* Voice codec interface
* Voice codec CQ93VC

Signed-off-by: Miguel Aguilar <miguel.aguilar@ridgerun.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: PCM_RATE: Check for KNOT and CONTINUOUS flags
Jassi Brar [Fri, 12 Mar 2010 04:38:52 +0000 (13:38 +0900)]
ASoC: PCM_RATE: Check for KNOT and CONTINUOUS flags

For ASoC, if either CPU or CODEC driver has set the flag, the MACHINE driver
should be given a chance to figure out if the dai, that set the flag, can
accomodate a rate that it does not explicitly specify but is specified
by the dai at the other end of the link.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: da7210: Add 11025/22050/44100/88200 rate support
Kuninori Morimoto [Thu, 11 Mar 2010 02:37:44 +0000 (11:37 +0900)]
ASoC: da7210: Add 11025/22050/44100/88200 rate support

This driver USE PLL for 11025/22050/44100/88200 rate.
To enable switching to bypass mode, PLL is always turned on.
Special thanks to Phil

Signed-off-by: Phil Edworthy <Phil.Edworthy@renesas.com>
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: S3C: I2Sv2: Segregate hw_params callback
Jassi Brar [Wed, 10 Mar 2010 07:48:58 +0000 (16:48 +0900)]
ASoC: S3C: I2Sv2: Segregate hw_params callback

Towards having build for multiple SoCs segregate hw_params callback
for s3c2412 and s3c64xx.
Since, all new SoCs have s3c64xx like register map, we keep that as
default implementation if no SoC specific callback is already defined.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: S3C64XX: I2S: Make BCLK independent of sample size
Jassi Brar [Wed, 10 Mar 2010 07:48:52 +0000 (16:48 +0900)]
ASoC: S3C64XX: I2S: Make BCLK independent of sample size

For some CPU-CODEC and source clock combination we might need to set
BCLK to N*Sample_size*LRCLK, where N may be even 3 or 4, not just 2.

We can simply remove the dependency of BCLK on sample size as there
is already a callback(S3C_I2SV2_DIV_BCLK) available to set required BCLK.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoMerge commit 'v2.6.34-rc1' into for-2.6.35
Mark Brown [Wed, 10 Mar 2010 15:02:37 +0000 (15:02 +0000)]
Merge commit 'v2.6.34-rc1' into for-2.6.35

14 years agoASoC: S3C: I2Sv2: Reject immidiate register value
Jassi Brar [Wed, 10 Mar 2010 07:48:51 +0000 (16:48 +0900)]
ASoC: S3C: I2Sv2: Reject immidiate register value

Towards generalizing CPU driver interface, do not accept direct field
values for the BCLK and RCLK.
The machine driver should simply request the FS-multiple and not provide
the value to be set in divide field of IISMOD.

[Confirmed by Jassi that no existing machine drivers are affected --
broonie]

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: S3C64XX: I2S: Move RATE and FMT defines to header
Jassi Brar [Wed, 10 Mar 2010 07:48:57 +0000 (16:48 +0900)]
ASoC: S3C64XX: I2S: Move RATE and FMT defines to header

In order for the RATE and FMT defines to be reuseable in future by the
i2sv4 driver, move the MACROs out to the header file.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: s3c64xx-i2s remove unncessary headers
Jassi Brar [Wed, 10 Mar 2010 07:48:56 +0000 (16:48 +0900)]
ASoC: s3c64xx-i2s remove unncessary headers

s3c64xx-i2s remove unncessary headers

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: s3c-i2s-v2 remove unnecessary headers
Jassi Brar [Wed, 10 Mar 2010 07:48:55 +0000 (16:48 +0900)]
ASoC: s3c-i2s-v2 remove unnecessary headers

s3c-i2s-v2 remove unnecessary headers

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: S3C: I2Sv2: Unify clock source IDs
Jassi Brar [Wed, 10 Mar 2010 07:48:54 +0000 (16:48 +0900)]
ASoC: S3C: I2Sv2: Unify clock source IDs

Rather than having the multiple definitions of the same clocks,
define them in one common place and refer by SoC specific names.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: S3C: I2Sv2: Add missing semicolon
Jassi Brar [Wed, 10 Mar 2010 07:48:50 +0000 (16:48 +0900)]
ASoC: S3C: I2Sv2: Add missing semicolon

Add missing semicolon after s3c2412_i2s_delay

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: bf5xx-sport: use common SPORT code for MMR info
Barry Song [Tue, 9 Mar 2010 17:58:14 +0000 (12:58 -0500)]
ASoC: bf5xx-sport: use common SPORT code for MMR info

No point in duplicating this structure layout in each driver.

Signed-off-by: Barry Song <barry.song@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: SSM2602: add SND control for mic boost2 and default it to off
Cliff Cai [Tue, 9 Mar 2010 17:58:09 +0000 (12:58 -0500)]
ASoC: SSM2602: add SND control for mic boost2 and default it to off

Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: DaVinci: Add hw_param callback for S/PDIF DIT link
Chaithrika U S [Wed, 10 Mar 2010 09:18:33 +0000 (14:48 +0530)]
ASoC: DaVinci: Add hw_param callback for S/PDIF DIT link

On TI DM6467 EVM, S/PDIF DIT codec fails to open as it is unable to install
hardware params. This dummy codec has no set_fmt and set_sysclk implementations
and calls from the application to these functions cause errors. This patch adds
a new hardware params callback function for S/PDIF transciever codec.

Signed-off-by: Chaithrika U S <chaithrika@ti.com>
Tested-by: Anuj Aggarwal <anuj.aggarwal@ti.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: da7210: Add 8/12/16/24/32/48/96 kHz rate support
Kuninori Morimoto [Mon, 1 Mar 2010 01:10:43 +0000 (10:10 +0900)]
ASoC: da7210: Add 8/12/16/24/32/48/96 kHz rate support

Signed-off-by: Phil Edworthy <Phil.Edworthy@renesas.com>
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoLinux 2.6.34-rc1
Linus Torvalds [Mon, 8 Mar 2010 18:45:44 +0000 (10:45 -0800)]
Linux 2.6.34-rc1

14 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6
Linus Torvalds [Mon, 8 Mar 2010 18:17:20 +0000 (10:17 -0800)]
Merge git://git./linux/kernel/git/gregkh/driver-core-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (62 commits)
  msi-laptop: depends on RFKILL
  msi-laptop: Detect 3G device exists by standard ec command
  msi-laptop: Add resume method for set the SCM load again
  msi-laptop: Support some MSI 3G netbook that is need load SCM
  msi-laptop: Add threeg sysfs file for support query 3G state by standard 66/62 ec command
  msi-laptop: Support standard ec 66/62 command on MSI notebook and nebook
  Driver core: create lock/unlock functions for struct device
  sysfs: fix for thinko with sysfs_bin_attr_init()
  sysfs: Kill unused sysfs_sb variable.
  sysfs: Pass super_block to sysfs_get_inode
  driver core: Use sysfs_rename_link in device_rename
  sysfs: Implement sysfs_rename_link
  sysfs: Pack sysfs_dirent more tightly.
  sysfs: Serialize updates to the vfs inode
  sysfs: windfarm: init sysfs attributes
  sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on module dynamic attributes
  sysfs: Document sysfs_attr_init and sysfs_bin_attr_init
  sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on dynamic attributes
  sysfs: Use one lockdep class per sysfs attribute.
  sysfs: Only take active references on attributes.
  ...

14 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
Linus Torvalds [Mon, 8 Mar 2010 15:35:30 +0000 (07:35 -0800)]
Merge git://git./linux/kernel/git/wim/linux-2.6-watchdog

* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
  [WATCHDOG] i6300esb.c: change platform_driver to pci_driver
  [WATCHDOG] i6300esb: fix unlock register with
  [WATCHDOG] drivers/watchdog/wdt.c:wdt_ioctl(): make `ident' non-static
  [WATCHDOG] change reboot_notifier to platform-shutdown method.
  [WATCHDOG] watchdog_info constify
  [WATCHDOG] gef_wdt: Author corrections following split of GE Fanuc joint venture
  [WATCHDOG] iTCO_wdt: clean up probe(), modify err msg
  [WATCHDOG] ep93xx: watchdog timer driver for TS-72xx SBCs cleanup
  [WATCHDOG] support for max63xx watchdog timer chips
  [WATCHDOG] ep93xx: added platform side support for TS-72xx WDT driver
  [WATCHDOG] ep93xx: implemented watchdog timer driver for TS-72xx SBCs

14 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
Linus Torvalds [Mon, 8 Mar 2010 15:34:26 +0000 (07:34 -0800)]
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: (26 commits)
  ALSA: hdmi - show debug message on changing audio infoframe
  ALSA: hdmi - merge common code for intelhdmi and nvhdmi
  ALSA: hda - Add ASRock mobo to MSI blacklist
  ALSA: hda: uninitialized variable fix
  ALSA: hda: Use LPIB for a Biostar Microtech board
  ALSA: usb/audio.h: Fix field order
  ALSA: fix jazz16 compile (udelay)
  ALSA: hda: Use LPIB for Dell Latitude 131L
  ALSA: hda - Build hda_eld into snd-hda-codec module
  ALSA: hda - Support NVIDIA MCP89 and GT21x hdmi audio
  ALSA: hda - Support max codecs to 8 for nvidia hda controller
  ALSA: riptide: clean up while loop
  ALSA: usbaudio - remove debug "SAMPLE BYTES" printk line
  ALSA: timer - pass real event in snd_timer_notify1() to instance callback
  ALSA: oxygen: change || to &&
  ALSA: opti92x: use PnP data to select Master Control port
  ASoC: fix ak4104 register array access
  ASoC: soc_pcm_open: Add missing bailout tag
  ALSA: usbaudio: Fix wrong bitrate for Creative Creative VF0470 Live Cam
  ALSA: ua101: removing debugging code
  ...

14 years agoMerge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6
Linus Torvalds [Mon, 8 Mar 2010 15:33:46 +0000 (07:33 -0800)]
Merge branch 'for-linus' of git://git390.marist.edu/linux-2.6

* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
  [S390] smsgiucv_app: deliver z/VM CP special messages (SMSG) as uevents
  [S390] smsgiucv: declare char pointers as "const"
  [S390] dasd: automatic recognition of read-only devices
  [S390] remove unused qdio flags in zfcp and qeth
  [S390] Cleanup xtime usage
  [S390] qdio: add missing bracket
  [S390] cio: fix init_count in case of recognition after steal lock
  [S390] dasd: security and PSF update patch for EMC CKD ioctl
  [S390] hvc_iucv: allocate memory buffers for IUCV in zone DMA
  [S390] uaccess: make sure copy_from_user_overflow is builtin

14 years agoFS-Cache: Remove the EXPERIMENTAL flag
Christian Kujau [Mon, 8 Mar 2010 15:03:09 +0000 (15:03 +0000)]
FS-Cache: Remove the EXPERIMENTAL flag

Remove the EXPERIMENTAL flag from FS-Cache so that Ubuntu can make use of the
facility.

Signed-off-by: Christian Kujau <lists@nerdbynature.de>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
14 years ago[WATCHDOG] i6300esb.c: change platform_driver to pci_driver
Wim Van Sebroeck [Mon, 8 Mar 2010 13:48:01 +0000 (13:48 +0000)]
[WATCHDOG] i6300esb.c: change platform_driver to pci_driver

Since the intel 6300esb platform uses a dedicated PCI ID for
it's watchdog timer (00:1d.4), it's better and easier to have
this as a pci_driver.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
14 years ago[S390] smsgiucv_app: deliver z/VM CP special messages (SMSG) as uevents
Hendrik Brueckner [Mon, 8 Mar 2010 11:26:26 +0000 (12:26 +0100)]
[S390] smsgiucv_app: deliver z/VM CP special messages (SMSG) as uevents

The smsgiucv_app driver registers a callback with the smsgiucv driver
to receive z/VM CP special messages (SMSG) starting with "APP".

When the callback is called for special messages, the driver creates
an uevent for the received message.  The uevent consists of additional
environment data containing the message prefix ("APP"), message sender,
and message content.

udev rules can be used to trigger application specific actions through
matching the content or sender of the special message.

Signed-off-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
14 years ago[S390] smsgiucv: declare char pointers as "const"
Hendrik Brueckner [Mon, 8 Mar 2010 11:26:25 +0000 (12:26 +0100)]
[S390] smsgiucv: declare char pointers as "const"

Declare the smsgiucv prefix char pointer as "const" and use
use const char pointers in callback functions.

Signed-off-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
14 years ago[S390] dasd: automatic recognition of read-only devices
Stefan Weinhuber [Mon, 8 Mar 2010 11:26:24 +0000 (12:26 +0100)]
[S390] dasd: automatic recognition of read-only devices

In z/VM it is possible to attach a device as read-only. To prevent
unintentional write requests and subsequent I/O errors, we can detect
this configuration using the z/VM DIAG 210 interface and set the
respective linux block device to read-only as well.

Signed-off-by: Stefan Weinhuber <wein@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
14 years ago[S390] remove unused qdio flags in zfcp and qeth
Ursula Braun [Mon, 8 Mar 2010 11:25:20 +0000 (12:25 +0100)]
[S390] remove unused qdio flags in zfcp and qeth

zfcp and qeth are setting flags for the qdio-layer, but these flags
are not used in qdio. Patch removes the flag definitions from qdio
and their settings in zfcp and qeth.

Cc: Jan Glauber <jang@linux.vnet.ibm.com>
Cc: Christof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
14 years ago[S390] Cleanup xtime usage
John Stultz [Mon, 8 Mar 2010 11:25:19 +0000 (12:25 +0100)]
[S390] Cleanup xtime usage

This replaces direct xtime usage in the s390 arch with timekeeping accessors,
so we can further clean up the timekeeping core.

Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
14 years ago[S390] qdio: add missing bracket
Ursula Braun [Mon, 8 Mar 2010 11:25:18 +0000 (12:25 +0100)]
[S390] qdio: add missing bracket

Add a missing bracket to only log the outbound handler event in the
appropriate case.

Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
14 years ago[S390] cio: fix init_count in case of recognition after steal lock
Sebastian Ott [Mon, 8 Mar 2010 11:25:17 +0000 (12:25 +0100)]
[S390] cio: fix init_count in case of recognition after steal lock

After we try to steal a lock on a ccw device in boxed state,
we have to restart device recognition and potentially reprobing.

In this case ccw_device_init_count was erroneously decreased
twice. This patch fixes the issue.

Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
14 years ago[S390] dasd: security and PSF update patch for EMC CKD ioctl
Nigel Hislop [Mon, 8 Mar 2010 11:25:16 +0000 (12:25 +0100)]
[S390] dasd: security and PSF update patch for EMC CKD ioctl

Remove the PSF order/suborder check from the Symmetrix CKD dasd ioctl.
In exchange restrict the ioctl to CAP_SYS_ADMIN and CAP_SYS_RAWIO.

Signed-off-by: Nigel Hislop <hislop_nigel@emc.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
14 years ago[S390] hvc_iucv: allocate memory buffers for IUCV in zone DMA
Hendrik Brueckner [Mon, 8 Mar 2010 11:25:15 +0000 (12:25 +0100)]
[S390] hvc_iucv: allocate memory buffers for IUCV in zone DMA

The device driver must allocate memory for IUCV buffers with GFP_DMA,
because IUCV cannot address memory above 2GB (31bit addresses only).

Because the IUCV ignores the higher bits of the address, sending and
receiving IUCV data with this driver might cause memory corruptions.

Signed-off-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
14 years ago[S390] uaccess: make sure copy_from_user_overflow is builtin
Heiko Carstens [Mon, 8 Mar 2010 11:25:14 +0000 (12:25 +0100)]
[S390] uaccess: make sure copy_from_user_overflow is builtin

If there is no in kernel image caller modules will suffer:

ERROR: "copy_from_user_overflow" [net/core/pktgen.ko] undefined!
ERROR: "copy_from_user_overflow" [net/can/can-raw.ko] undefined!
ERROR: "copy_from_user_overflow" [fs/cifs/cifs.ko] undefined!

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
14 years ago[WATCHDOG] i6300esb: fix unlock register with
Wim Van Sebroeck [Mon, 8 Mar 2010 11:02:38 +0000 (11:02 +0000)]
[WATCHDOG] i6300esb: fix unlock register with

Before you can read or write from the i6300esb memeory mapped registers,
you need to unlock these. This is done by writing the magic numbers 0x80
and 0x86 to the reload register. The size of the reload register is 32bit
though.

Also binary 11 is hex 0x03 and not 0x11.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
14 years agoMerge branch 'topic/misc' into for-linus
Takashi Iwai [Mon, 8 Mar 2010 08:35:50 +0000 (09:35 +0100)]
Merge branch 'topic/misc' into for-linus

14 years agoMerge branch 'topic/asoc' into for-linus
Takashi Iwai [Mon, 8 Mar 2010 08:35:48 +0000 (09:35 +0100)]
Merge branch 'topic/asoc' into for-linus

14 years agoMerge branch 'topic/hda' into for-linus
Takashi Iwai [Mon, 8 Mar 2010 08:35:43 +0000 (09:35 +0100)]
Merge branch 'topic/hda' into for-linus

14 years agoALSA: hdmi - show debug message on changing audio infoframe
Wu Fengguang [Mon, 8 Mar 2010 02:45:38 +0000 (10:45 +0800)]
ALSA: hdmi - show debug message on changing audio infoframe

Also change printk level for the two others.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hdmi - merge common code for intelhdmi and nvhdmi
Wu Fengguang [Mon, 8 Mar 2010 02:44:23 +0000 (10:44 +0800)]
ALSA: hdmi - merge common code for intelhdmi and nvhdmi

Create patch_hdmi.c to hold common code from intelhdmi and nvhdmi.

For now the patch_hdmi.c file is simply included by patch_intelhdmi.c
and patch_nvhdmi.c, and does not represent a real codec.

There are no behavior changes to intelhdmi. However nvhdmi made several
changes when copying code out of intelhdmi, which are all reverted in
this patch. Wei Ni confirmed that the reverted code actually works fine.

Tested-by: Wei Ni <wni@nvidia.com>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agomsi-laptop: depends on RFKILL
Randy Dunlap [Wed, 3 Feb 2010 22:24:28 +0000 (14:24 -0800)]
msi-laptop: depends on RFKILL

msi-laptop uses rfkill*() interfaces so it should depend on RFKILL.

msi-laptop.c:(.text+0x1fcd1b): undefined reference to `rfkill_alloc'
msi-laptop.c:(.text+0x1fcd76): undefined reference to `rfkill_register'
msi-laptop.c:(.text+0x1fcdc8): undefined reference to `rfkill_destroy'
msi-laptop.c:(.text+0x1fcdd9): undefined reference to `rfkill_unregister'

This repairs "msi-laptop: Detect 3G device exists by standard ec command",
which is in some gregkh tree.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Lennart Poettering <mzxreary@0pointer.de>
Cc: Lee, Chun-Yi <jlee@novell.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agomsi-laptop: Detect 3G device exists by standard ec command
Lee, Chun-Yi [Wed, 27 Jan 2010 04:23:00 +0000 (12:23 +0800)]
msi-laptop: Detect 3G device exists by standard ec command

Detect 3G device exists by standard ec command. Driver will not create the threeg sysfs
file and threeg rfkill interface if there have no internal 3G device in MSI notebook/netbook.

Signed-off-by: Lee, Chun-Yi <jlee@novell.com>
Cc: Lennart Poettering <mzxreary@0pointer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agomsi-laptop: Add resume method for set the SCM load again
Lee, Chun-Yi [Tue, 26 Jan 2010 16:13:45 +0000 (00:13 +0800)]
msi-laptop: Add resume method for set the SCM load again

Implement the resume method for set the load SCM flag after system reusme.
Without this patch, the wifi function key on SCM model will back to BIOS
control mode then confuse with the userland software control.
e.g. MSI N034

Signed-off-by: Lee, Chun-Yi <jlee@novell.com>
Cc: Lennart Poettering <mzxreary@0pointer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agomsi-laptop: Support some MSI 3G netbook that is need load SCM
Lee, Chun-Yi [Thu, 21 Jan 2010 16:15:59 +0000 (00:15 +0800)]
msi-laptop: Support some MSI 3G netbook that is need load SCM

Some MSI 3G netbook only have one fn key to control Wlan/Bluetooth/3G,
those netbook will load the SCM (windows app) to disable the original
Wlan/Bluetooth control by BIOS when user press fn key, then control
Wlan/Bluetooth/3G by SCM (software control by OS). Without SCM, user
cann't on/off 3G module on those 3G netbook.
On Linux, msi-laptop driver will do the same thing to disable the
original BIOS control, then might need use HAL or other userland
application to do the software control that simulate with SCM.
e.g. MSI N034 netbook

Signed-off-by: Lee, Chun-Yi <jlee@novell.com>
Cc: Lennart Poettering <mzxreary@0pointer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agomsi-laptop: Add threeg sysfs file for support query 3G state by standard 66/62 ec...
Lee, Chun-Yi [Sat, 9 Jan 2010 15:17:07 +0000 (23:17 +0800)]
msi-laptop: Add threeg sysfs file for support query 3G state by standard 66/62 ec command

Add threeg sysfs file for support query 3G state by standard 66/62 ec
command, the MSI standard ec interface supported this feature.

Signed-off-by: Lee, Chun-Yi <jlee@novell.com>
Cc: Lennart Poettering <mzxreary@0pointer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agomsi-laptop: Support standard ec 66/62 command on MSI notebook and nebook
Lee, Chun-Yi [Sat, 9 Jan 2010 13:16:52 +0000 (21:16 +0800)]
msi-laptop: Support standard ec 66/62 command on MSI notebook and nebook

Suppport standard ec 66/62 command on MSI notebook and nebook. MSI
netbook and notebook already support 66/62 command, so, add new
get_state function, and put the old model to non-standard model, but
driver still support those old model.

Signed-off-by: Lee, Chun-Yi <jlee@novell.com>
Cc: Lennart Poettering <mzxreary@0pointer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoDriver core: create lock/unlock functions for struct device
Greg Kroah-Hartman [Wed, 17 Feb 2010 18:57:05 +0000 (10:57 -0800)]
Driver core: create lock/unlock functions for struct device

In the future, we are going to be changing the lock type for struct
device (once we get the lockdep infrastructure properly worked out)  To
make that changeover easier, and to possibly burry the lock in a
different part of struct device, let's create some functions to lock and
unlock a device so that no out-of-core code needs to be changed in the
future.

This patch creates the device_lock/unlock/trylock() functions, and
converts all in-tree users to them.

Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Jean Delvare <khali@linux-fr.org>
Cc: Dave Young <hidave.darkstar@gmail.com>
Cc: Ming Lei <tom.leiming@gmail.com>
Cc: Jiri Kosina <jkosina@suse.cz>
Cc: Phil Carmody <ext-phil.2.carmody@nokia.com>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Len Brown <len.brown@intel.com>
Cc: Magnus Damm <damm@igel.co.jp>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: Vegard Nossum <vegard.nossum@gmail.com>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: Alex Chiang <achiang@hp.com>
Cc: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Andrew Patterson <andrew.patterson@hp.com>
Cc: Yu Zhao <yu.zhao@intel.com>
Cc: Dominik Brodowski <linux@dominikbrodowski.net>
Cc: Samuel Ortiz <sameo@linux.intel.com>
Cc: Wolfram Sang <w.sang@pengutronix.de>
Cc: CHENG Renquan <rqcheng@smu.edu.sg>
Cc: Oliver Neukum <oliver@neukum.org>
Cc: Frans Pop <elendil@planet.nl>
Cc: David Vrabel <david.vrabel@csr.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agosysfs: fix for thinko with sysfs_bin_attr_init()
Stephen Rothwell [Mon, 1 Mar 2010 09:38:36 +0000 (20:38 +1100)]
sysfs: fix for thinko with sysfs_bin_attr_init()

After merging the final tree, today's linux-next build (powerpc
allyesconfig) failed like this:

drivers/pci/pci-sysfs.c: In function 'pci_create_legacy_files':
drivers/pci/pci-sysfs.c:645: error: lvalue required as unary '&' operand
drivers/pci/pci-sysfs.c:658: error: lvalue required as unary '&' operand

Caused by commit "sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on
dynamic attributes" interacting with commit "sysfs: Use one lockdep
class per sysfs attribute") both from the driver-core tree.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agosysfs: Kill unused sysfs_sb variable.
Eric W. Biederman [Sat, 13 Feb 2010 03:22:28 +0000 (19:22 -0800)]
sysfs: Kill unused sysfs_sb variable.

Now that there are no more users we can remove
the sysfs_sb variable.

Acked-by: Tejun Heo <tj@kernel.org>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Signed-off-by: Eric W. Biederman <ebiederm@aristanetworks.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agosysfs: Pass super_block to sysfs_get_inode
Eric W. Biederman [Sat, 13 Feb 2010 03:22:27 +0000 (19:22 -0800)]
sysfs: Pass super_block to sysfs_get_inode

Currently sysfs_get_inode magically returns an inode on
sysfs_sb.  Make the super_block parameter explicit and
the code becomes clearer.

Acked-by: Tejun Heo <tj@kernel.org>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Signed-off-by: Eric W. Biederman <ebiederm@aristanetworks.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agodriver core: Use sysfs_rename_link in device_rename
Eric W. Biederman [Sat, 13 Feb 2010 03:22:26 +0000 (19:22 -0800)]
driver core: Use sysfs_rename_link in device_rename

Don't open code the renaming of symlinks in sysfs
instead use the new helper function sysfs_rename_link

Acked-by: Tejun Heo <tj@kernel.org>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Signed-off-by: Eric W. Biederman <ebiederm@aristanetworks.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agosysfs: Implement sysfs_rename_link
Eric W. Biederman [Sat, 13 Feb 2010 03:22:25 +0000 (19:22 -0800)]
sysfs: Implement sysfs_rename_link

Because of rename ordering problems we occassionally give false
warnings about invalid sysfs operations.  So using sysfs_rename
create a sysfs_rename_link function that doesn't need strange
workarounds.

Cc: Benjamin Thery <benjamin.thery@bull.net>
Cc: Daniel Lezcano <dlezcano@fr.ibm.com>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Eric W. Biederman <ebiederm@aristanetworks.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agosysfs: Pack sysfs_dirent more tightly.
Eric W. Biederman [Sat, 13 Feb 2010 03:22:24 +0000 (19:22 -0800)]
sysfs: Pack sysfs_dirent more tightly.

Placing the 16bit s_mode between a pointer and a long doesn't pack well
especailly on 64bit where we wast 48 bits.  So move s_mode and
declare it as a unsigned short.  This is the sysfs backing store
after all we don't need fields extra large just in case someday
we want userspace to be able to use a larger value.

Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Eric W. Biederman <ebiederm@aristanetworks.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agosysfs: Serialize updates to the vfs inode
Eric W. Biederman [Sat, 13 Feb 2010 03:22:23 +0000 (19:22 -0800)]
sysfs: Serialize updates to the vfs inode

The vfs depends upon filesystem methods to update the
vfs inode.   Sysfs adds to the normal number of places
where the vfs inode is updated by also updatng the
vfs inode in sysfs_refresh_inode.

Typically the inode mutex is used to serialize updates
to the vfs inode, but grabbing the inode mutex in
sysfs_permission and sysfs_getattr causes deadlocks,
because sometimes the vfs calls those operations with
the inode mutex held.  Therefore sysfs  can not use the
inode mutex to serial updates to the vfs inode.

The sysfs_mutex is acquired in all of the routines
where sysfs updates the vfs inode, and with a small
change we can consistently protext sysfs vfs inode
updates with the sysfs_mutex. To protect the sysfs
vfs inode updates with the sysfs_mutex simply requires
extending the scope of sysfs_mutex in sysfs_setattr
over inode_setattr, and over inode_change_ok (so we
have an unchanging inode when we perform the check).

Acked-by: Serge Hallyn <serue@us.ibm.com>
Signed-off-by: Eric W. Biederman <ebiederm@aristanetworks.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agosysfs: windfarm: init sysfs attributes
Johannes Berg [Sat, 20 Feb 2010 15:43:02 +0000 (16:43 +0100)]
sysfs: windfarm: init sysfs attributes

This is required for lockdep.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agosysfs: Use sysfs_attr_init and sysfs_bin_attr_init on module dynamic attributes
Eric W. Biederman [Fri, 12 Feb 2010 21:41:56 +0000 (13:41 -0800)]
sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on module dynamic attributes

A little more whack-a-mole annotating the dynamic sysfs attributes.  I
had everything built into my earlier test kernel, and so I missed
these.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agosysfs: Document sysfs_attr_init and sysfs_bin_attr_init
Eric W. Biederman [Fri, 12 Feb 2010 12:35:32 +0000 (04:35 -0800)]
sysfs: Document sysfs_attr_init and sysfs_bin_attr_init

I have added a new requirement to the external sysfs interface
that dynamically allocated sysfs attributes must call sysfs_attr_init
if lockdep is enabled.  For the time being callying sysfs_attr_init
is only mandatory if lockdep is enabled, so we can live with a few
unconverted instances until we find them all.  As this is part of
the public interface of sysfs it is a good idea to document these
pseudo functions so someone inspeciting the code can find out
what has happened.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agosysfs: Use sysfs_attr_init and sysfs_bin_attr_init on dynamic attributes
Eric W. Biederman [Thu, 11 Feb 2010 23:23:05 +0000 (15:23 -0800)]
sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on dynamic attributes

These are the non-static sysfs attributes that exist on
my test machine.  Fix them to use sysfs_attr_init or
sysfs_bin_attr_init as appropriate.   It simply requires
making a sysfs attribute present to see this.  So this
is a little bit tedious but otherwise not too bad.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Acked-by: WANG Cong <xiyou.wangcong@gmail.com>
Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agosysfs: Use one lockdep class per sysfs attribute.
Eric W. Biederman [Thu, 11 Feb 2010 23:21:53 +0000 (15:21 -0800)]
sysfs: Use one lockdep class per sysfs attribute.

Acknowledge that the logical sysfs rwsem has one instance per
sysfs attribute with different locking depencencies for different
attributes.

There is a sysfs idiom where writing to one sysfs file causes the
addition or removal of other sysfs files.   Lumping all of the
sysfs attributes together in one lock class causes lockdep to
generate lots of false positives.

This introduces the requirement that non-static sysfs attributes
need to be initialized with sysfs_attr_init or sysfs_bin_attr_init.
Strictly speaking this requirement only exists when lockdep is
enabled, and when lockdep is enabled we get a bit fat warning
if this requirement is not met.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Acked-by: WANG Cong <xiyou.wangcong@gmail.com>
Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agosysfs: Only take active references on attributes.
Eric W. Biederman [Thu, 11 Feb 2010 23:20:00 +0000 (15:20 -0800)]
sysfs: Only take active references on attributes.

If we exclude directories and symlinks from the set of sysfs
dirents where we need active references we are left with
sysfs attributes (binary or not).

- Tweak sysfs_deactivate to only do something on attributes
- Move lockdep initialization into sysfs_file_add_mode to
  limit it to just attributes.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Acked-by: WANG Cong <xiyou.wangcong@gmail.com>
Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>