remarkable-linux/include/sound
Stephen Warren bc92657a11 ASoC: make snd_soc_dai_link more symmetrical
Prior to this patch, the CPU side of a DAI link was specified using a
single name. Often, this was the result of calling dev_name() on the
device providing the DAI, but in the case of a CPU DAI driver that
provided multiple DAIs, it needed to mix together both the device name
and some device-relative name, in order to form a single globally unique
name.

However, the CODEC side of the DAI link was specified using separate
fields for device (name or OF node) and device-relative DAI name.

This patch allows the CPU side of a DAI link to be specified in the same
way as the CODEC side, separating concepts of device and device-relative
DAI name.

I believe this will be important in multi-codec and/or dynamic PCM
scenarios, where a single CPU driver provides multiple DAIs, while also
booting using device tree, with accompanying desire not to hard-code the
CPU side device's name into the original .cpu_dai_name field.

Ideally, both the CPU DAI and CODEC DAI loops in soc_bind_dai_link()
would now be identical. However, two things prevent that at present:

1) The need to save rtd->codec for the CODEC side, which means we have
to search for the CODEC explicitly, and not just the CODEC side DAI.

2) Since we know the CODEC side DAI is part of a codec, and not just
a standalone DAI, it's slightly more efficient to convert .codec_name/
.codec_of_node into a codec first, and then compare each DAI's .codec
field, since this avoids strcmp() on each DAI's CODEC's name within
the loop.

