Commit Graph

3039 Commits

Author SHA1 Message Date
Mark Brown
473e8b323c Merge remote-tracking branch 'asoc/topic/max98090' into asoc-next 2012-12-10 00:22:15 +09:00
Mark Brown
29998eb618 Merge remote-tracking branch 'asoc/topic/max9768' into asoc-next 2012-12-10 00:22:15 +09:00
Mark Brown
edbe08adea Merge remote-tracking branch 'asoc/topic/lm49453' into asoc-next 2012-12-10 00:22:13 +09:00
Mark Brown
18620cc586 Merge remote-tracking branch 'asoc/topic/jz4740' into asoc-next 2012-12-10 00:22:12 +09:00
Mark Brown
8df6bf1c58 Merge remote-tracking branch 'asoc/topic/hotplug' into asoc-next 2012-12-10 00:22:10 +09:00
Mark Brown
57769541b4 Merge remote-tracking branch 'asoc/topic/da9055' into asoc-next 2012-12-10 00:22:06 +09:00
Mark Brown
ac0d9c9001 Merge remote-tracking branch 'asoc/topic/da7210' into asoc-next 2012-12-10 00:22:05 +09:00
Mark Brown
f20eca1c06 Merge remote-tracking branch 'asoc/topic/cs4271' into asoc-next 2012-12-10 00:22:04 +09:00
Mark Brown
daa5ab9e0d Merge remote-tracking branch 'asoc/topic/arizona' into asoc-next 2012-12-10 00:22:00 +09:00
Mark Brown
c006062652 Merge remote-tracking branch 'asoc/topic/ak4642' into asoc-next 2012-12-10 00:21:58 +09:00
Mark Brown
67fc455cc0 Merge remote-tracking branch 'asoc/topic/ak4535' into asoc-next 2012-12-10 00:21:58 +09:00
Mark Brown
c3b07b0773 Merge remote-tracking branch 'asoc/topic/ak4104' into asoc-next 2012-12-10 00:21:56 +09:00
Mark Brown
4e5a4b128a Merge remote-tracking branch 'asoc/topic/adsp' into asoc-next 2012-12-10 00:21:45 +09:00
Mark Brown
deb6779fc5 Merge remote-tracking branch 'asoc/topic/ab8500' into asoc-next 2012-12-10 00:21:42 +09:00
Sachin Kamat
d06080cf08 ASoC: tpa6130a2: Use devm_* APIs
Converted to use devm_gpio_request and devm_regulator_get APIs.
These are device managed and make error handling and cleanup
a bit simpler.

Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-10 00:17:34 +09:00
Mark Brown
a1abfa86d0 ASoC: wm5110: Enable volume ramp control
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-09 12:50:05 +09:00
Mark Brown
dfc075cb66 ASoC: wm5102: Enable volume ramp control
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-09 12:35:01 +09:00
Mark Brown
e853a00f5f ASoC: arizona: Add volume ramp controls
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-09 12:34:53 +09:00
Mark Brown
8afd0ef263 ASoC: wm8994: Fix variable double use
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-07 17:14:04 +09:00
Mark Brown
c8d35a6a3e ASoC: arizona: Log the clock we're setting the DAI to use
Useful for diagnostics.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-07 12:53:12 +09:00
Mark Brown
0c778e8633 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>
2012-12-07 12:53:09 +09:00
Mark Brown
09871a942a 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>
2012-12-06 16:52:36 +09:00
Mark Brown
d4d1eaaca0 ASoC: wm5110: Add LHPF coefficient configuration
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-06 00:29:39 +09:00
Mark Brown
56fd4608ed ASoC: wm5110: Add EQ coefficient configuration
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-06 00:29:31 +09:00
Mark Brown
2aeffd406e ASoC: wm5102: Make EQ coefficents configurable
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-06 00:29:15 +09:00
Sachin Kamat
ff7dc6af13 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>
2012-12-03 17:24:51 +09:00
Mark Brown
98869f68f2 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>
2012-12-03 16:35:00 +09:00
Mark Brown
e874de436f 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>
2012-12-03 16:34:26 +09:00
Mark Brown
63dd54521f 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>
2012-12-03 16:34:12 +09:00
Mark Brown
78b76dbec8 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>
2012-12-03 16:34:09 +09:00
Mark Brown
f02b0de0f0 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>
2012-12-03 16:34:06 +09:00
Mark Brown
f055c8f0fe ASoC: wm5102: Add support for configuring LHPF coefficients
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03 14:41:04 +09:00
Mark Brown
dd49e2c8b9 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>
2012-12-03 00:09:23 +09:00
Mark Brown
10a2b662c4 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>
2012-12-03 00:09:20 +09:00
Mark Brown
e436cadd65 ASoC: wm5102: Correct base address for Y region
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-02 13:23:47 +09:00
Sachin Kamat
c5e6f5fa0a 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>
2012-12-02 13:09:51 +09:00
Sachin Kamat
385b27f55c 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>
2012-12-02 13:09:09 +09:00
Sachin Kamat
8f255e7ba3 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>
2012-12-02 13:08:32 +09:00
Sachin Kamat
ad2c175b8d 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>
2012-12-02 13:07:28 +09:00
Sachin Kamat
b439c6d0d1 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>
2012-12-02 13:06:44 +09:00
Sachin Kamat
6dff9b3b05 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>
2012-12-02 13:05:30 +09:00
Sachin Kamat
a5710c0135 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>
2012-12-02 13:04:39 +09:00
Sachin Kamat
be7eaf53fd 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>
2012-12-02 13:03:37 +09:00
Daniel Mack
b8455c9f6f ASoC: cs4271: fix property check
The driver had the property check for 'cirrus,amutec_eq_bmutec' the
wrong way around. That happens if you misspell the property in the
bindings during tests.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-02 13:01:56 +09:00
Daniel Mack
26047e2d6b ASoC: cs4271: fix sparse warning
Make the flag in the pdata of type bool to fix a sparse warning.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-02 13:01:51 +09:00
Mark Brown
25c6fdb040 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>
2012-11-29 15:18:29 +00:00
Mark Brown
a7f9be7ec5 ASoC: wm_adsp: Set the core enable as well as start bit for ADSP2
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 20:29:20 +00:00
Sachin Kamat
f55ec27f48 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>
2012-11-28 19:19:23 +00:00
Mark Brown
cac27cff06 ASoC: wm5102: Enable DVFS support for the DSP
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 17:46:12 +00:00
Mark Brown
0644128556 Merge branch 'topic/adsp' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-arizona 2012-11-28 17:45:57 +00:00
Sachin Kamat
2fadf6a861 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>
2012-11-28 17:44:34 +00:00
Sachin Kamat
4e75955d8f 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>
2012-11-28 17:43:02 +00:00
Sachin Kamat
77d19b10a4 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>
2012-11-28 17:41:54 +00:00
Sachin Kamat
877fa971fb ASoC: wm8993: Use devm_regulator_bulk_get
devm_regulator_bulk_get() 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>
2012-11-28 17:40:49 +00:00
Sachin Kamat
95a5b240e4 ASoC: wm8400: Use devm_regulator_bulk_get
devm_regulator_bulk_get() 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>
2012-11-28 17:39:59 +00:00
Sachin Kamat
92437cbb1b ASoC: wm8962: Use devm_regulator_bulk_get
devm_regulator_bulk_get() 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>
2012-11-28 17:39:13 +00:00
Sachin Kamat
5851e9b89d ASoC: wm8350: Use devm_regulator_bulk_get
devm_regulator_bulk_get() 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>
2012-11-28 17:38:26 +00:00
Mark Brown
973838a030 ASoC: wm_adsp: Enable DVFS for ADSP2
Some ADSP devices can make use of DVFS to optimise power consumption
depending on the operating frequency of the DSP core. Implement
support for this in the generic ADSP code.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 17:36:23 +00:00
Mark Brown
72222be39a ASoC: wm8994: Use the same DCS codes for all WM1811 variants
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2012-11-28 13:47:32 +00:00
Mark Brown
2f76e6855f ASoC: wm5110: Implement haptics support
Provide a haptics widget for use by the haptics driver and expose the DAPM
context for it.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 13:44:00 +00:00
Mark Brown
3f41e3d2e8 ASoC: wm5102: Implement haptics support
Provide a haptics widget for use by the haptics driver and expose the DAPM
context for it.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 13:43:57 +00:00
Mark Brown
50fcfe45d7 ASoC: arizona: Record FLL setting when disabling
Otherwise we skip reenables.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 13:42:39 +00:00
Mark Brown
5b94e18167 Linux 3.7-rc7
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.18 (GNU/Linux)
 
 iQEcBAABAgAGBQJQss0FAAoJEHm+PkMAQRiG6cEH/An3PYsWBBy27tzoLyVfJKF1
 3m3vR8HS2tnHg6erxms+738jos59vrWXV0Ygnvw0DHbGR0HNb4rkwce/KXu/jgOD
 MRYNYhlhMFJTEUFrSrcwKITrAV3kVPWXxPXgAR6Gzpr6NPKKM9TBzEv0ze56TFYz
 asOxqeBcPSS7aFZlkoNsy1wG4l0Quo5ke8VZIxo9Me5qlqubAoZ6pING4wAGXqeE
 tf81CevSdpe0nqr8/dlYyCvLjrurgpJQczxRCBI3mP6kLWGfUCVzZmcu86PfT9b+
 35zNJwDneIoN+D9bVDHy6mrq9uQdmhWnQuhv1joTPn6RDn1nyBRBd+A5qLxSov4=
 =CPoy
 -----END PGP SIGNATURE-----

