Commit Graph

22978 Commits

Author SHA1 Message Date
Lars-Peter Clausen
c02e723f3e ASoC: tosa: Automatically disconnect non-connected pins
Most DAPM input and output pins of the wm9712 are either used in the card's
DAPM routing table or are marked as not connected. The only two exception
are "PHONE" and "PCBEEP" input, lets assume that those were simply
overlooked and that the routing table is complete.

Set the fully_routed flag of the card instead of manually marking the
unused inputs and outputs as not connected. This makes the code a bit
shorter and cleaner.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-08 12:05:07 +01:00
Lars-Peter Clausen
9b44bacd58 ASoC: poodle: Automatically disconnect non-connected pins
The Zaurus SL-5600 seems to have a microphone input. Otherwise all DAPM
input and output pins of the wm8731 are either used in the card's DAPM
routing table or are marked as not connected.

So add the microphone to the DAPM tables and set the fully_routed flag of
the card instead of manually marking the unused inputs and outputs as not
connected. This makes the code a bit shorter and cleaner.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-08 12:05:07 +01:00
Lars-Peter Clausen
6b9aa50cd2 ASoC: brownstone: Automatically disconnect non-connected pins
Most DAPM input and output pins of the wm8994 are either used in the card's
DAPM routing table or are marked as not connected.

The only exception is DMIC2DAT input. Given that DMIC1DAT is explicitly
mentioned in the DAPM routes lets assume that DMIC2DAT simply has been
overlooked and should be marked as not connected.

Set the fully_routed flag of the card instead of manually marking the
unused inputs and outputs as not connected. This makes the code a bit
shorter and cleaner.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-08 12:05:07 +01:00
Charles Keepax
964a0b896a ASoC: dapm: Add missing mutex unlock
The is a missing mutex unlock on the error path in
snd_soc_dapm_get_enum_double. This was introduced in commit
561ed680b7 ("ASoC: dapm: Add support for autodisable mux controls").
This patch adds the missing unlock.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-08 11:24:22 +01:00
Axel Lin
5023281b18 ASoC: rt5645: Fix mask for setting RT5645_DMIC_2_DP_GPIO12 bit
Current code uses wrong mask when setting RT5645_DMIC_2_DP_GPIO12 bit,
fix it.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-07 12:11:51 +01:00
Fang, Yang A
a3bd925198 ASoC: rt5645: Add ACPI match ID
This patch adds the ACPI match ID for rt5645/5650 codec

Signed-off-by: Fang, Yang A <yang.a.fang@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-07 12:11:51 +01:00
Vinod Koul
83f125e2a1 ASoC: Intel: add support for configuring TDM slots for SSP
With this machines can now configure TDM settings for SSP port using
set_tdm_slot API

Signed-off-by: Praveen Diwakar <praveen.diwakar@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-06 19:50:22 +01:00
Vinod Koul
0b44e34549 ASoC: intel: add support for specifying PCM format
With this machines can configure the PCM format applied on SSP port using
the set_fmt API

Signed-off-by: Praveen Diwakar <praveen.diwakar@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-06 19:50:22 +01:00
Vinod Koul
711bc9476b ASoC: Intel: load hw_defaults in hw_params of ssp be
We have the SSP defaults now and we need to load then in hw_params callback
of BE SSP DAI ops.

Signed-off-by: Praveen Diwakar <praveen.diwakar@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-06 19:50:22 +01:00
Vinod Koul
5749d70edc ASoC: Intel: use local values for ssp configuration
So right now SSP configuration is statically coded in the driver. While we
would like to keep this configuration intact for the users who are using
these defaults, we need to provide a way for users to program it.
So create a local value in driver structure which is populate with default
value for now

Signed-off-by: Praveen Diwakar <praveen.diwakar@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-06 19:50:22 +01:00
Vinod Koul
1f2d86f1c0 ASoC: Intel: add frame and data polarity to ssp config
The current ssp configuration was not configuring the frame sync polarity
and data polarity. Some codecs do need these different so add them in ssp
configuration now

