pandora-kernel.git
11 years agoASoC: Samsung: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:15 +0000 (09:26 -0500)]
ASoC: Samsung: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: pxa/hx4700: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:14 +0000 (09:26 -0500)]
ASoC: pxa/hx4700: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: blackfin: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:13 +0000 (09:26 -0500)]
ASoC: blackfin: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoMerge remote-tracking branch 'asoc/topic/wm9090' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:39 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm9090' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm9081' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:38 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm9081' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8995' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:38 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8995' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8994' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:37 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8994' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8993' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:36 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8993' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8988' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:36 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8988' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8985' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:35 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8985' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8978' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:34 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8978' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8971' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:33 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8971' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8962' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:32 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8962' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8960' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:32 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8960' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8955' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:31 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8955' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8804' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:31 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8804' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8770' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:30 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8770' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8753' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:29 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8753' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8750' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:28 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8750' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8741' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:28 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8741' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8510' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:27 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8510' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8400' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:26 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8400' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8350' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:26 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8350' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm2200' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:24 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm2200' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm2000' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:23 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm2000' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm0010' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:22 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm0010' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/ux500' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:21 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/ux500' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/tlv320aic32x4' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:20 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/tlv320aic32x4' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/si476x' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:19 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/si476x' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/samsung' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:17 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/samsung' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/rt5631' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:17 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/rt5631' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/omap' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:16 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/omap' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/max98090' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:15 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/max98090' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/max9768' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:15 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/max9768' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/log' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:14 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/log' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/lm49453' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:13 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/lm49453' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/kirkwood' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:12 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/kirkwood' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/jz4740' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:12 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/jz4740' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/jack' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:11 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/jack' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/hotplug' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:10 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/hotplug' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/fsl' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:09 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/fsl' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/fsi' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:08 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/fsi' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/dmaengine' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:08 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/dmaengine' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/davinci' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:07 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/davinci' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/da9055' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:06 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/da9055' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/da7210' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:05 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/da7210' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/cs4271' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:04 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/cs4271' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/atmel' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:02 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/atmel' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/arizona' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:00 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/arizona' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/ak4642' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:21:58 +0000 (00:21 +0900)]
Merge remote-tracking branch 'asoc/topic/ak4642' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/ak4535' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:21:58 +0000 (00:21 +0900)]
Merge remote-tracking branch 'asoc/topic/ak4535' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/ak4104' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:21:56 +0000 (00:21 +0900)]
Merge remote-tracking branch 'asoc/topic/ak4104' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/adsp' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:21:45 +0000 (00:21 +0900)]
Merge remote-tracking branch 'asoc/topic/adsp' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/ab8500' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:21:42 +0000 (00:21 +0900)]
Merge remote-tracking branch 'asoc/topic/ab8500' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/fix/omap' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:21:41 +0000 (00:21 +0900)]
Merge remote-tracking branch 'asoc/fix/omap' into asoc-next

11 years agoASoC: wm5110: Enable volume ramp control
Mark Brown [Sun, 9 Dec 2012 03:50:05 +0000 (12:50 +0900)]
ASoC: wm5110: Enable volume ramp control

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: wm5102: Enable volume ramp control
Mark Brown [Sun, 9 Dec 2012 03:26:49 +0000 (12:26 +0900)]
ASoC: wm5102: Enable volume ramp control

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: arizona: Add volume ramp controls
Mark Brown [Sun, 9 Dec 2012 03:25:52 +0000 (12:25 +0900)]
ASoC: arizona: Add volume ramp controls

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: Samsung: Do not register samsung audio dma device as pdev
Padmavathi Venna [Fri, 7 Dec 2012 08:29:21 +0000 (13:59 +0530)]
ASoC: Samsung: Do not register samsung audio dma device as pdev

Previously, the ASoC 'platform' (PCM/DMA) object was instantiated via a
platform_device. This didn't represent the hardware well, since there
was no separate hardware associated with this platform_device; it was a
virtual device with sole purpose to call snd_soc_register_platform().

This change removes the platform_device completely. Each Samsung DAI now
registers the ASoC 'platform' itself. Machine drivers are adjusted for
the new 'platform' name.

Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: McASP: implement a way to force BCLK/LRCLK ratios
Daniel Mack [Wed, 5 Dec 2012 17:20:38 +0000 (18:20 +0100)]
ASoC: McASP: implement a way to force BCLK/LRCLK ratios

Depending on the Codec, the the BCLK/LRCLK ratio might not be freely
chosen by the CPU DAI.