Merge tag 'v3.7-rc7' into asoc-wm2200

Linux 3.7-rc7
2012-11-27 20:02:45 +00:00
Mark Brown
5d910966d2 ASoC: wm0010: Ignore interrupts in power down mode
The device should not be generating interrupts when it does not have power
so ignore incoming interrupts.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-27 19:31:31 +00:00
Mark Brown
1cbe4bcae3 ASoC: arizona: Suppress noop FLL updates
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-27 19:30:56 +00:00
Mark Brown
ba6b047ab9 ASoC: wm5102: Add missing routes for ASRC inputs
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-27 19:30:25 +00:00
Mark Brown
a5ccea2224 ASoC: wm2000: Get the CODEC pointer from the widget
Don't rely on the kcontrol for robustness reasons, the widget mechanism
is what the framework uses.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-27 10:46:13 +00:00
Mark Brown
38113360f0 ASoC: arizona: Support higher clock rates
Some devices support higher clock rates, allow users to select these.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-27 10:36:34 +00:00
Mark Brown
d9dd4ada0e ASoC: wm8994: Use pdata cached in MFD driver
This is better style and facilitates implementation of device tree support
for the driver.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-24 00:15:08 +09:00
Tushar Behera
a273cd13a5 ASoC: ak4104: Convert to use devm_regmap_init_spi()
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-24 00:09:07 +09:00
Daniel Mack
385a4c2e28 ASoC: ak4104: add reset line property to DT bindings
This device doesn't have a pdata definition for legacy boards, and
unless anyone need to control the reset GPIO, it's not worth adding one.
So this feature is only available to DT users for now.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-24 00:09:03 +09:00
Tushar Behera
28517f5cf6 ASoC: wm8988: Convert to use devm_regmap_init_{spi,i2c}()
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-23 23:36:37 +09:00
Tushar Behera
f911fa829d ASoC: wm8985: Convert to use devm_regmap_init_{spi,i2c}()
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-23 23:36:26 +09:00
Tushar Behera
9bb6e95ec7 ASoC: wm8804: Convert to use devm_regmap_init_{spi,i2c}()
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-23 23:36:11 +09:00
Tushar Behera
d2d1fe9028 ASoC: wm8995: Convert to use devm_regmap_init_{spi,i2c}()
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-23 23:35:53 +09:00
Tushar Behera
eb781f7800 ASoC: wm8753: Convert to use devm_regmap_init_{spi,i2c}()
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-23 23:35:10 +09:00
Tushar Behera
fd64c45560 ASoC: wm8741: Convert to use devm_regmap_init_{spi,i2c}()
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-23 23:34:53 +09:00
Tushar Behera
d5ff3c8a51 ASoC: wm8995: Convert to use devm_kzalloc()
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-23 23:32:31 +09:00
Tushar Behera
ada7efe239 ASoC: wm8753: remove invalid free of devm_ allocated data
Fixes following warning.
sound/soc/codecs/wm8753.c:1594:1-6: WARNING: invalid free of devm_ allocated data

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-23 23:31:44 +09:00
Tushar Behera
9a58dc2268 ASoC: wm8510: remove invalid free of devm_ allocated data
Fixes following warning.
sound/soc/codecs/wm8510.c:614:1-6: WARNING: invalid free of devm_ allocated data

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-23 23:28:45 +09:00
Scott Ling
68e1969ea7 ASoC: wm0010: Add checking for .dfw info record version.
The info record at the start of the dsp firmware file has been
expanded to incorporate additional version information. We need
to check the version to make sure we understand the layout of
the information in the record. The srec2image tool is currently
used to create this record during creation of the .dfw file.

Signed-off-by: Scott Ling <sl@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-23 21:44:15 +09:00
Mark Brown
cd22000ade ASoC: wm8994: Lower AIFnCLK divisor when dropping to 32kHz
When lowering SYSCLK to 50kHz for accessory detection also lower the
AIFnCLK divisor to normalise the clocking configuration within the
device. This will not disrupt audio as we cannot support active audio
with such a low SYSCLK.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-22 17:36:30 +09:00
Dimitris Papastamos
631fcab2ea ASoC: wm0010: Up the completion timeout to 20ms instead of 10ms
Increase timeout to be more reliable and avoid the chance of
missing interrupts during boot.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-21 19:52:33 +09:00
Kuninori Morimoto
83f7cbc43b ASoC: Add max98090 codec driver
This patch adds the max98090 codec prototype driver.
It supports Headphone only at this point.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-21 13:31:29 +09:00
Kuninori Morimoto
2f391251c6 ASoC: ak4642: cleanup struct ak4642_priv
This patch removed struct ak4642_priv which had
meaningless variable.
It is no longer needed

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-21 13:26:09 +09:00
Mark Brown
a6366c519c Merge branches 'fix/arizona', 'fix/cs4271', 'fix/kirkwood' and 'fix/samsung' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into tmp 2012-11-21 11:41:15 +09:00
Dimitris Papastamos
4cbc365509 ASoC: wm5102: Register DSP1 Aux widgets
It seems WM_ADSP2("DSP1", 0) is added twice to the widgets list, remove
that and in place use ARIZONA_DSP_WIDGETS(DSP1, "DSP1").

We need to make sure that the DSP1 Aux widgets are provided otherwise
we'll see errors such as "Failed to add route DSP1 Aux 1 -> DSP1" etc.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-21 10:32:00 +09:00
Mark Brown
9ce6565faa ASoC: wm5102: Remove output OSR and PGA volume control
These are managed automatically in current revisions.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-20 17:34:31 +09:00
Bill Pemberton
6939565fa5 ASoC: max98088: remove use of __devexit_p
CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer
needed, remove it.

Also fix the indentation for the initialization of the
max98088_i2c_driver struct to make chkpatch happy.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-20 15:24:11 +09:00
Bill Pemberton
f6e6574499 ASoC: remove use of __devinitconst
CONFIG_HOTPLUG is going away as an option so __devinitconst is no
longer needed.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-20 10:58:34 +09:00
Mark Brown
80da549e52 Linux 3.7-rc6
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.18 (GNU/Linux)
 
 iQEcBAABAgAGBQJQpuujAAoJEHm+PkMAQRiG57gIAJAETX7smg5arajbgo+qO2Y8
 l9sEwacwYSiLT9niiYFK17NeaBkJDN3iU6gkbHGkfyvjFcqIC89aCtVdfdfBiSja
 j460qu4cJ/K0/LEo5JR+GCu9YDdITlsCrfhjCXGBysUYI+nT13A9xW8wuNgxKBBu
 qNcbMaWCz4q4qoqGjyu1DJZV85z/7bpotMf2k+ZpZrCZZRVzlu+ZfeFijn7FGnzO
 qS3v4T5/ARHvM8FnBMfbiFjR4ANpRgTvcZOIar+GZlmMNH48YShieZ2SM5w0sj7j
 UPU5+oV96HRabDeFIo61qSvXJluU7V8FfpyJxNx0cuTgtuUDR++OiJ2VM1XQUbg=
 =mpVh
 -----END PGP SIGNATURE-----

Merge tag 'v3.7-rc6' into asoc-wm2200

Linux 3.7-rc6
2012-11-19 17:02:14 +09:00
Mark Brown
24a118de11 Linux 3.7-rc6
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.18 (GNU/Linux)
 
 iQEcBAABAgAGBQJQpuujAAoJEHm+PkMAQRiG57gIAJAETX7smg5arajbgo+qO2Y8
 l9sEwacwYSiLT9niiYFK17NeaBkJDN3iU6gkbHGkfyvjFcqIC89aCtVdfdfBiSja
 j460qu4cJ/K0/LEo5JR+GCu9YDdITlsCrfhjCXGBysUYI+nT13A9xW8wuNgxKBBu
 qNcbMaWCz4q4qoqGjyu1DJZV85z/7bpotMf2k+ZpZrCZZRVzlu+ZfeFijn7FGnzO
 qS3v4T5/ARHvM8FnBMfbiFjR4ANpRgTvcZOIar+GZlmMNH48YShieZ2SM5w0sj7j
 UPU5+oV96HRabDeFIo61qSvXJluU7V8FfpyJxNx0cuTgtuUDR++OiJ2VM1XQUbg=
 =mpVh
 -----END PGP SIGNATURE-----

Merge tag 'v3.7-rc6' into asoc-arizona

Linux 3.7-rc6

Conflicts:
	sound/soc/codecs/wm5102.c
2012-11-19 15:43:50 +09:00
Sachin Kamat
2525808ee8 ASoC: rt5631: Fix return value
Return the value obtained from get_coeff() instead of EINVAL.
Silences a smatch warning.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-19 15:21:20 +09:00
Eric Millbrandt
978545e7b1 ASoC: wm8978: Remove remuxing of GPIO1 pin
Remove remuxing GPIO1.  Leave control of this up to the platform device.