Signed-off-by: Praveen Diwakar <praveen.diwakar@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-06 19:50:22 +01:00
Lars-Peter Clausen
a9843112b4 ASoC: omap-twl4030: Use card DAPM context to access widgets
Use the card DAPM context instead of the CODEC DAPM context since only card
level widgets are accessed here.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-06 18:53:58 +01:00
Bard Liao
ac4fc3eeb7 ASoC: rt5645: remove unused field in pdata
We can know if dmic is used by reading the value of dmic1_data_pin
and dmic2_data_pin. Also IRQ must be used if codec JD or button
detection function is used. So, dmic_en and en_jd_func can be remove
from platform data.

Signed-off-by: Bard Liao <bardliao@realtek.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-06 18:49:20 +01:00
Bard Liao
786aa09b27 ASoC: rt5645: fix add missing widget
"IF1 DAC0" and "IF1 DAC3" are used in rt5645_dapm_routes but missing
in rt5645_dapm_widgets.

Signed-off-by: Oder Chiou <oder_chiou@realtek.com>
Signed-off-by: Bard Liao <bardliao@realtek.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-06 18:46:47 +01:00
Lars-Peter Clausen
08a1e646bd ASoC: lm4857: Convert to component
The driver does not use any CODEC specific constructs anymore. Convert it
to snd_soc_component.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-06 17:33:12 +01:00
Lars-Peter Clausen
0eb93ef04b ASoC: lm4857: Use DAPM demux
Use a DAPM auto-disable demux to model the Mode control which affects the
routing of the input pin to the output pins. This allows us to remove the
custom code for handling the Mode control.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-06 17:33:12 +01:00
Lars-Peter Clausen
d714f97c5b ASoC: dapm: Add demux support
A demux is conceptually similar to a mux. Where a mux has multiple input
and one output and selects one of the inputs to be connected to the output,
the demux has one input and multiple outputs and selects one of the outputs
to which the input gets connected.

This similarity makes it straight forward to support them in DAPM using the
existing mux support, we only need to swap sinks and sources when initially
setting up the paths.

The only slightly tricky part is that there can only be one control per
path. Since mixers/muxes are at the sink of a path and a demux is at the
source and both types want a control it is not possible to directly connect
a demux output to a mixer/mux input. The patch adds some sanity checks to
make sure that this does not happen.

Drivers who want to model hardware which directly connects a demux output
to a mixer/mux input can do this by inserting a dummy widget between the
two. E.g.:

	{ "Dummy", "Demux Control", "Demux" },
	{ "Mixer", "Mixer Control", "Dummy" },

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-06 17:31:02 +01:00
Lars-Peter Clausen
92fa124267 ASoC: dapm: Add new widgets to the end of the widget list
Currently new widgets are appended to the beginning of the cards widget
list. This has the effect that widgets that are created while iterating
over the widget list in snd_soc_dapm_new_widgets() (like e.g. the
auto-disable widgets) are not covered during that invocation of the
function. If no further invocations of snd_soc_dapm_new_widgets() happen
these widgets will not be fully initialized and e.g. no debugfs entries are
created for them.

By adding new widgets to the end of the widget list we make sure that
widgets that are created in snd_soc_dapm_new_widgets() will still be
handled during the same snd_soc_dapm_new_widgets() invocation and are
always fully initialized.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-06 17:31:02 +01:00
Lars-Peter Clausen
c38a1ffbf5 ASoC: dapm: Add new widgets to the end of the widget list
Currently new widgets are appended to the beginning of the cards widget
list. This has the effect that widgets that are created while iterating
over the widget list in snd_soc_dapm_new_widgets() (like e.g. the
auto-disable widgets) are not covered during that invocation of the
function. If no further invocations of snd_soc_dapm_new_widgets() happen
these widgets will not be fully initialized and e.g. no debugfs entries are
created for them.