For example, some Codec might want to be supplied with 32-bit samples
for both its channels regardless of the actual audio word size the CPU
sends. In such cases, the rest of the bits on the data lines must be
padded with zeros:

          _______________________________
LRCLK    /                               \
      --'                                 `---------- .....

BCLK  ||||||||||||||||||||||||||||||||||||||||||||||| .....

DATA  ____||||||||||||||||_________________|||||||||| .....

          |<--  data  -->|<--   pads  --> |

This patch adds a new clock divider to configure the BCLK/LRCLK ratio.
If the machine code uses that divider, the driver uses the specified
value, instead of deriving that information from the audio word size.

Otherwise, the original behaviour is retained.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: McASP: calculate values for channel size
Daniel Mack [Wed, 5 Dec 2012 17:20:37 +0000 (18:20 +0100)]
ASoC: McASP: calculate values for channel size

Change davinci_config_channel_size() to derive the values for XSSZ and
XROT in DAVINCI_MCASP_[RT]XFMT_REG from the configured word length
rather than hard-coding them in a switch/case block.

Also, by directly passing the word length to
davinci_config_channel_size(), we can get rid of the
DAVINCI_AUDIO_WORD_* enum.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: McASP: remove unused variables
Daniel Mack [Wed, 5 Dec 2012 17:20:36 +0000 (18:20 +0100)]
ASoC: McASP: remove unused variables

codec_fmt and sample_rate variables are unused in both snd_platform_data
and davinci_audio_dev, so drop them.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: omap-twl4030: Update the header file to support more boards
Peter Ujfalusi [Thu, 6 Dec 2012 14:35:25 +0000 (15:35 +0100)]
ASoC: omap-twl4030: Update the header file to support more boards

The common machine driver will be able to support new boards where the voice
port is also in use.
At the same time add possibility to fine tune the connections from twl4030
on the board: jack detection GPIO, input/output selection

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: arizona: Log the clock we're setting the DAI to use
Mark Brown [Fri, 7 Dec 2012 03:49:40 +0000 (12:49 +0900)]
ASoC: arizona: Log the clock we're setting the DAI to use

Useful for diagnostics.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: arizona: Store the DAI clock ID when setting
Mark Brown [Thu, 6 Dec 2012 09:22:25 +0000 (18:22 +0900)]
ASoC: arizona: Store the DAI clock ID when setting

So the code to suppress duplicate changes is effective.

Reported-by: Kyung Kwee Ryu <Kyung-Kwee.Ryu@wolfsonmicro.comyu@wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: arizona: Make FLL lock timeout very high
Mark Brown [Thu, 6 Dec 2012 06:29:34 +0000 (15:29 +0900)]
ASoC: arizona: Make FLL lock timeout very high

Provide robustness against low quality FLL sync clocks by increasing the
timeout for lock to an absurdly high point; we should never get anywhere
near hitting the timeout in a real system unless it is failing.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: wm5110: Add LHPF coefficient configuration
Mark Brown [Wed, 5 Dec 2012 07:38:30 +0000 (16:38 +0900)]
ASoC: wm5110: Add LHPF coefficient configuration

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: wm5110: Add EQ coefficient configuration
Mark Brown [Wed, 5 Dec 2012 07:38:12 +0000 (16:38 +0900)]
ASoC: wm5110: Add EQ coefficient configuration

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: wm5102: Make EQ coefficents configurable
Mark Brown [Wed, 5 Dec 2012 05:49:05 +0000 (14:49 +0900)]
ASoC: wm5102: Make EQ coefficents configurable

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: zoom2: Remove HS mux GPIO handling to avoid kernel crash due to BUG_ON()
Peter Ujfalusi [Mon, 3 Dec 2012 08:39:08 +0000 (09:39 +0100)]
ASoC: zoom2: Remove HS mux GPIO handling to avoid kernel crash due to BUG_ON()

The machine driver try to use GPIO15 of twl4030 for HS MUX which supposed to
select between TWL's HSOL/R and tlv320aic3254's HPL/R.
The TWL's GPIO allocated dynamically so the (OMAP_MAX_GPIO_LINES + 15) is no
longer valid GPIO number causing a kernel crash due to BUG_ON()
Also the current machine driver supports only TWL audio currently: there is
no need to control the GPIO.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: da7210: Remove unnecessary regmap_exit call
Sachin Kamat [Mon, 3 Dec 2012 08:13:43 +0000 (13:43 +0530)]
ASoC: da7210: Remove unnecessary regmap_exit call