Signed-off-by: Eric Millbrandt <emillbrandt@dekaresearch.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-16 09:41:55 +09:00
Dimitris Papastamos
96e1f18fbb ASoC: arizona: Fix typo - Swap value in 48k_rates[] and 44k1_rates[]
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2012-11-16 09:38:06 +09:00
Mark Brown
c3f6817126 ASoC: ab8500: Staticise non-exported ab85000_codec_dai
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-14 18:59:07 +09:00
Charles Keepax
5886c74379 ASoC: wm5110: Remove mixer widgets on the ASRC
There is no mixer attached to the ASRC on the wm5110 only a multiplexer
to select the source for the single input line. This change correctly
defines this in the wm5110 CODEC driver.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-14 10:32:29 +09:00
Charles Keepax
0f3ec6a935 ASoC: wm5102: Remove mixer widgets on the ASRC
There is no mixer attached to the ASRC on the wm5102 only a multiplexer
to select the source for the single input line. This change correctly
defines this in the wm5102 CODEC driver.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-14 10:32:29 +09:00
Charles Keepax
17bd09e545 ASoC: arizona: Add support for multiplexer with no associated mixer
The Asynchronous Sample Rate Converters on the wm5102/wm5110 have no
mixer attached to their input, but they do allow the input to be
selected from a number of sources via a multiplexer. Currently the
platform assumes the presence of 4 multiplexers and a mixer for each
block.

This patch adds support multiplexed single input blocks into the Arizona
platform.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-14 10:32:29 +09:00
Daniel Mack
5574f77454 ASoC: cs4271: free allocated GPIO
In case of probe deferral, the allocated GPIO line is not freed, which
prevents it from being claimed and properly asserted in later attempts.

Fix this by using devm_gpio_request().

Signed-off-by: Daniel Mack <zonque@gmail.com>
Reported-by: Michael Hirsch <hirsch@teufel.de>
Cc: Alexander Sverdlin <subaparts@yandex.ru>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-13 15:45:35 +09:00
Mark Brown
ba027da8eb Merge branches 'fix/arizona', 'fix/core', 'fix/cs42l52', 'fix/mxs', 'fix/samsung' and 'fix/wm8978' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into tmp 2012-11-13 15:13:29 +09:00
Scott Ling
3f5475df37 ASoC: wm0010: Split out the stage2 load from the boot function
Signed-off-by: Scott Ling <sl@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-09 11:44:31 +00:00
Scott Ling
8f7d52affe ASoC: wm0010: Split out the firmware file parsing from the boot
Move the firmware load and record parsing functionality out into
a separate function from the boot function.

Signed-off-by: Scott Ling <sl@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-09 11:44:31 +00:00
Wei Yongjun
5c855c8e2b ASoC: cs42l52: fix the return value of cs42l52_set_fmt()
Fix the return value of cs42l52_set_fmt() when clock inversion is
not allowed and also remove the useless variable ret.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

[We had been assigning to ret but then ignoring the value we assgined
-- broonie]

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2012-11-07 15:50:06 +01:00
Eric Millbrandt
55c6f4cb6e ASoC: wm8978: pll incorrectly configured when codec is master
When MCLK is supplied externally and BCLK and LRC are configured as outputs
(codec is master), the PLL values are only calculated correctly on the first
transmission.  On subsequent transmissions, at differenct sample rates, the
wrong PLL values are used.  Test for f_opclk instead of f_pllout to determine
if the PLL values are needed.

Signed-off-by: Eric Millbrandt <emillbrandt@dekaresearch.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2012-11-06 09:37:35 +01:00
Scott Ling
f9baa0ccb2 ASoC: wm0010: Remove boot_done variable as no longer required.
Remove the boot_done counter variable and check the wm0010 state
variable instead.

Signed-off-by: Scott Ling <scott.ling@wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-06 09:19:15 +01:00
Masanari Iida
ec8f53fb69 ALSA: Fix typo in drivers sound
Correct spelling typo in debug messages within drivers/sound

Signed-off-by: Masanari Iida <standby24x7@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-11-04 09:20:58 +01:00
Javier Martin
1858fe97c8 ASoC: tlv320aic32x4: Add rstn gpio to platform data.
Add the possibility to specify a gpio through platform data
so that a HW reset can be issued to the codec.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-01 14:35:56 +00:00
Javier Martin
a405387c68 ASoC: tlv320aic32x4: Fix problem with first capture.
In its previous status, the first capture didn't work properly;
nothing was actually recorded from the microphone. This
behaviour was observed using a Visstrim M10 board.

In order to solve this BUG a workaround has been added that,
during the initialization process of the codec, powers on and
off the ADC.

The issue seems related to a HW BUG or some behavior that
is not documented in the datasheet.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-01 14:35:56 +00:00
Mark Brown
fe81ad1c2d ASoC: wm5102: Write register value corrections after SYSCLK is enabled
Evalation of the WM5102 has identified a number of register values which
should be written after SYSCLK is enabled on revision A in order to
improve performance.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-30 11:51:46 +00:00
Mark Brown
f017eb299c ASoC: wm2200: Convert over to wm_adsp for ADSP1 support
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-28 17:58:27 +00:00
Mark Brown
5a0fbc6d9c Merge branch 'topic/adsp' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-wm2200 2012-10-28 17:57:17 +00:00
Mark Brown
804f5ba7e8 ASoC: wm5102: Hook up DSP1
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-28 17:47:41 +00:00
Mark Brown
0b09df6652 ASoC: arizona: Define standard hookup for ADSP2
Many Arizona class devices contain ADSP2 cores with a standard method for
hooking them into the audio map. Define standard helpers for this.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-28 17:47:40 +00:00
Mark Brown
95b5fa1a3c Merge branch 'topic/adsp' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-arizona 2012-10-28 17:47:25 +00:00
Mark Brown
2159ad936b ASoC: adsp: Add ADSP base support
Many current Wolfson devices feature DSPs based around an architecture
known as ADSP.  Since there is a lot of commonality in the system
integration of these devices a common library will be used to provide
support for them.

This version provides equivalent support for ADSP1 to that currently
included in the WM2200 driver.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-28 17:38:15 +00:00
Lars-Peter Clausen
dd1b18abca ASoC: jz4740-codec: Use regmap
Use regmap-mmio instead of open-coding caching and register accessors.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-27 21:31:42 +01:00
Lars-Peter Clausen
355d74b59c ASoC: jz4740-codec: Use devm_request_and_ioremap
Use devm_request_and_ioremap for requesting and mapping the IO region. This
makes the code a bit smaller and simpler.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-27 21:31:42 +01:00
Lars-Peter Clausen
a484a9a338 ASoC: jz4740-codec: Add dB information
Add dB TLV ranges for the various volume controls.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-27 21:31:42 +01:00
Charles Keepax
2a0db30765 ASoC: wm5102: Correct micbias DAPM supplies
ARIZONA_MICB1_ENA_SHIFT was used for micbias 2 and 3. This change
correctly uses the ARIZONA_MICBX_ENA_SHIFT for each corresponding DAPM
supply. This should not have caused any problems as the micbias enables
are in the same place in each register.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-25 17:20:50 +01:00
Mark Brown
79748cdb39 ASoC: wm8994: Only enable extra BCLK cycles when required
Rather than always assuming the maximum possible BCLK rate will be
required generate BCLKs for stereo if either one or two channels is
enabled. In order to support this we also need to ensure that only
the relevant channels are enabled.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-24 13:24:29 +01:00
Mark Brown
6730049a47 ASoC: wm8994: Lower AIFnCLK divisor when dropping to 32kHz
When lowering SYSCLK to 50kHz for accessory detection also lower the
AIFnCLK divisor to normalise the clocking configuration within the
device. This will not disrupt audio as we cannot support active audio
with such a low SYSCLK.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-24 10:58:01 +01:00
Randy Dunlap
8858086f35 ASoC: fix wm2200.c printk format warnings
Fix wm2200.c printk format warnings (seen on x86_64):

sound/soc/codecs/wm2200.c:1027:4: warning: format '%d' expects type 'int', but argument 4 has type 'size_t'
sound/soc/codecs/wm2200.c:1139:5: warning: format '%d' expects type 'int', but argument 5 has type 'long unsigned int'
sound/soc/codecs/wm2200.c:1181:2: warning: format '%d' expects type 'int', but argument 7 has type 'size_t'
sound/soc/codecs/wm2200.c:1201:5: warning: format '%x' expects type 'unsigned int', but argument 3 has type 'long unsigned int'
sound/soc/codecs/wm2200.c:1264:4: warning: format '%d' expects type 'int', but argument 4 has type 'size_t'
sound/soc/codecs/wm2200.c:1328:5: warning: format '%d' expects type 'int', but argument 5 has type 'long unsigned int'

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-22 14:40:02 +01:00
Ashish Chavan
5619d76dcb ASoC: da9055: DAPMise Headphone and Lineout enable controls
This patch DAPMises headphone and lineout output enable controls.

Earlier these output enable bits were permanently turned on in probe.
In da9055 codec, right outmixer is directly connected with right HP and
Line out. This resulted in two side effects,

(1) When you only want to use lineout, right HP (and connected charge
pump) also gets enabled

(2) When you only want to use stereo HP, lineout also gets enabled

This patch adds three switches to select which output(s) should be
enabled.