However, the two loops are essentially semantically equivalent.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-03 13:06:41 +01:00
..
ac97_codec.h Fix common misspellings 2011-03-31 11:26:23 -03:00
aci.h
ad1816a.h
ad1843.h
adau1373.h ASoC: Add ADAU1373 codec support 2011-08-17 00:53:54 +09:00
ak4xxx-adda.h
ak4113.h
ak4114.h
ak4117.h
ak4531_codec.h
ak4641.h ASoC: Asahi Kasei AK4641 codec driver 2011-05-19 14:10:45 -07:00
alc5623.h ASoC: add support for alc562[123] codecs 2010-10-21 13:51:13 -07:00
asequencer.h
asound.h ALSA: Add definitions for CEA-861 Audio InfoFrames 2012-04-18 08:00:36 +02:00
asound_fm.h
asoundef.h ALSA: Add definitions for CEA-861 Audio InfoFrames 2012-04-18 08:00:36 +02:00
atmel-abdac.h
atmel-ac97c.h
compress_driver.h ALSA: core: add API header and driver header files 2011-12-23 10:08:11 +01:00
compress_offload.h ALSA: core: add API header and driver header files 2011-12-23 10:08:11 +01:00
compress_params.h headers: include linux/types.h where appropriate 2012-03-23 16:58:31 -07:00
control.h Merge branch 'topic/asoc' into for-linus 2012-03-18 18:22:37 +01:00
core.h ALSA: hda - hide HDMI/ELD printks unless snd.debug=2 2012-04-10 14:53:55 +02:00
cs42l52.h ASoC: Add support for CS42L52 Codec 2012-04-30 23:36:20 +01:00
cs46xx.h
cs46xx_dsp_scb_types.h
cs46xx_dsp_spos.h Fix common misspellings 2011-03-31 11:26:23 -03:00
cs46xx_dsp_task_types.h
cs4231-regs.h
cs4271.h ASoC: CS4271: Move Chip Select control out of the CODEC code. 2011-02-08 11:26:14 +00:00
cs8403.h
cs8427.h
dmaengine_pcm.h ASoC: Add dmaengine PCM helper functions 2012-03-02 13:47:25 +00:00
emu10k1.h ALSA: emu10k1: Fix warning: "CCR" redefined 2010-10-18 07:45:44 +02:00
emu10k1_synth.h
emu8000.h
emu8000_reg.h
emux_legacy.h
emux_synth.h
es1688.h ALSA: Merge es1688 and es968 drivers 2010-05-10 09:49:30 +02:00
gus.h
hda_hwdep.h
hdsp.h ALSA: hdsp - Add support for RPM io box 2010-12-01 12:14:47 +01:00
hdspm.h Fix common misspellings 2011-03-31 11:26:23 -03:00
hwdep.h
i2c.h
info.h switch procfs to umode_t use 2012-01-03 22:54:56 -05:00
initval.h sound: irq: Remove IRQF_DISABLED 2011-09-22 11:19:20 +02:00
jack.h ALSA: Use a define for the number of jack switch types 2012-02-27 17:34:44 +01:00
Kbuild ALSA: export compress headers 2011-12-31 17:53:52 +01:00
l3.h
max9768.h ASoC: max9768: add driver for max9768 amplifier 2012-01-30 21:50:55 +00:00
max98088.h ASoC: Restore MAX98088 CODEC driver 2010-10-18 16:46:27 -07:00
max98095.h ASoC: max98095: Single bit bitfields should be unsigned 2012-05-13 23:33:53 +01:00
memalloc.h
minors.h ALSA: core: add support for compressed devices 2011-12-23 10:07:46 +01:00
mixer_oss.h ALSA: core: sparse cleanups 2011-02-14 17:10:11 +01:00
mpu401.h ALSA: mpu401: clean up interrupt specification 2011-09-14 11:00:51 +02:00
opl3.h
opl4.h
pcm-indirect.h
pcm.h ALSA: pcm: Add debug-print helper function 2012-06-03 13:06:38 +01:00
pcm_oss.h
pcm_params.h ALSA: Make pcm.h self-contained 2011-07-26 17:21:24 +02:00
pt2258.h
pxa2xx-lib.h
rawmidi.h ALSA: rawmidi - Use workq for event handling 2011-06-14 14:37:06 +02:00
s3c24xx_uda134x.h
saif.h ASoC: mxs-saif: remove function in platform_data 2011-12-02 13:56:42 +08:00
sb.h
sb16_csp.h ALSA: sb16 - Fix build errors on MIPS and others with 13bit ioctl size 2011-06-30 15:33:57 +02:00
seq_device.h
seq_kernel.h treewide: use __printf not __attribute__((format(printf,...))) 2011-10-31 17:30:54 -07:00
seq_midi_emul.h
seq_midi_event.h
seq_oss.h
seq_oss_legacy.h
seq_virmidi.h
sfnt_info.h
sh_dac_audio.h
sh_fsi.h ASoC: sh: fsi: enable chip specific data transfer mode 2012-05-19 19:41:45 +01:00
simple_card.h ASoC: add generic simple-card support 2012-04-13 11:29:25 +01:00
snd_wavefront.h
soc-dai.h ASoC: core: Allow DAIs to specify a base address 2012-05-02 15:42:27 +01:00
soc-dapm.h ASoC: core: Add widget SND_SOC_DAPM_CLOCK_SUPPLY 2012-06-03 13:06:38 +01:00
soc-dpcm.h ASoC: dpcm: Add bespoke trigger() 2012-04-26 17:48:42 +01:00
soc.h ASoC: make snd_soc_dai_link more symmetrical 2012-06-03 13:06:41 +01:00
soundfont.h treewide: fix potentially dangerous trailing ';' in #defined values/expressions 2011-07-21 14:10:00 +02:00
sta32x.h ASoC: sta32x: add workaround for ESD reset issue 2011-11-14 21:36:43 +00:00
tea575x-tuner.h [media] tea575x-tuner: update to latest V4L2 framework requirements 2012-03-19 11:27:21 -03:00
tea6330t.h
timer.h
tlv.h ALSA: tlv - Define numbers in sound/tlv.h 2010-10-17 10:46:14 +02:00
tlv320aic3x.h ASoC: omap: Update e-mail address of Jarkko Nikula 2011-08-12 11:45:10 +09:00
tlv320aic32x4.h ASoC: Add TI tlv320aic32x4 codec support. 2011-03-04 18:21:08 +00:00
tlv320dac33-plat.h ASoC: tlv320dac33: Update e-mail address 2011-05-11 16:12:35 +01:00
tpa6130a2-plat.h ASoC: tpa6130a2: Remove model_id from platform data 2011-09-21 16:07:45 +01:00
trident.h
uda134x.h ASoC: uda134x: replace a macro with a value in platform struct. 2010-06-25 12:29:01 +01:00
uda1380.h
util_mem.h
version.h ALSA: Release v1.0.25 2012-01-25 10:19:35 +01:00
vx_core.h
wavefront.h
wm1250-ev1.h ASoC: Add platform data for WM1250 EV1 GPIOs 2011-09-23 17:05:38 +01:00
wm2000.h
wm2200.h ASoC: wm2200: Add WM2200 CODEC driver 2012-01-26 16:07:55 +00:00
wm5100.h ASoC: Add WM5100 driver 2011-09-20 16:02:16 +01:00
wm8903.h ASoC: WM8903: Fix platform data gpio_cfg confusion 2011-12-06 10:29:22 +00:00
wm8904.h
wm8955.h
wm8960.h
wm8962.h ASoC: wm8962: Optimise power consumption for IN4 DC measurement usage 2012-01-24 21:19:45 +00:00
wm8993.h
wm8996.h ASoC: Rename WM8915 to WM8996 2011-08-08 14:30:37 +09:00
wm9081.h ASoC: Add platform data for WM9081 IRQ pin configuration 2011-03-01 23:30:53 +00:00
wm9090.h
wss.h
ymfpci.h ALSA: ymfpci - Fix legacy registers on S3/S4 resume 2012-03-13 08:12:33 +01:00