Use of devm_regmap_init_spi does not require an explicit
regmap_exit call.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: wm8994: Allow microphone identification callback to be overridden
Mark Brown [Mon, 3 Dec 2012 07:14:37 +0000 (16:14 +0900)]
ASoC: wm8994: Allow microphone identification callback to be overridden

Allow custom accessory identification mechanisms to make use of the MICDET
support in the device.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: wm8994: Check jack is inserted when handling mic IRQ
Mark Brown [Mon, 3 Dec 2012 06:58:55 +0000 (15:58 +0900)]
ASoC: wm8994: Check jack is inserted when handling mic IRQ

If we've got jack detection support then check that the jack is still
inserted when handling a mic IRQ in order to avoid transient reports
caused by shorts during the removal process as the two interrupts race
with each other.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: wm8994: Support custom accessory identification for WM1811A
Mark Brown [Thu, 22 Nov 2012 11:44:32 +0000 (20:44 +0900)]
ASoC: wm8994: Support custom accessory identification for WM1811A

Allow the user to override the accessory identification code with their
own implementation if the system provides an alternative method.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: wm8994: Simplify button detection code
Mark Brown [Thu, 22 Nov 2012 08:02:09 +0000 (17:02 +0900)]
ASoC: wm8994: Simplify button detection code

Currently the WM8994 driver allows the WM8958 microphone detection code to
be replaced in its entirety, providing a default implementation. This
doesn't actually reflect the needs of users well. They generally wish to
replace only the accessory identification parts of the algorithm (eg,
using an external GPIO to provide the equivalent of the JACKDET support in
the WM1811A).

In preparation for supporting these users better refactor the existing code
so that we have separate identification and button detection callbacks,
selecting between them rather than using the mic_detecting flag in the
existing callback. This also simplifies the code by introducing a more
explicit state machine for the detecting and button states.

In anticipation of future refactoring the callback is left in the signature
for wm8958_mic_detect(), it will be removed at a later stage.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: wm8994: Stop mic detection whenever we detect an open circuit
Mark Brown [Mon, 1 Oct 2012 15:41:09 +0000 (16:41 +0100)]
ASoC: wm8994: Stop mic detection whenever we detect an open circuit

Jack detection will not do anything to help us detect a microphone when
there is a fault in the cable and the debounce we have is enough to avoid
getting an intermediate result so halt microphone detection when we detect
that one is not present.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: wm5102: Add support for configuring LHPF coefficients
Mark Brown [Mon, 3 Dec 2012 02:23:51 +0000 (11:23 +0900)]
ASoC: wm5102: Add support for configuring LHPF coefficients

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: adsp: Set DSP clock rate to SYSCLK rate
Mark Brown [Sun, 2 Dec 2012 12:50:46 +0000 (21:50 +0900)]
ASoC: adsp: Set DSP clock rate to SYSCLK rate

For simplicity always run the DSP at the SYSCLK rate.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: adsp: Keep ADSP2 memory powered off when not in use
Mark Brown [Sun, 2 Dec 2012 12:37:00 +0000 (21:37 +0900)]
ASoC: adsp: Keep ADSP2 memory powered off when not in use

Turn off the ADSP memory when we aren't using it, saving a small amount of
power.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: atmel-pcm: dma support based on pcm dmaengine
Bo Shen [Wed, 28 Nov 2012 03:46:13 +0000 (11:46 +0800)]
ASoC: atmel-pcm: dma support based on pcm dmaengine

Specify overrun bit in interrupt mask
Add dmaengine specific routines

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
[voice.shen@atmel.com: adapt to soc dmaengine framework]
Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: atmel-pcm: split into two file
Bo Shen [Wed, 28 Nov 2012 03:46:12 +0000 (11:46 +0800)]
ASoC: atmel-pcm: split into two file

This patch is split original atmel-pcm.c into new atmel-pcm.c and
atmel-pcm-pdc.c two files. The new atmel-pcm.c is the share routine
while will be used for pdc or dma transfer.

Using SND_ATMEL_SOC_PDC to select using PDC for audio transfer

Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: wm5102: Correct base address for Y region
Mark Brown [Sun, 2 Dec 2012 01:42:22 +0000 (10:42 +0900)]
ASoC: wm5102: Correct base address for Y region

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: wm8960: Use devm_regmap_init_i2c()
Sachin Kamat [Mon, 26 Nov 2012 11:49:43 +0000 (17:19 +0530)]
ASoC: wm8960: Use devm_regmap_init_i2c()

devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler. There was no explicit
regmap_exit call in this function which was probably a bug.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: wm8955: Use devm_regmap_init_i2c()
Sachin Kamat [Mon, 26 Nov 2012 11:49:42 +0000 (17:19 +0530)]
ASoC: wm8955: Use devm_regmap_init_i2c()

devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: max9768: Use devm_regmap_init_i2c()
Sachin Kamat [Mon, 26 Nov 2012 11:49:41 +0000 (17:19 +0530)]
ASoC: max9768: Use devm_regmap_init_i2c()

devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: wm8978: Use devm_regmap_init_i2c()
Sachin Kamat [Mon, 26 Nov 2012 11:49:45 +0000 (17:19 +0530)]
ASoC: wm8978: Use devm_regmap_init_i2c()

devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: wm8962: Use devm_regmap_init_i2c()
Sachin Kamat [Mon, 26 Nov 2012 11:49:44 +0000 (17:19 +0530)]
ASoC: wm8962: Use devm_regmap_init_i2c()

devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: wm8993: Use devm_regmap_init_i2c()
Sachin Kamat [Mon, 26 Nov 2012 11:49:46 +0000 (17:19 +0530)]
ASoC: wm8993: Use devm_regmap_init_i2c()

devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: wm9081: Use devm_regmap_init_i2c()
Sachin Kamat [Mon, 26 Nov 2012 11:49:47 +0000 (17:19 +0530)]
ASoC: wm9081: Use devm_regmap_init_i2c()

devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: wm9090: Use devm_regmap_init_i2c()
Sachin Kamat [Wed, 28 Nov 2012 09:13:52 +0000 (14:43 +0530)]
ASoC: wm9090: Use devm_regmap_init_i2c()

devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: arizona: Add parentheses
Mark Brown [Thu, 29 Nov 2012 15:16:10 +0000 (15:16 +0000)]
ASoC: arizona: Add parentheses

Some compiler versions complain.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: wm_adsp: Set the core enable as well as start bit for ADSP2
Mark Brown [Wed, 28 Nov 2012 19:53:59 +0000 (19:53 +0000)]
ASoC: wm_adsp: Set the core enable as well as start bit for ADSP2

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: wm2200: Remove empty labels
Sachin Kamat [Wed, 28 Nov 2012 09:15:25 +0000 (14:45 +0530)]
ASoC: wm2200: Remove empty labels

Removed unnecessary labels probably left out of some previous cleanup.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: Samsung: Get I2S src_clk from clock alias id.
Padmavathi Venna [Wed, 28 Nov 2012 10:47:48 +0000 (16:17 +0530)]
ASoC: Samsung: Get I2S src_clk from clock alias id.

As the I2S src clks are registered with clkdev using generic
connection id, driver can get the clk name using generic id.
So the variable representing the array of rclk src clks is
deleted.

Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: omap-abe-twl6040: Use "ti,jack-detection" DT property as boolean
Peter Ujfalusi [Wed, 28 Nov 2012 10:35:43 +0000 (11:35 +0100)]
ASoC: omap-abe-twl6040: Use "ti,jack-detection" DT property as boolean

Handle the jack detection inforamtion as bool from devicetree.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: wm5102: Enable DVFS support for the DSP
Mark Brown [Wed, 28 Nov 2012 17:20:52 +0000 (17:20 +0000)]
ASoC: wm5102: Enable DVFS support for the DSP

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoMerge branch 'topic/adsp' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Mark Brown [Wed, 28 Nov 2012 17:45:57 +0000 (17:45 +0000)]
Merge branch 'topic/adsp' of git://git./linux/kernel/git/broonie/sound into asoc-arizona

11 years agoASoC: lm49453: Use devm_regmap_init_i2c()
Sachin Kamat [Mon, 26 Nov 2012 11:49:40 +0000 (17:19 +0530)]
ASoC: lm49453: Use devm_regmap_init_i2c()

devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: da7210: Use devm_regmap_init_i2c()
Sachin Kamat [Mon, 26 Nov 2012 11:49:39 +0000 (17:19 +0530)]
ASoC: da7210: Use devm_regmap_init_i2c()

devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: ak4535: Use devm_regmap_init_i2c()
Sachin Kamat [Mon, 26 Nov 2012 11:49:38 +0000 (17:19 +0530)]
ASoC: ak4535: Use devm_regmap_init_i2c()

devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>