Signed-off-by: Ashish Chavan <ashish.chavan@kpitcummins.com>
Signed-off-by: David Dajun Chen <david.chen@diasemi.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-17 22:57:43 +09:00
Takashi Iwai
c95d947f1f ASoC: Fixes for v3.7
Nothing too exciting except for the ams-delta change which is relatively
 lerge due to the fact that the driver loading had been totally broken as
 the driver needed a newer API to function.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQfoIaAAoJELSic+t+oim9uWcP/jZDrx8YlG1zjDqTiZ3jSL4Q
 K+s2992epyA6CgqagpcReyofExEGIitQ0rArT6++ViTAISnysZ9wFS/GbGsFDd5j
 b0m2zZMJFNhnLOD83djYeubSdP17d9WAfI7CbPzn4skSBFx8WIjt7Ti9++eHqrMd
 gxhHBRmNSAsa5FiA69Acf1BW0HgaW8JyzPMOEz5d5BRhoJ233z3GJ6UUawxQ2c4l
 cbSt66Bs19gOkiIiPbqEDRs6JBalJnbxAjDqkwsFZU1Lq/1fUJ3CsZ/TsR/rkaY0
 RL+32So1CpMqmFKNSJ26Tqwzi7xGkGeTW/o/nYGhvloITKx1jbdHOOA+BfAGDagW
 Rc/CY2HbG5o+2rrPDWs4aM7xwh56UIoftww500Oeq+4+Pu+rmEpxuvu2ewjqcLv3
 MZia9mDTXiOg7ETCLDweCLh3JRrAJZqSkyAkTtTmcx7GPiCa2lu8ns3F1+vA6CGR
 jOx3SoX7KDfh99xZOR2AdpsPqce3VqVx4EnQ9zrDiGKik9QGwp37e7KaeUPCMAVP
 Y4XcmIx94KKUjyBO2wZgTuXjPHZcZWtCSUdhxrb1Ohf/2IQpFf8jic1nknCA5k/M
 77BNhmijxha2zfVBvglLTUKJLa2eExxM53m71rjrrF31f4jpwUX+VjAgVP5thXDG
 4mFnuX+KN6sWumFFY1X1
 =lEIC
 -----END PGP SIGNATURE-----

Merge tag 'asoc-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

ASoC: Fixes for v3.7

Nothing too exciting except for the ams-delta change which is relatively
lerge due to the fact that the driver loading had been totally broken as
the driver needed a newer API to function.
2012-10-17 14:09:15 +02:00
Mark Brown
9874482985 ASoC: wm2200: Add names for ranges
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 13:00:06 +09:00
Mark Brown
2570a3719c regmap: Range API changes
A bunch of updates to the regmap range support, the most important ones
 being to rename "n_ranges" to "num_ranges" for consistency and to allow
 block writes to cross page boundaries, making things more transparent.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQe2BbAAoJELSic+t+oim9DbQQAJpRdFGQ0yGU6PooFr29e4qo
 GS0evdefnEgSeXIU/0cI9k36/dZ8IhKcfv1ccdzhWTbp7dDc6q1WVokz8/NHYz0t
 TP1tNiSA8Hkov1u39QS64WH75QHmMfBIHgBaooJxA3irVhb1+XBmvu4y4Tw7jBP2
 TSvebCySYe5ErHqbEmtbmlaxvaloBYG4LiqjVxYn8R8jwt8hvVlT39iBeMuw+veB
 N4mozGuUxizxRYxU6zlZRcKuPMGk/Gseh1NUK0nLLSxAmv6MTOD1c5BXXX5jlDJA
 1YsrX7TPgdWnS3hpY/YErGJtJyO+1WnVQ9mYL2f4sjjKa+Wge5VMLAmjldi9nQ3S
 9SufXQvgnuPwwGBRa7+qYYF8GOwoj+JNpdUnz3VU3svYhGnioZkXVs/bTHcGl7KD
 Ayc1C4mGJEQsdOKVMRhglYNdWWyfvmC2NsL89VtTlSUaNcrwjm5wIXsw6fmu/RWK
 pzDtBy/Zz/7Og0F6m1JjBMe/qCitGooPimgKSZtuRfJFqLrHU/5VDzn4dCj+Kh2V
 mJdvmSXroNo9U5m9Be5Eps2yi/oXyhlInm7EpNQGZTufQSLgO8hFYG/7QNRzKFBx
 EelxMO9jT68Tezt8t5NF61oMJQ3tuYbNsQAjFdLvFdDAXiBl6WIwhV2xUrgy/mAW
 IPaj9ZhSadKMAYMYtXMU
 =Cdf2
 -----END PGP SIGNATURE-----

Merge tag 'regmap/range' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into asoc-wm2200

regmap: Range API changes

A bunch of updates to the regmap range support, the most important ones
being to rename "n_ranges" to "num_ranges" for consistency and to allow
block writes to cross page boundaries, making things more transparent.
2012-10-15 12:57:42 +09:00
Mark Brown
0ffecd7d86 ASoC: wm8958: Load firmwares simultaneously
As of commit 99c2aa (firmware loader: fix creation failure of fw loader
device) we can have more than one firmware request outstanding at once so
there is no need to daisychain our requests any more.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 11:51:33 +09:00
Mark Brown
f95be9d616 ASoC: wm8994: Tune VMID power down sequence
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 11:51:33 +09:00
Mark Brown
a3a1d9d21d ASoC: wm8994: Tune VMID power up sequence
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 11:51:32 +09:00
Mark Brown
c0cc3f1665 ASoC: wm8994: Allow a delay between jack insertion and microphone detect
This can be used to provide some additional settling time to ensure that
we don't start microphone detection while the microphone pin is connected
to one of the headphone pins.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 11:51:32 +09:00
Mark Brown
bc7f610fee ASoC: wm8971: Convert to direct regmap API usage
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 11:50:40 +09:00
Mark Brown
c6300bb83f ASoC: wm8770: Conver to table based DAPM and control init
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 11:49:41 +09:00
Mark Brown
f81ad9421a ASoC: wm8770: Remove regulator allocation to SPI probe
This is more idiomatic and ensures we don't try to do the ASoC card setup
until we've got all the required resources.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 11:49:41 +09:00
Mark Brown
c16a742891 ASoC: wm8770: Remove unneeded bias level manipulation
Since the device is now idle_bias_off these never have any useful effect,
the device will be brought to _OFF when idle, and will at best leave it
powered for longer.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 11:49:40 +09:00
Mark Brown
dc43b04671 ASoC: wm8770: Convert to direct regmap API usage
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 11:49:40 +09:00
Mark Brown
ed79edac0d ASoC: wm8750: Convert to direct regmap API usage
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 11:48:24 +09:00
Andrey Smirnov
330345ebdb Add a codec driver for SI476X MFD
This commit add a sound codec driver for Silicon Laboratories 476x
series of AM/FM radio chips.

Signed-off-by: Andrey Smirnov <andrey.smirnov@convergeddevices.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 11:32:18 +09:00
Ashish Chavan
5e82aaa751 ASoC: da9055: Add support for DSP mode of AIF
This patch adds AIF DSP mode support for da9055 codec driver.

Signed-off-by: Ashish Chavan <ashish.chavan@kpitcummins.com>
Signed-off-by: David Dajun Chen <david.chen@diasemi.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 10:09:52 +09:00
Daniel Mack
293750f9bc ASoC: cs4271: add support for AMUTEB=BMUTEC feature
The CS4271 has a feature to sync its analog mute flags, so one mute
circuitry can be used for both channels.

Give users access to this feature with a new DT property and a flag in
the platform data.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 10:08:20 +09:00
Daniel Mack
ac5dbea0d4 ASoC: ak4104: add DT bindings
Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 09:47:20 +09:00
Daniel Mack
08201deb69 ASoC: ak4104: handle more sample rates
Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 09:47:20 +09:00
Ashish Chavan
c7c0f2cdef ASoC: codecs: da9055: Minor improvement in ALC calibration process
This patch slightly improves ALC calibration process of da9055 codec
driver by muting Mic PGAs during calibration.