By adding new widgets to the end of the widget list we make sure that
widgets that are created in snd_soc_dapm_new_widgets() will still be
handled during the same snd_soc_dapm_new_widgets() invocation and are
always fully initialized.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-06 17:24:02 +01:00
Charles Keepax
21a37e39e0 ASoC: arizona: Use auto disable muxes for routing
The mixer core on the Arizona devices is powered up whenever any routing
is non-zero. This patch saves a little power and avoids a few difficult
corner cases (around the mixer core being powered whilst there is no
clock available), by using the autodisable mux functionality to only
write out the settings for the muxes when they are powered up.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-06 17:16:25 +01:00
Charles Keepax
561ed680b7 ASoC: dapm: Add support for autodisable mux controls
Commit 57295073b6 ("ASoC: dapm: Implement mixer input auto-disable")
added support for autodisable controls, controls whose values are only
written to the hardware when their respective widgets are powered up.
But it only added support for controls based on the mixer abstraction.

This patch add support for mux controls (DAPM controls based on the
enum abstraction) to be auto-disabled as well. As each mux can only have
a single control, there is no need to tie the autodisable widget to the
inputs (as is done for the mixer controls) it can be tided directly to
the mux widget itself.

Note that it is assumed that the first entry in a autodisable mux
control will always represent the off state for the mux and is what the
mux will be set to whilst it is disabled.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Reviewed-by: Lars-Peter Clausen <lars@metafoo.de>
Tested-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-06 17:13:01 +01:00
Charles Keepax
773da9b358 ASoC: dapm: Append "Autodisable" to autodisable widget names
This makes it a little easier to follow what is happening in debugfs.
Additionally is also useful in facilitating work to add autodisable
muxes because the control name is already used for the mux widget and
thus shouldn't be reused for the autodisable widget.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Reviewed-by: Lars-Peter Clausen <lars@metafoo.de>
Tested-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-06 17:12:57 +01:00
Russell King
d76a4476a0 ASoC: migor: use clkdev_create()
clkdev_create() is a shorter way to write clkdev_alloc() followed by
clkdev_add().  Use this instead.

Acked-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2015-05-06 11:58:59 +01:00
Fang, Yang A
673c4f896a ASoC: Intel: Enabled button jack for BSW platform with rt5650 codec
rt5650 codec supports 4 buttons detections so enabled it

Signed-off-by: Fang, Yang A <yang.a.fang@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-06 11:58:29 +01:00
Mark Brown
292d2497cd Merge branch 'topic/rt5645' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-intel 2015-05-06 11:58:24 +01:00
Kevin Cernekee
97fceb4db5 ASoC: tas571x: Eliminate redundant dev->of_node NULL check
of_match_device() checks if dev->of_node is NULL, so we don't need to do
it again in the probe function.

Signed-off-by: Kevin Cernekee <cernekee@chromium.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-06 11:37:33 +01:00
Thierry Reding
3b90f40727 ALSA: hda/tegra - Fix oops
Commit a41d122449 ("ALSA: hda - Embed bus into controller object")
introduced a regression in the Tegra HDA driver that causes the
following oops during boot:

	[    2.333458] Unable to handle kernel NULL pointer dereference at virtual address 000004c4
	[    2.341537] pgd = c0004000
	[    2.344312] [000004c4] *pgd=00000000
	[    2.347898] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
	[    2.353200] Modules linked in:
	[    2.356264] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W       4.1.0-rc2-next-20150505-00344-g8577890defbf #79
	[    2.366682] Hardware name: NVIDIA Tegra SoC (Flattened Device Tree)
	[    2.372939] task: ee0d8b40 ti: ee0da000 task.ti: ee0da000
	[    2.378336] PC is at azx_bus_init+0x18/0xf4
	[    2.382516] LR is at hda_tegra_probe+0x6c/0x478
	[    2.387043] pc : [<c06156c4>]    lr : [<c061cf00>]    psr: 60000113
	[    2.387043] sp : ee0dbe38  ip : 00000000  fp : 00000000
	[    2.398501] r10: ed874c00  r9 : 000000fd  r8 : 00000000
	[    2.403717] r7 : ed874c10  r6 : 00000000  r5 : 00000000  r4 : ed016810
	[    2.410232] r3 : c08a2ad4  r2 : c08a1ea0  r1 : 00000000  r0 : ed016810
	[    2.416750] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
	[    2.424046] Control: 10c5387d  Table: 8000406a  DAC: 00000015
	[    2.429783] Process swapper/0 (pid: 1, stack limit = 0xee0da210)
	[    2.435778] Stack: (0xee0dbe38 to 0xee0dc000)
	[    2.440129] be20:                                                       00000000 ed016810
	[    2.448297] be40: 00000000 c061cf00 00000000 ee0dbe5c ed8735d0 c0a7bc48 ed02fd50 ed016000
	[    2.456462] be60: c1250164 ed874c10 c0c66bf8 fffffdfb 00000000 000000fd c0b8dc98 c046664c
	[    2.464628] be80: c0466608 c1250164 ed874c10 00000000 c0c66bf8 c0464eb4 ed874c10 c0c66bf8
	[    2.472793] bea0: ed874c44 c0c43458 00000000 c04650d0 00000000 c0c66bf8 c046503c c04633b4
	[    2.480959] bec0: ee11bea4 ed85f390 c0c66bf8 ed017ac0 00000000 c0464634 c0ab2b7c c0c66bf8
	[    2.489125] bee0: c0bfde20 c0c66bf8 c0bfde20 ed01ce40 c0b7b414 c04656e8 c04665b0 c0bfde20
	[    2.497291] bf00: c0bfde20 c0009770 ee0d8b40 c0c02488 60000113 00000000 00000000 00000003
	[    2.505458] bf20: 00000000 c0c02488 60000113 00000000 c0b54598 c0b16a90 ef7fcc57 c0041228
	[    2.513624] bf40: c0a9150c ef7fcc5f 00000006 00000006 00000000 c0bf1fa8 c0bf2354 00000006
	[    2.521790] bf60: c0b8dc90 c0c7c000 c0c7c000 c0b8dc98 00000000 c0b54dd8 00000006 00000006
	[    2.529956] bf80: c0b54598 00000000 00000000 c07ff08c 00000000 00000000 00000000 00000000
	[    2.538122] bfa0: 00000000 c07ff094 00000000 c000f5a0 00000000 00000000 00000000 00000000
	[    2.546286] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
	[    2.554451] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 fffff7ff c013f264
	[    2.562624] [<c06156c4>] (azx_bus_init) from [<c061cf00>] (hda_tegra_probe+0x6c/0x478)
	[    2.570535] [<c061cf00>] (hda_tegra_probe) from [<c046664c>] (platform_drv_probe+0x44/0xa4)
	[    2.578879] [<c046664c>] (platform_drv_probe) from [<c0464eb4>] (driver_probe_device+0x174/0x2b8)
	[    2.587739] [<c0464eb4>] (driver_probe_device) from [<c04650d0>] (__driver_attach+0x94/0x98)
	[    2.596172] [<c04650d0>] (__driver_attach) from [<c04633b4>] (bus_for_each_dev+0x6c/0xa0)
	[    2.604342] [<c04633b4>] (bus_for_each_dev) from [<c0464634>] (bus_add_driver+0x148/0x1f0)
	[    2.612597] [<c0464634>] (bus_add_driver) from [<c04656e8>] (driver_register+0x78/0xf8)
	[    2.620593] [<c04656e8>] (driver_register) from [<c0009770>] (do_one_initcall+0x8c/0x1d4)
	[    2.628765] [<c0009770>] (do_one_initcall) from [<c0b54dd8>] (kernel_init_freeable+0x144/0x1e4)
	[    2.637459] [<c0b54dd8>] (kernel_init_freeable) from [<c07ff094>] (kernel_init+0x8/0xe8)
	[    2.645543] [<c07ff094>] (kernel_init) from [<c000f5a0>] (ret_from_fork+0x14/0x34)

This is caused by azx_bus_init() trying to dereference chip->card, which
for the Tegra driver doesn't get initialized until sometime later during
the call to hda_tegra_create().

Fix this by mimicking the behaviour of the Intel driver and defer HDA
bus initialization until right before the call to snd_device_new().