Signed-off-by: Ashish Chavan <ashish.chavan@kpitcummins.com>
Signed-off-by: David Dajun Chen <david.chen@diasemi.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-11 17:42:31 +09:00
Linus Torvalds
f5a246eab9 Sound updates for 3.7-rc1
This contains pretty many small commits covering fairly large range of
 files in sound/ directory.  Partly because of additional API support
 and partly because of constantly developed ASoC and ARM stuff.
 
 Some highlights:
 
 - Introduced the helper function and documentation for exposing the
   channel map via control API, as discussed in Plumbers; most of PCI
   drivers are covered, will follow more drivers later
 
 - Most of drivers have been replaced with the new PM callbacks (if
   the bus is supported)
 
 - HD-audio controller got the support of runtime PM and the support of
   D3 clock-stop.  Also changing the power_save option in sysfs kicks
   off immediately to enable / disable the power-save mode.
 
 - Another significant code change in HD-audio is the rewrite of
   firmware loading code.  Other than that, most of changes in HD-audio
   are continued cleanups and standardization for the generic auto
   parser and bug fixes (HBR, device-specific fixups), in addition to
   the support of channel-map API.
 
 - Addition of ASoC bindings for the compressed API, used by the
   mid-x86 drivers.
 
 - Lots of cleanups and API refreshes for ASoC codec drivers and
   DaVinci.
 
 - Conversion of OMAP to dmaengine.
 
 - New machine driver for Wolfson Microelectronics Bells.
 
 - New CODEC driver for Wolfson Microelectronics WM0010.
 
 - Enhancements to the ux500 and wm2000 drivers
 
 - A new driver for DA9055 and the support for regulator bypass mode.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.19 (GNU/Linux)
 
 iQIcBAABAgAGBQJQcpeWAAoJEGwxgFQ9KSmkpi4P/2etDDz5aEkEHNa1l4xEmFcm
 ymiGTgjaalqpUAVbM/gYx9G59EFMEbzUl1BHAqE5La4wO/v9lNPb+VrdUo+B+NZ7
 WSxIPWcNqdinSuoSqyYPjoPMVnhs3EMtNOqmf4jm1JOvdqA+4rO29xQVAqK/5Gfu
 LpMOyPiRi5ODnbQ1BOIWwpKICioY/mLwGJudK3z0i/fYVA7gLub20f+w+sOjKIA4
 wmwQAMTjAR798Cg/tVy4fQmf4SLw+c2nIgGe/PD+2gVlGXLNKBrJfMonHPTbmwKu
 lmJO/EtnijNOnpbn6up7ryUQ9cSoZAUZOfdIOgmAeQgQ/LWR0f+zf2IQehSPwrul
 g6hqOnQI2DNN7ugT3cYVbYnsh56TjyhnxhhxZgkapqh706QkqHGyKJNMRetzuXmP
 1O//MnZJrFQWd6sOKLlTL2ZzRvnxEJcNVGaE6bbwZTfQMtPeo9l1842uIq1dLUtG
 VxZb/svKUkMXv4is1dwUYUkpDsKxsgMEmabmuovceGf2N7jj/irkXgqxf6LWkaY1
 JQ7ZFWUJyDzEMXRaFfzdGO15T532CfB84wvFX5xoPMwMste2AA7QuybFBVstXhKu
 AtKNDgRJFUTlnLIxydpPBWdWH3UJdEaFwwsSfuNKI8OmmGKhWC/aP83k4hzueu9H
 KYLvY/0ObMSMqiwh/ndQ
 =uNqD
 -----END PGP SIGNATURE-----

Merge tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

Pull sound updates from Takashi Iwai:
 "This contains pretty many small commits covering fairly large range of
  files in sound/ directory.  Partly because of additional API support
  and partly because of constantly developed ASoC and ARM stuff.

  Some highlights:

   - Introduced the helper function and documentation for exposing the
     channel map via control API, as discussed in Plumbers; most of PCI
     drivers are covered, will follow more drivers later

   - Most of drivers have been replaced with the new PM callbacks (if
     the bus is supported)

   - HD-audio controller got the support of runtime PM and the support
     of D3 clock-stop.  Also changing the power_save option in sysfs
     kicks off immediately to enable / disable the power-save mode.

   - Another significant code change in HD-audio is the rewrite of
     firmware loading code.  Other than that, most of changes in
     HD-audio are continued cleanups and standardization for the generic
     auto parser and bug fixes (HBR, device-specific fixups), in
     addition to the support of channel-map API.

   - Addition of ASoC bindings for the compressed API, used by the
     mid-x86 drivers.

   - Lots of cleanups and API refreshes for ASoC codec drivers and
     DaVinci.

   - Conversion of OMAP to dmaengine.

   - New machine driver for Wolfson Microelectronics Bells.

   - New CODEC driver for Wolfson Microelectronics WM0010.

   - Enhancements to the ux500 and wm2000 drivers

   - A new driver for DA9055 and the support for regulator bypass mode."

Fix up various arm soc header file reorg conflicts.

* tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (339 commits)
  ALSA: hda - Add new codec ALC283 ALC290 support
  ALSA: hda - avoid unneccesary indices on "Headphone Jack" controls
  ALSA: hda - fix indices on boost volume on Conexant
  ALSA: aloop - add locking to timer access
  ALSA: hda - Fix hang caused by race during suspend.
  sound: Remove unnecessary semicolon
  ALSA: hda/realtek - Fix detection of ALC271X codec
  ALSA: hda - Add inverted internal mic quirk for Lenovo IdeaPad U310
  ALSA: hda - make Realtek/Sigmatel/Conexant use the generic unsol event
  ALSA: hda - make a generic unsol event handler
  ASoC: codecs: Add DA9055 codec driver
  ASoC: eukrea-tlv320: Convert it to platform driver
  ALSA: ASoC: add DT bindings for CS4271
  ASoC: wm_hubs: Ensure volume updates are handled during class W startup
  ASoC: wm5110: Adding missing volume update bits
  ASoC: wm5110: Add OUT3R support
  ASoC: wm5110: Add AEC loopback support
  ASoC: wm5110: Rename EPOUT to HPOUT3
  ASoC: arizona: Add more clock rates
  ASoC: arizona: Add more DSP options for mixer input muxes
  ...
2012-10-09 07:07:14 +09:00
Mark Brown
6e87badd3f ASoC: wm2200: Provide initial coefficient loading
Allow a coefficient set provided using the Wolfson callibration tools to
be provided along with the firmware files. Currently only coefficient
files which configure absolute register addresses are supported.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-05 20:17:56 +01:00
Mark Brown
e10f871190 ASoC: wm2200: Initial DSP support
Support download and execution of firmwares to the DSPs on the WM2200.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-05 20:17:55 +01:00
Mark Brown
09d5d5880e ASoC: wm2200: Fully plumb the DSPs into the routing map
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-05 20:17:53 +01:00
Mark Brown
eae2328d41 ASoC: wm2200: Map DSPs into regmap
Use the regmap ranges support to add the WM2200 DSP core memory pages
into the "register map" beyond the end of the real register map. We
don't extend beyond 16 bits since the regmap API will iterate over
every register doing diagnostics.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-05 20:17:52 +01:00
Mark Brown
999e068e40 ASoC: wm2200: Implement AEC loopback support
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-05 20:17:51 +01:00
Mark Brown
98ad089ffb ASoC: wm2200: Convert to devm APIs
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-05 20:17:49 +01:00
Andi Kleen
c7fd5bc77e sections: fix section conflicts in sound
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-10-06 03:04:46 +09:00
Mark Brown
a1b98e12b7 ASoC: wm2200: Fix non-inverted OUT2 mute control
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2012-10-05 13:06:42 +01:00
Mark Brown
5ae9eb4cbd ASoC: wm2200: Use rev A register patches on rev B
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2012-10-05 13:06:21 +01:00
Peter Ujfalusi
07ac2296fb ASoC: twl6040: Fix Stream DAPM mapping
Fixes commit: 805238b ASoC: twl6040: Convert to use DAI DAPM widgets
where the connection between the stream widgets and the ADC widgets was
reversed and because of this on capture the DAPM is not powering up the
codec.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-04 18:42:40 +01:00
Linus Torvalds
033d9959ed Merge branch 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
Pull workqueue changes from Tejun Heo:
 "This is workqueue updates for v3.7-rc1.  A lot of activities this
  round including considerable API and behavior cleanups.

   * delayed_work combines a timer and a work item.  The handling of the
     timer part has always been a bit clunky leading to confusing
     cancelation API with weird corner-case behaviors.  delayed_work is
     updated to use new IRQ safe timer and cancelation now works as
     expected.

   * Another deficiency of delayed_work was lack of the counterpart of
     mod_timer() which led to cancel+queue combinations or open-coded
     timer+work usages.  mod_delayed_work[_on]() are added.

     These two delayed_work changes make delayed_work provide interface
     and behave like timer which is executed with process context.

   * A work item could be executed concurrently on multiple CPUs, which
     is rather unintuitive and made flush_work() behavior confusing and
     half-broken under certain circumstances.  This problem doesn't
     exist for non-reentrant workqueues.  While non-reentrancy check
     isn't free, the overhead is incurred only when a work item bounces
     across different CPUs and even in simulated pathological scenario
     the overhead isn't too high.

     All workqueues are made non-reentrant.  This removes the
     distinction between flush_[delayed_]work() and
     flush_[delayed_]_work_sync().  The former is now as strong as the
     latter and the specified work item is guaranteed to have finished
     execution of any previous queueing on return.

   * In addition to the various bug fixes, Lai redid and simplified CPU
     hotplug handling significantly.

   * Joonsoo introduced system_highpri_wq and used it during CPU
     hotplug.

  There are two merge commits - one to pull in IRQ safe timer from
  tip/timers/core and the other to pull in CPU hotplug fixes from
  wq/for-3.6-fixes as Lai's hotplug restructuring depended on them."

Fixed a number of trivial conflicts, but the more interesting conflicts
were silent ones where the deprecated interfaces had been used by new
code in the merge window, and thus didn't cause any real data conflicts.

Tejun pointed out a few of them, I fixed a couple more.

* 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (46 commits)
  workqueue: remove spurious WARN_ON_ONCE(in_irq()) from try_to_grab_pending()
  workqueue: use cwq_set_max_active() helper for workqueue_set_max_active()
  workqueue: introduce cwq_set_max_active() helper for thaw_workqueues()
  workqueue: remove @delayed from cwq_dec_nr_in_flight()
  workqueue: fix possible stall on try_to_grab_pending() of a delayed work item
  workqueue: use hotcpu_notifier() for workqueue_cpu_down_callback()
  workqueue: use __cpuinit instead of __devinit for cpu callbacks
  workqueue: rename manager_mutex to assoc_mutex
  workqueue: WORKER_REBIND is no longer necessary for idle rebinding
  workqueue: WORKER_REBIND is no longer necessary for busy rebinding
  workqueue: reimplement idle worker rebinding
  workqueue: deprecate __cancel_delayed_work()
  workqueue: reimplement cancel_delayed_work() using try_to_grab_pending()
  workqueue: use mod_delayed_work() instead of __cancel + queue
  workqueue: use irqsafe timer for delayed_work
  workqueue: clean up delayed_work initializers and add missing one
  workqueue: make deferrable delayed_work initializer names consistent
  workqueue: cosmetic whitespace updates for macro definitions
  workqueue: deprecate system_nrt[_freezable]_wq
  workqueue: deprecate flush[_delayed]_work_sync()
  ...