Fixes: a41d122449 ('ALSA: hda - Embed bus into controller object')
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-05-05 14:56:44 +02:00
Kailang Yang
2c674fac5b ALSA: hda/realtek - Add ALC298 alias name for Dell
Add ALC3266 for Dell platform.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-05-05 14:51:44 +02:00
Lu, Han
0a67352153 ALSA: hda - reset display codec when power on
In SKL, HDMI/DP codec and PCH HD Audio Controller are in different power wells,
so it's necessary to reset display audio codecs when power well on, otherwise
display audio codecs will disappear when resume from low power state.
Reset steps when power on:
    enable codec wakeup -> azx_init_chip() -> disable codec wakeup

The callback for codec wakeup enable/disable is in drivers/gpu/drm/i915/.

Signed-off-by: Lu, Han <han.lu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-05-05 14:44:36 +02:00
Fang, Yang A
26f63c692f ASoC: Intel: Fixed kbuild warnings
fix following sparse warnings: (new ones prefixed by >>)

>> sound/soc/intel/boards/cht_bsw_max98090_ti.c:168:37: sparse:
>> incorrect type in argument 2 (different base types)
   sound/soc/intel/boards/cht_bsw_max98090_ti.c:168:37:    expected
unsigned int [unsigned] val
   sound/soc/intel/boards/cht_bsw_max98090_ti.c:168:37:    got
restricted snd_pcm_format_t [usertype] <noident>

Signed-off-by: Fang, Yang A <yang.a.fang@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-05 12:17:58 +01:00
Lars-Peter Clausen
9a122de678 ASoC: ssm4567: Replace direct snd_soc_codec dapm field access
The dapm field of the snd_soc_codec struct is eventually going to be
removed, in preparation for this replace all manual access to
codec->dapm.bias_level with snd_soc_codec_get_bias_level().

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-04 18:44:18 +01:00
Lars-Peter Clausen
fa68cfd4c1 ASoC: ssm2602: Replace direct snd_soc_codec dapm field access
The dapm field of the snd_soc_codec struct is eventually going to be
removed, in preparation for this replace all manual access to
codec->dapm with snd_soc_codec_get_dapm().

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-04 18:43:55 +01:00
Lars-Peter Clausen
aa3a0f2ec7 ASoC: ssm2518: Replace direct snd_soc_codec dapm field access
The dapm field of the snd_soc_codec struct is eventually going to be
removed, in preparation for this replace all manual access to
codec->dapm.bias_level with snd_soc_codec_get_bias_level().

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-04 18:43:21 +01:00
Lars-Peter Clausen
a34c31a989 ASoC: adav80x: Replace direct snd_soc_codec dapm field access
The dapm field of the snd_soc_codec struct is eventually going to be
removed, in preparation for this replace all manual access to
codec->dapm.bias_level with snd_soc_codec_get_bias_level().

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-04 18:32:53 +01:00
Lars-Peter Clausen
f21d1e22ee ASoC: adau1977: Replace direct snd_soc_codec dapm field access
The dapm field of the snd_soc_codec struct is eventually going to be
removed, in preparation for this replace all manual access to
codec->dapm.bias_level with  snd_soc_codec_get_bias_level() and all
remaining access to codec->dapm with snd_soc_codec_get_dapm().

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-04 18:31:17 +01:00
Lars-Peter Clausen
33c7b14093 ASoC: adau17x1: Replace direct snd_soc_codec dapm field access
The dapm field of the snd_soc_codec struct is eventually going to be
removed, in preparation for this replace all manual access to
codec->dapm with snd_soc_codec_get_dapm().

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-04 18:30:57 +01:00
Lars-Peter Clausen
9953a8f214 ASoC: ad1836: Replace direct snd_soc_codec dapm field access
The dapm field of the snd_soc_codec struct is eventually going to be
removed, in preparation for this replace all manual access to
codec->dapm with snd_soc_codec_get_dapm().

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-04 18:30:38 +01:00
Fang, Yang A
c4ba51ba1c ASoC: Intel: Support rt5650 codec for Cherrytrail & Braswell
rt5650 and rt5645 are similar codec so reuse the cht_bsw_rt5645 driver

Signed-off-by: Fang, Yang A <yang.a.fang@intel.com>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-04 18:13:59 +01:00
Vasily Khoruzhick
810e4425c2 ASoC: uda1380: Avoid accessing i2c bus when codec is disabled
set_dai_fmt_both() callback is called from snd_soc_runtime_set_dai_fmt()
which is called from snd_soc_register_card(), but at this time codec
is not powered on yet. Replace direct i2c write with regcache write.

Fixes: 5f0acedddf (ASoC: rx1950_uda1380: Use static DAI format setup)
Fixes: 5cc10b9b77 (ASoC: h1940_uda1380: Use static DAI format setup)
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
2015-05-04 15:25:23 +01:00
Jun Nie
e0ae225b7e ASoC: simple-card: support platform in dts parse
Support platform in dts parse so that dma pcm component
can be added in dts.

Signed-off-by: Jun Nie <jun.nie@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-04 14:59:04 +01:00
Lars-Peter Clausen
1a3e2f1d6f ASoC: speyside: Use snd_soc_codec_get_dapm()
The dapm field of the snd_soc_codec struct is eventually going to be
removed. Replace direct access to it with snd_soc_codec_get_dapm(), which
will return the DAPM context for the CODEC.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-04 13:51:20 +01:00
Lars-Peter Clausen
d01d7d3dba ASoC: smartq: Use card DAPM context to access widgets
The dapm field of the snd_soc_codec struct will eventually be removed
(replaced with the DAPM context from the component embedded inside the
CODEC). Replace its usage with the card's DAPM context. The idea is that
DAPM is hierarchical and with the card at the root it is possible to access
widgets from other contexts through the card context.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-04 13:51:19 +01:00
Lars-Peter Clausen
76387a52e2 ASoC: smartq: Remove unnecessary snd_soc_dapm_disable_pin()
The "Headphone Jack" widget is managed by the jack detection layer, there
is no need to manually disable.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-04 13:51:19 +01:00
Lars-Peter Clausen
e6963005b2 ASoC: smdk_wm8994: Use card DAPM context to access widgets
The dapm field of the snd_soc_codec struct will eventually be removed
(replaced with the DAPM context from the component embedded inside the
CODEC). Replace its usage with the card's DAPM context. The idea is that
DAPM is hierarchical and with the card at the root it is possible to access
widgets from other contexts through the card context.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-04 13:51:19 +01:00
Lars-Peter Clausen
239ad6a181 ASoC: lowland: Use card DAPM context to access widgets
The dapm field of the snd_soc_codec struct will eventually be removed
(replaced with the DAPM context from the component embedded inside the
CODEC). Replace its usage with the card's DAPM context. The idea is that
DAPM is hierarchical and with the card at the root it is possible to access
widgets from other contexts through the card context.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-04 13:51:19 +01:00
Lars-Peter Clausen
29ea3ac109 ASoC: samsung: wolfson: Improve compile test coverage
While the the Wolfson machine drivers have a runtime dependency on a
specific machine there is no compile time dependency. Allow to lets those
drivers to be selected when COMPILE_TEST is selected to improve the compile
time test coverage.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-04 13:51:19 +01:00
Charles Keepax
40b7bea10a ASoC: dapm: Remove local OOM error message
The memory subsystem is pretty chatty on failure no need to have local
OOM messages as well.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Reviewed-by: Lars-Peter Clausen <lars@metafoo.de>
Tested-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-04 13:51:16 +01:00
Srinivas Kandagatla
3c803da266 ASoC: qcom: remove unnecessary header files
This patch removes unnecessary header files in lpass cpu and platform
code.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-04 13:24:03 +01:00
Srinivas Kandagatla
ce883ccfef ASoC: qcom: Remove redundant error check.
This patch remove redundant check after request_resource as ioremap would
do the check anyway.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-04 13:24:03 +01:00
Kailang Yang
ec6bfca835 ALSA: hda/realtek - Fix typo for ALC286/ALC288
Delete more one break for ALC286/ALC288.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-05-04 14:23:20 +02:00