2012-10-02 09:54:49 -07:00
Linus Torvalds
2a2bf85f05 ARM: soc: device tree updates
Device tree conversion and enablement branch. Mostly a bunch of new
 bindings and setup for various platforms, but the Via/Winchip VT8500
 platform is also converted over from being 100% legacy to now use
 device tree for probing. More of that will come for 3.8.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJQaiKNAAoJEIwa5zzehBx329AP/1TwJk1dTHaAA7vDxyz2mq1E
 F0MBL9p32R1SczrFGjbmb9ouVW5tTjbK1zted5zBrGBXDIX9Kdz3Dmm7x6b2/JvZ
 8yMrdiBNpF3r8au6IaMuMlOq5yAaN+F4SxbC2rE0a9y3YmMZ6ug5dgoZ4O8orAC4
 il3eq1sb+rTTPCf7C5cGlKzdRQi2KYdAycpa7ChQCYSamxJjdM7cXR7pohVv9vhd
 9sF+h1I0ArxcVYn/mUOoCin8MyIWXlBQvbUnF+3aYO8CO9erhKH/owPngVBWGKZH
 +X6dk0ChUJfjzaWr2HPZIYUqLUnIoO8TsRhQVmLp1rPrSzSXMG3iDq0M4WEwL4Xo
 bMbAZ1KWYg53HRqbIOEQk5q9Mg7HUgtbJuOE7WLgBO5ubdKFFWLmDUJ+WVcoWzSW
 qyWaWpECSptlQjFyqZJd9MjizIDhuYjog2EWaSWXETQ+1XRmCSsqx8AX6n1MVdhP
 6jDLnYHYiJoOtGiaDpYxsXgMXdOVsrTegecNduqH/XhdEL1iwy3fwgK1DjoclYoj
 iFbn0/Tw3N5SvJlG4xitl12DQ7MeCCbfzJGRKenVh9/O4U+qrTbFRmsNaaZw5dA1
 bt+iEZ3aU8YBaKj02LexunAevpZJ2rfGNX2tBjQrIzzZK6CZibPWg42qfKJfdn7w
 etXVVApw5jQjAImY64kh
 =q7ZY
 -----END PGP SIGNATURE-----

Merge tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull ARM soc device tree updates from Olof Johansson:
 "Device tree conversion and enablement branch.  Mostly a bunch of new
  bindings and setup for various platforms, but the Via/Winchip VT8500
  platform is also converted over from being 100% legacy to now use
  device tree for probing.  More of that will come for 3.8."

Trivial conflicts due to removal of vt8500 files, and one documentation
file that was added with slightly different contents both here and in
the USb tree.

* tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (212 commits)
  arm: vt8500: Fixup for missing gpio.h
  ARM: LPC32xx: LED fix in PHY3250 DTS file
  ARM: dt: mmp-dma: add binding file
  arm: vt8500: Update arch-vt8500 to devicetree support.
  arm: vt8500: gpio: Devicetree support for arch-vt8500
  arm: vt8500: doc: Add device tree bindings for arch-vt8500 devices
  arm: vt8500: clk: Add Common Clock Framework support
  video: vt8500: Add devicetree support for vt8500-fb and wm8505-fb
  serial: vt8500: Add devicetree support for vt8500-serial
  rtc: vt8500: Add devicetree support for vt8500-rtc
  arm: vt8500: Add device tree files for VIA/Wondermedia SoC's
  ARM: tegra: Add Avionic Design Tamonten Evaluation Carrier support
  ARM: tegra: Add Avionic Design Medcom-Wide support
  ARM: tegra: Add Avionic Design Plutux support
  ARM: tegra: Add Avionic Design Tamonten support
  ARM: tegra: dts: Add pwm label
  ARM: ux500: Fix SSP register address format
  ARM: ux500: Apply tc3589x's GPIO/IRQ properties to HREF's DT
  ARM: ux500: Remove redundant #gpio-cell properties from Snowball DT
  ARM: ux500: Add all encompassing sound node to the HREF Device Tree
  ...
2012-10-01 18:28:06 -07:00
Ashish Chavan
9911f7f756 ASoC: codecs: Add DA9055 codec driver
This patch adds support for Dialog semiconductor's DA9055 audio codec.

This has been tested on DA9055 EVB with Samsung SMDK6410 board.

Signed-off-by: Ashish Chavan <ashish.chavan@kpitcummins.com>
Signed-off-by: David Dajun Chen <david.chen@diasemi.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-28 14:21:54 +01:00
Daniel Mack
a31ebc349d ALSA: ASoC: add DT bindings for CS4271
Apart from pure matching, the bindings also support setting the the
reset gpio line.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Cc: Alexander Sverdlin <subaparts@yandex.ru>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-28 14:12:09 +01:00
Mark Brown
eb4d5fc1f0 ASoC: wm_hubs: Ensure volume updates are handled during class W startup
In some circumstances we may need to flush volume updates to the device
after switching to class W mode. Do this unconditionally to ensure that
these situations are handled.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2012-09-28 12:06:31 +01:00
Charles Keepax
ae60503741 ASoC: wm5110: Adding missing volume update bits
The volume update bits were being set on all but one input and one output.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2012-09-27 17:58:25 +01:00
Mark Brown
20bf691f4e ASoC: wm5110: Add OUT3R support
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-26 19:21:29 +01:00
Mark Brown
dac8f1c422 ASoC: wm5110: Add AEC loopback support
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-26 19:21:28 +01:00
Mark Brown
35d3889389 ASoC: wm5110: Rename EPOUT to HPOUT3
The third output on WM5110 is a general purpose headphone output which can
be used to drive an earpice rather than a dedicated earpiece driver.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-26 19:21:28 +01:00
Mark Brown
aeaeee1a1f ASoC: arizona: Add more clock rates
Some devices support additional clock rates.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-26 19:16:35 +01:00
Mark Brown
c922cc4c1c ASoC: arizona: Add more DSP options for mixer input muxes
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-26 19:16:26 +01:00
Mark Brown
9bb684442c ASoC: wm0010: Initialise chip state before we register the interrupt
The interrupt handler uses the chip state.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-26 13:54:00 +01:00
Mark Brown
5afe5bfe24 ASoC: wm0010: Don't check if reset GPIO is defined when removing
We will fail to probe without one.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-26 13:53:59 +01:00
Mark Brown
fff00cbca1 ASoC: wm0010: Allow slow GPIO for reset
We never set the GPIO from atomic context so there's no reason why we
can't support a GPIO that needs to sleep when configuring.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-26 13:53:55 +01:00
Mark Brown
76dbd2af78 ASoC: wm5110: Enable bypass mode for MICVDD
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-26 12:30:03 +01:00
Mark Brown
bb09d97855 ASoC: wm5102: Enable bypass mode for MICVDD
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-26 12:30:01 +01:00
Mark Brown
d0e12f3ff3 ASoC: wm2000: Correct register size
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2012-09-26 12:06:20 +01:00
Fabio Estevam
f76fe059dd ASoC: cs4270: Remove mono support
According to cs4270 datasheet, there is no reference to mono mode.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-25 13:52:42 +01:00
Mark Brown
2ef39e606b Merge remote-tracking branch 'asoc/topic/ux500' into for-3.7 2012-09-22 18:47:58 -04:00
Mark Brown
a89be93c28 ASoC: wm2000: Add regulator support
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-22 18:38:06 -04:00
Mark Brown
8fed54aec8 ASoC: wm2000: Convert to devm_regmap_init_i2c()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-22 18:38:04 -04:00
Mark Brown
ddfb43f388 Linux 3.6-rc6
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.18 (GNU/Linux)
 
 iQEcBAABAgAGBQJQVkutAAoJEHm+PkMAQRiGW8sH/36FVQ3zI75QH16AmR++2nMZ
 BRJGoxcRFMssrXTYVdkMyzygf8b7MZbNEn1qt2g63MNzGaJucPlw5NVL4GLzR+zr
 x/EglLrTEPCD5el9wJ3ls9iC1soudKQTvC2BjcdUjpoSwHrDM/7GKfbOacE54Wqc
 C1VHCcg5DWOD7F0RnYT2SQEVCeDODNmcyFdk7Oi4cUicTPJoYWJ9O9MGfBDBok0N
 M+dXxa9nvsl7EeEKpBKH9vo4TfXn3Gsj6LCRdedvI15ilZjfo8jdHYbSn7KBfQuZ
 JIKRnqkaQ1JfMFt+M/JJZ1b/+Wrd4HLMmmn5oUmrGGIvhpi32nJfi/97+nSy8iU=
 =c5gW
 -----END PGP SIGNATURE-----

Merge tag 'v3.6-rc6' into for-3.7

Linux 3.6-rc6 has all our bug fixes.

Conflicts (trivial overlap):
	sound/soc/omap/am3517evm.c
2012-09-22 11:26:27 -04:00
Peter Ujfalusi
2d6d649a2e ASoC: twl4030: Support for DT booted kernel
When the kernel has been booted with DT blob the platform data is NULL for
the driver.
We need to construct the pdata based on the DT information for runtime use.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-22 11:18:33 -04:00
Peter Ujfalusi
182f73f6bb ASoC: twl4030: Add pointer to pdata within the private data
Access the pdata via a pointer within the twl4030_priv structure.
In preparation for DeviceTree support.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-22 11:18:33 -04:00
Peter Ujfalusi
f2b1ce4949 ASoC: twl4030: Convert to use devm_kzalloc
Allocate the private data with devm_kzalloc.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-22 11:18:32 -04:00
Peter Ujfalusi
d0b3847b40 ASoC/mfd: twl4030: Remove set_hs_extmute callback from platform data
We no longer have users for the set_hs_extmute callback which has been
replaced by hs_extmute_gpio so the codec driver can handle the external
mute if it is needed by the board.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-22 11:18:26 -04:00
Peter Ujfalusi
281ecd1611 ASoC: twl4030: Move hs_extmute GPIO handling to driver
The external mute (if it is in use) is handled by a GPIO line. Prepare to
remove the set_hs_extmute callback and replace it with:
hs_extmute_gpio: the GPIO number to use for external mute

When the users of set_hs_extmute has been converted the callback can be removed.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-22 11:18:24 -04:00
Peter Ujfalusi
805238b1b7 ASoC: twl6040: Convert to use DAI DAPM widgets
Use DAPM mapping for stream events and give unique names for the streams.
This change also fixes the following warning:
twl6040-codec twl6040-codec: Failed to create Capture debugfs file

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-22 10:57:41 -04:00
Peter Ujfalusi
7f51e7d30e ASoC: twl4030: Convert to use DAI DAPM widgets
Use DAPM mapping for stream events and give unique names for the streams.
This change also fixes the following warning:
twl4030-codec twl4030-codec: Failed to create Capture debugfs file

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-22 10:57:40 -04:00
Timur Tabi
0534951ba4 ASoC: wm8960: remove 'dres' field from platform data structure
The 'dres' field (discharge resistance for headphone outputs) is no longer
used in the driver, so remove it.

It was used in the original version of the driver when entering standby
from off, but we stopped using it when we switched from having a single
startup sequence to having separate cap and capless sequences.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-21 08:35:06 -04:00
Lee Jones
db5c811d40 ASoC: codecs: Enable AB8500 CODEC for Device Tree
We continue to allow the AB8500 CODEC to be registered via the AB8500
Multi Functional Device API, only this time we extract its configuration
from the Device Tree binary.

Acked-by: Ola Lilja <ola.o.lilja@stericsson.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2012-09-20 09:10:57 +02:00
Mark Brown
b306e84f9a ASoC: wm8961: Move device identification and reset to I2C probe
This is more idiomatic as it means we verify that the device is there
prior to trying to do the card probe.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-18 23:23:53 -04:00
Mark Brown
35ecf7cd96 ASoC: wm8961: Convert to direct regmap API usage
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-18 23:23:52 -04:00
Mark Brown
3706163140 ASoC: wm8960: Support shared LRCLK
If the LRCLK is shared and the WM8960 is clock master then we should
enable the LRCM bit to tell the device that it should drive LRCLK when
either ADC or DAC is enabled rather than separately driving the two
LRCLKs.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-18 23:23:51 -04:00
Mark Brown
2cbde7abfd ASoC: wm8776: Convert to direct regmap API usage
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-18 23:23:47 -04:00
Lars-Peter Clausen
86767b7d5b ASoC: Avoid recalculating the bitmask for SOC_ENUM controls
For ENUM controls the bitmask is calculated based on the number of items.
Currently this is done each time the control is accessed. And while the
performance impact of this should be negligible we can easily do better. The
roundup_pow_of_two macro performs the same calculation which is currently done
manually, but it is also possible to use this macro with compile time constants
and so it can be used to initialize static data. So we can use it to initialize
the mask field of a ENUM control during its declaration.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-18 22:51:23 -04:00
Timur Tabi
4c2474c007 ASoC: wm8960: add support for big-endian audio samples
PowerPC ASoC drivers frequently use the _BE variants of the SNDRV_PCM_FORMAT
macros, so we need to look for those as well.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-18 22:32:44 -04:00
Takashi Iwai
5d037f9064 ASoC: Updates for 3.6
A bigger set of updates than I'm entirely comfortable with - things
 backed up a bit due to travel.  As ever the majority of these are small,
 focused updates for specific drivers though there are a couple of core
 changes.  There's been good exposure in -next.
 
 The AT91 patch fixes a build break.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQU2awAAoJEOoSHmUN5Tg4Wy8P/i7q103BAz0ScA0xu2zg8Sjp
 XVQDHrw24PsDOCQLGI2YXBYekACvGVyCPjic1NVj1vkTo+UCHl1AeVPexh6R+nSl
 1kwDmEHcja9uZ1Z4p5vDTTwWKzaSXqmz7yCZXeywv+Xcw/+JCpKSVdShwJXhL7jj
 z+TQV/wUOKV0cm7aP9B4VNFLnNgschpYiaJh+eIGIGL0edILuCRDuHnTwmgxHaVf
 a4BJXjU71lgz9pLVbw7zRNF1EymqhHcOFAhYAl0xqO5l6+J3pVu8ukOlv2qRt+Gb
 g3Sdo/tX7Iz0mbqOS9NDM5lhaIYaLC9oyQCMbVGWAY3PBWF3I2VFB72ZheL2RA7V
 n5nv/rTplnV+ApPQ8C3nD98WvY82mI5ZOJjVik6u7rDa4/xukZvzbiZdKnAOkQ8r
 LzyMW3KEeN7aKo/Li/rJbwYE3vwXJSfWO0ZS77zzzXFWNFMBOOMLhB8Fc+bKko3x
 xkUNyoKzFfnc4rqQvbTovY7U881ZscW5eBfwwioonBpdRHkuqX6AD4GZORVKtKiq
 4O01E04M2IMuK2qodDOYV+IlHsFM3rXGOu4SzX/yDsVIc+SObKEF0F1XX/8B7/X4
 G/Lc4jCe4rrWlOsswxhie3ZkMV+2p2HQy7YWdp525/8OZt7fFhkt4NQU0vpqyhwM
 giF4gvYVHtsbwd8RzxLe
 =o1sd
 -----END PGP SIGNATURE-----

Merge tag 'asoc-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

ASoC: Updates for 3.6

A bigger set of updates than I'm entirely comfortable with - things
backed up a bit due to travel.  As ever the majority of these are small,
focused updates for specific drivers though there are a couple of core
changes.  There's been good exposure in -next.

The AT91 patch fixes a build break.
2012-09-15 08:24:42 +02:00
Bo Shen
985b11fa80 ASoC: wm8904: correct the index
Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-14 18:02:38 +01:00
Lars-Peter Clausen
7f22fd9c03 ASoC: ad1836: Convert to direct regmap usage.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-13 18:08:21 +08:00
Lars-Peter Clausen
040242ccfc ASoC: ad193x: Use managed regmap init
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-13 18:08:21 +08:00
Mark Brown
6b315958d3 ASoC: arizona: Clarify logging for FLL lock status interrupt
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-12 22:01:37 +08:00
Mark Brown
3ef8ac0d7b ASoC: wm8737: Convert to direct regmap API usage
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-12 14:09:38 +08:00
Mark Brown
4f69bb31b8 ASoC: wm8737: Move regulator acquisition to device registration
This is better style as we acquire resources we will need before we go into
the ASoC card probe.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-12 14:09:37 +08:00
Mark Brown
d16383ef2a ASoC: wm8728: Convert to direct regmap API usage
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-12 14:09:37 +08:00
Mark Brown
5aa5fa9fdb ASoC: wm8711: Convert to direct regmap API usage
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-12 14:09:19 +08:00
Mark Brown
18273b05de ASoC: wm8580: Move regulator acquisition to I2C probe
Better style as we get all the resources we need prior to starting the
ASoC level probe.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-12 14:09:18 +08:00
Mark Brown
b689d9f996 ASoC: wm8580: Convert to direct regmap API usage
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-12 14:09:16 +08:00
Mark Brown
e643049d30 ASoC: wm8510: Convert to direct regmap API usage
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-12 14:09:05 +08:00
Mark Brown
046d4f02e8 ASoC: wm8991: Convert to devm_kzalloc()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-12 09:36:50 +08:00
Mark Brown
587cbbb36e ASoC: wm8990: Convert to devm_kzalloc()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-12 09:36:49 +08:00
Mark Brown
65fdd9bffa ASoC: wm8737: Convert to devm_kzalloc()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-12 09:36:48 +08:00
Mark Brown
1a9585b0f7 ASoC: wm8728: Convert to devm_kzalloc()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-12 09:36:47 +08:00
Mark Brown
e908ef40e4 ASoC: wm8711: Convert to devm_kzalloc()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-12 09:36:45 +08:00
Mark Brown
398c02f6c2 ASoC: wm8580: Convert to devm_kzalloc()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-12 09:36:44 +08:00
Mark Brown
3217b0f5b6 ASoC: wm8510: Convert to devm_kzalloc()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-12 09:36:43 +08:00
Mark Brown
7e94ca4752 ASoC: wm8900: Fix typo of name to wm9700
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-11 11:26:05 +08:00
Mark Brown
499926246e ASoC: wm8900: Convert to direct regmap API usage
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-11 11:26:05 +08:00
Mark Brown
6a58870df8 ASoC: wm8900: Convert to devm_kzalloc()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-11 11:26:04 +08:00
Fabio Estevam
dbad34eac2 Revert "ASoC: AC97 doesn't use regmap by default"
Since commit 98d3088e5 (SoC: core: Fix check before defaulting to regmap)
, it is not necessary to provide codec->control_data anymore.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-11 11:26:03 +08:00
Fabio Estevam
4ac7903f1d ASoC: Revert "ASoC: ab8500: Inform SoC Core that we have our own I/O arrangements"
Since commit 98d3088e5 (SoC: core: Fix check before defaulting to regmap)
, it is not necessary to provide codec->control_data anymore.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-11 11:26:02 +08:00
Fabio Estevam
57d9a477f9 ASoC: Revert "ASoC: mc13783: Provide codec->control_data"
Since commit 98d3088e5 (SoC: core: Fix check before defaulting to regmap)
, it is not necessary to provide codec->control_data anymore.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-11 11:26:02 +08:00
Mark Brown
1ca6517566 ASoC: cs4270: Convert to direct regmap API usage
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Timur Tabi <timur@freescale.com>
2012-09-11 08:16:15 +08:00
Mark Brown
b61d6d4032 ASoC: cs4270: Move regulator acquisition to I2C probe()
This is better style since it has us obtaining all resources before we
try the ASoC probe. This change also fixes a potential issue where we
don't enable the regulators before trying to confirm the device ID which
could cause a failure during probe in some system configurations.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Timur Tabi <timur@freescale.com>
2012-09-11 08:16:11 +08:00
Mark Brown
19ace0e97a ASoC: cs4270: Conver to data based control init
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Timur Tabi <timur@freescale.com>
2012-09-11 08:16:03 +08:00
Mark Brown
0ebe36c6c4 ASoC: wm8960: Convert to direct regmap API usage
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-10 19:31:08 +08:00
Bo Shen
a044b75779 ASoC: wm8904: remove redundant code
The core_intercon is added two times, remove the redundant one

Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-10 18:07:20 +08:00
Mark Brown
fe98c0cf40 ASoC: wm8741: Convert to direct regmap API usage
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-10 18:04:42 +08:00
Mark Brown
d9780550a3 ASoC: wm8741: Move regulator acquisition to I2C/SPI probe()
Better style as we acquire resources before trying the ASoC card probe.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-10 18:04:40 +08:00
Mark Brown
29fdf4fbbe ASoC: sta32x: Convert to regmap
Long term all drivers should be using regmap directly. This is more
idiomatic and moves us towards the removal of the ASoC level cache
code.

The initialiasation of reserved register bits in probe() is slightly odd
as the defaults being written don't appear to match the silicon defaults
but the new code should have the same effect as the old code.

The watchdog code will now unconditionally do a mute and unmute when
resyncing but since we only sync when we are very sure there is something
to sync this should have no impact.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Johannes Stezenbach <js@sig21.net>
2012-09-10 17:26:10 +08:00
Mark Brown
aff041af94 ASoC: sta32x: Move regulator acquisition to I2C probe
This is better style as it ensures we don't try to do the ASoC probe
without required resources. Also convert to devm_ while we're at it,
saving a bit of code, and fix a leak of enable on error.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Johannes Stezenbach <js@sig21.net>
2012-09-10 17:26:00 +08:00
Mark Brown
59ac2149ae ASoC: wm8523: Move device ID verification and reset to I2C probe
Ensure that we have confirmed that we've got the device in place before
we register with ASoC.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-10 17:25:47 +08:00
Mark Brown
b9288f49dc ASoC: wm8523: Convert to direct regmap API usage
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-10 17:25:46 +08:00
Mark Brown
719b0c593c ASoC: wm8523: Move regulator acquisition to I2C probe()
This is better style since we acquire all needed resources before we try
to do the ASoC card probe.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-10 17:25:44 +08:00
Mark Brown
7d014db8ba ASoC: wm8523: Convert to devm_kzalloc()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-10 17:25:41 +08:00
Mark Brown
2ee01ac63b ASoC: wm8983: Convert to direct regmap API usage
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-10 16:00:09 +08:00
Mark Brown
d6e2dc150b ASoC: wm8983: Convert to devm_kzalloc()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-10 16:00:02 +08:00
Mark Brown
822b4b8d63 ASoC: dapm: Add flags to regulator supplies
This will be used to enable additional control of the regulators.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
2012-09-08 08:47:28 +08:00
Gaëtan Carlier
6d97c09c64 ASoC: imx-mc13783: use defines instead of numerical address of register
This uses already defined name of registers and makes code more readable.

Signed-off-by: Gaëtan Carlier <gcembed@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-06 18:47:19 +08:00
Fabio Estevam
37f45cc54c ASoC: mc13783: Remove mono support
Playing a mono track on a mc13783 codec results in incorrect playback rate.

Remove mono support so that a mono track can be played correctly.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Tested-by: Gaëtan Carlier <gcembed@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-06 08:17:12 +08:00
Heather Lomond
4758be37c0 ASoC: arizona: Fix typo in 44.1kHz rates
Signed-off-by: Heather Lomond <hlomond@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-06 06:58:44 +08:00
Emil Goode
5d86e25c70 ASoC: wm0010: Fix warning, use format %zu for type size_t
Fix warning by using format specifier %zu for type size_t

Sparse warning:
sound/soc/codecs/wm0010.c:411:2: warning:
        format ‘%d’ expects argument of type ‘int’,
        but argument 4 has type ‘size_t’ [-Wformat]

Signed-off-by: Emil Goode <emilgoode@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-06 06:22:56 +08:00
Dan Carpenter
4f3ad7956d ASoC: wm0010: unlock on error path
We're holding the wm0010->lock mutex when we goto err_core.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-06 06:20:14 +08:00
Fengguang Wu
58d4683286 ASoC: wm0010: Add missing IRQF_ONESHOT
FYI, there are new coccinelle warnings show up in

tree:   git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-3.7
head:   e3523e0186
commit: e3523e0186 [95/95] ASoC: wm0010: Add initial wm0010 DSP driver

All coccinelle warnings:

+ sound/soc/codecs/wm0010.c:850:7-27: ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT
--
+ sound/soc/codecs/wm0010.c:660:1-7: preceding lock on line 359

vim +850 sound/soc/codecs/wm0010.c
   847			trigger = IRQF_TRIGGER_FALLING;
   848		trigger |= IRQF_ONESHOT;
   849
 > 850		ret = request_threaded_irq(irq, NULL, wm0010_irq, trigger,
   851					   "wm0010", wm0010);
   852		if (ret)
   853			dev_err(wm0010->dev, "Failed to request IRQ %d: %d\n",

Please consider folding the attached diff :-)

Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-06 06:20:02 +08:00
Mark Brown
75d8f2931a Merge branch 'asoc-omap' into for-3.7 2012-09-05 20:05:11 +08:00
Hebbar, Gururaja
c24fdc886f ASoC: tlv320aic3x: Add device tree bindings
Device tree support for tlv320aic3x CODEC driver.

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-08-27 10:25:58 -07:00
Sachin Kamat
2a9a9c876f ASoC: ad1836: Use module_spi_driver
module_spi_driver makes the code simpler by eliminating
module_init and module_exit calls.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-08-27 09:55:28 -07:00
Sachin Kamat
a5c8878017 ASoC: wm8770: Use module_spi_driver
module_spi_driver makes the code simpler by eliminating
module_init and module_exit calls.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-08-27 09:55:28 -07:00
Sachin Kamat
9bb280a2eb ASoC: tlv320aic26: Use module_spi_driver
module_spi_driver makes the code simpler by eliminating
module_init and module_exit calls.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-08-27 09:55:27 -07:00
Mark Brown
32c50a31aa ASoC: wm0010: Move resource acquisition to device probe
This is more idimatic for modern drivers. Also fix a couple of return
codes while we're at it.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-08-25 13:23:51 -07:00
Mark Brown
bf9d323722 ASoC: wm0010: Tweak diagnostic output
Make it scan better by writing ROM with capitals.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-08-25 13:23:45 -07:00
Mark Brown
4f3c3c1b32 ASoC: wm0010: Don't double free reset GPIO
We are using devm_ to allocate the GPIO so it will be freed automatically.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-08-25 13:23:42 -07:00
Mark Brown
d3fd716e82 ASoC: wm0010: Set idle_bias_off
Doesn't make any practical difference given that _SUSPEND and _OFF are
equivalent for the driver but it's what we're really doing.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-08-25 13:23:40 -07:00
Mark Brown
1470bfacb6 ASoC: wm0010: Add dummy widget for CLKIN
Make it easier to integrate the management of the clock supplying the
WM0010 with DAPM by providing a dummy supply widget which supplies the
interface widgets, this can be connected to clock outputs by the machines.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-08-25 13:23:37 -07:00
Mark Brown
6df3198635 ASoC: wm0010: Enable 44.1kHz support
With appropriate clocking configuration the WM0010 driver supports 44.1kHz
audio; enable that.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-08-25 13:23:34 -07:00
Mark Brown
1549c34bfd ASoC: wm0010: Fix passthrough routing
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-08-25 13:51:33 +01:00