Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

Pull sound fixes from Takashi Iwai:
"Now we hit the usual ASoC-fix-flood in the middle of release.

Most of the changes are trivial and device-specific, while one
significant change is the fix for unbalanced of_graph_*() refcounts.
This involved a change in the graph API itself that had been a bit
messy"

* tag 'sound-4.13-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
ALSA: hda - Fix speaker output from VAIO VPCL14M1R
device property: Fix usecount for of_graph_get_port_parent()
ASoC: rt5665: fix wrong register for bclk ratio control
ASoC: Intel: Use MCLK instead of BLCK as the sysclock for RT5514 codec on kabylake platform
ASoC: Intel: Enabling ASRC for RT5663 codec on kabylake platform
ASoC: codecs: msm8916-analog: fix DIG_CLK_CTL_RXD3_CLK_EN define
ASoC: Intel: Skylake: Fix missing sentinels in sst_acpi_mach
ASoC: sh: hac: add missing "int ret"
ASoC: samsung: odroid: Fix EPLL frequency values
ASoC: sgtl5000: Use snd_soc_kcontrol_codec()
ASoC: rt5665: fix GPIO6 pin function define
ASoC: ux500: Restore platform DAI assignments
ASoC: fix pcm-creation regression
ASoC: do not close shared backend dailink
ASoC: pxa: SND_PXA2XX_SOC should depend on HAS_DMA
ASoC: Intel: Skylake: Fix default dma_buffer_size
ASoC: rt5663: Update the HW default values based on the shipping version
ASoC: imx-ssi: add check on platform_get_irq return value

+93 -103
+15 -2
drivers/of/property.c
··· 708 708 { 709 709 unsigned int depth; 710 710 711 + if (!node) 712 + return NULL; 713 + 714 + /* 715 + * Preserve usecount for passed in node as of_get_next_parent() 716 + * will do of_node_put() on it. 717 + */ 718 + of_node_get(node); 719 + 711 720 /* Walk 3 levels up only if there is 'ports' node. */ 712 721 for (depth = 3; depth && node; depth--) { 713 722 node = of_get_next_parent(node); ··· 737 728 struct device_node *of_graph_get_remote_port_parent( 738 729 const struct device_node *node) 739 730 { 740 - struct device_node *np; 731 + struct device_node *np, *pp; 741 732 742 733 /* Get remote endpoint node. */ 743 734 np = of_graph_get_remote_endpoint(node); 744 735 745 - return of_graph_get_port_parent(np); 736 + pp = of_graph_get_port_parent(np); 737 + 738 + of_node_put(np); 739 + 740 + return pp; 746 741 } 747 742 EXPORT_SYMBOL(of_graph_get_remote_port_parent); 748 743
-6
include/sound/soc.h
··· 795 795 int (*suspend)(struct snd_soc_component *); 796 796 int (*resume)(struct snd_soc_component *); 797 797 798 - /* pcm creation and destruction */ 799 - int (*pcm_new)(struct snd_soc_pcm_runtime *); 800 - void (*pcm_free)(struct snd_pcm *); 801 - 802 798 /* DT */ 803 799 int (*of_xlate_dai_name)(struct snd_soc_component *component, 804 800 struct of_phandle_args *args, ··· 870 874 void (*remove)(struct snd_soc_component *); 871 875 int (*suspend)(struct snd_soc_component *); 872 876 int (*resume)(struct snd_soc_component *); 873 - int (*pcm_new)(struct snd_soc_pcm_runtime *); 874 - void (*pcm_free)(struct snd_pcm *); 875 877 876 878 /* machine specific init */ 877 879 int (*init)(struct snd_soc_component *component);
+1
sound/pci/hda/patch_realtek.c
··· 2296 2296 SND_PCI_QUIRK(0x1043, 0x8691, "ASUS ROG Ranger VIII", ALC882_FIXUP_GPIO3), 2297 2297 SND_PCI_QUIRK(0x104d, 0x9047, "Sony Vaio TT", ALC889_FIXUP_VAIO_TT), 2298 2298 SND_PCI_QUIRK(0x104d, 0x905a, "Sony Vaio Z", ALC882_FIXUP_NO_PRIMARY_HP), 2299 + SND_PCI_QUIRK(0x104d, 0x9060, "Sony Vaio VPCL14M1R", ALC882_FIXUP_NO_PRIMARY_HP), 2299 2300 SND_PCI_QUIRK(0x104d, 0x9043, "Sony Vaio VGC-LN51JGB", ALC882_FIXUP_NO_PRIMARY_HP), 2300 2301 SND_PCI_QUIRK(0x104d, 0x9044, "Sony VAIO AiO", ALC882_FIXUP_NO_PRIMARY_HP), 2301 2302
+1 -1
sound/soc/codecs/msm8916-wcd-analog.c
··· 36 36 #define CDC_D_CDC_DIG_CLK_CTL (0xf04A) 37 37 #define DIG_CLK_CTL_RXD1_CLK_EN BIT(0) 38 38 #define DIG_CLK_CTL_RXD2_CLK_EN BIT(1) 39 - #define DIG_CLK_CTL_RXD3_CLK_EN BIT(3) 39 + #define DIG_CLK_CTL_RXD3_CLK_EN BIT(2) 40 40 #define DIG_CLK_CTL_TXD_CLK_EN BIT(4) 41 41 #define DIG_CLK_CTL_NCP_CLK_EN_MASK BIT(6) 42 42 #define DIG_CLK_CTL_NCP_CLK_EN BIT(6)
+9 -9
sound/soc/codecs/rt5663.c
··· 466 466 { 0x0006, 0x1000 }, 467 467 { 0x000a, 0x0000 }, 468 468 { 0x0010, 0x000f }, 469 - { 0x0015, 0x42c1 }, 469 + { 0x0015, 0x42f1 }, 470 470 { 0x0016, 0x0000 }, 471 471 { 0x0018, 0x000b }, 472 472 { 0x0019, 0xafaf }, ··· 509 509 { 0x008a, 0x0000 }, 510 510 { 0x008b, 0x0000 }, 511 511 { 0x008c, 0x0003 }, 512 - { 0x008e, 0x0004 }, 512 + { 0x008e, 0x0008 }, 513 513 { 0x008f, 0x1000 }, 514 514 { 0x0090, 0x0646 }, 515 515 { 0x0091, 0x0e3e }, ··· 520 520 { 0x0098, 0x0000 }, 521 521 { 0x009a, 0x0000 }, 522 522 { 0x009f, 0x0000 }, 523 - { 0x00ae, 0x2000 }, 523 + { 0x00ae, 0x6000 }, 524 524 { 0x00af, 0x0000 }, 525 525 { 0x00b6, 0x0000 }, 526 526 { 0x00b7, 0x0000 }, ··· 538 538 { 0x00d9, 0x08f9 }, 539 539 { 0x00db, 0x0008 }, 540 540 { 0x00dc, 0x00c0 }, 541 - { 0x00dd, 0x6724 }, 541 + { 0x00dd, 0x6729 }, 542 542 { 0x00de, 0x3131 }, 543 543 { 0x00df, 0x0008 }, 544 544 { 0x00e0, 0x4000 }, ··· 578 578 { 0x0116, 0x0000 }, 579 579 { 0x0117, 0x0f00 }, 580 580 { 0x0118, 0x0006 }, 581 - { 0x0125, 0x2224 }, 581 + { 0x0125, 0x2424 }, 582 582 { 0x0126, 0x5550 }, 583 583 { 0x0127, 0x0400 }, 584 584 { 0x0128, 0x7711 }, ··· 596 596 { 0x0145, 0x0002 }, 597 597 { 0x0146, 0x0000 }, 598 598 { 0x0160, 0x0e80 }, 599 - { 0x0161, 0x0020 }, 600 - { 0x0162, 0x0080 }, 599 + { 0x0161, 0x0080 }, 600 + { 0x0162, 0x0200 }, 601 601 { 0x0163, 0x0800 }, 602 602 { 0x0164, 0x0000 }, 603 603 { 0x0165, 0x0000 }, ··· 676 676 { 0x0251, 0x0000 }, 677 677 { 0x0252, 0x028a }, 678 678 { 0x02fa, 0x0000 }, 679 - { 0x02fb, 0x0000 }, 680 - { 0x02fc, 0x0000 }, 679 + { 0x02fb, 0x00a4 }, 680 + { 0x02fc, 0x0300 }, 681 681 { 0x0300, 0x0000 }, 682 682 { 0x03d0, 0x0000 }, 683 683 { 0x03d1, 0x0000 },
+2 -2
sound/soc/codecs/rt5665.c
··· 4368 4368 switch (dai->id) { 4369 4369 case RT5665_AIF2_1: 4370 4370 case RT5665_AIF2_2: 4371 - snd_soc_update_bits(codec, RT5665_ADDA_CLK_1, 4371 + snd_soc_update_bits(codec, RT5665_ADDA_CLK_2, 4372 4372 RT5665_I2S_BCLK_MS2_MASK, 4373 4373 RT5665_I2S_BCLK_MS2_64); 4374 4374 break; 4375 4375 case RT5665_AIF3: 4376 - snd_soc_update_bits(codec, RT5665_ADDA_CLK_1, 4376 + snd_soc_update_bits(codec, RT5665_ADDA_CLK_2, 4377 4377 RT5665_I2S_BCLK_MS3_MASK, 4378 4378 RT5665_I2S_BCLK_MS3_64); 4379 4379 break;
+2 -2
sound/soc/codecs/rt5665.h
··· 1692 1692 #define RT5665_GP6_PIN_MASK (0x3 << 5) 1693 1693 #define RT5665_GP6_PIN_SFT 5 1694 1694 #define RT5665_GP6_PIN_GPIO6 (0x0 << 5) 1695 - #define RT5665_GP6_PIN_BCLK3 (0x0 << 5) 1696 - #define RT5665_GP6_PIN_PDM_SCL (0x1 << 5) 1695 + #define RT5665_GP6_PIN_BCLK3 (0x1 << 5) 1696 + #define RT5665_GP6_PIN_PDM_SCL (0x2 << 5) 1697 1697 #define RT5665_GP7_PIN_MASK (0x3 << 3) 1698 1698 #define RT5665_GP7_PIN_SFT 3 1699 1699 #define RT5665_GP7_PIN_GPIO7 (0x0 << 3)
+2 -2
sound/soc/codecs/sgtl5000.c
··· 409 409 static int avc_get_threshold(struct snd_kcontrol *kcontrol, 410 410 struct snd_ctl_elem_value *ucontrol) 411 411 { 412 - struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); 412 + struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); 413 413 int db, i; 414 414 u16 reg = snd_soc_read(codec, SGTL5000_DAP_AVC_THRESHOLD); 415 415 ··· 442 442 static int avc_put_threshold(struct snd_kcontrol *kcontrol, 443 443 struct snd_ctl_elem_value *ucontrol) 444 444 { 445 - struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); 445 + struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); 446 446 int db; 447 447 u16 reg; 448 448
+4
sound/soc/fsl/imx-ssi.c
··· 527 527 } 528 528 529 529 ssi->irq = platform_get_irq(pdev, 0); 530 + if (ssi->irq < 0) { 531 + dev_err(&pdev->dev, "Failed to get IRQ: %d\n", ssi->irq); 532 + return ssi->irq; 533 + } 530 534 531 535 ssi->clk = devm_clk_get(&pdev->dev, NULL); 532 536 if (IS_ERR(ssi->clk)) {
+5 -5
sound/soc/generic/audio-graph-card.c
··· 224 224 225 225 of_for_each_phandle(&it, rc, node, "dais", NULL, 0) { 226 226 ret = asoc_graph_card_dai_link_of(it.node, priv, idx++); 227 - of_node_put(it.node); 228 - if (ret < 0) 227 + if (ret < 0) { 228 + of_node_put(it.node); 229 + 229 230 return ret; 231 + } 230 232 } 231 233 232 234 return asoc_simple_card_parse_card_name(card, NULL); ··· 241 239 int count = 0; 242 240 int rc; 243 241 244 - of_for_each_phandle(&it, rc, node, "dais", NULL, 0) { 242 + of_for_each_phandle(&it, rc, node, "dais", NULL, 0) 245 243 count++; 246 - of_node_put(it.node); 247 - } 248 244 249 245 return count; 250 246 }
+9 -6
sound/soc/generic/audio-graph-scu-card.c
··· 215 215 codec_ep = of_graph_get_remote_endpoint(cpu_ep); 216 216 rcpu_ep = of_graph_get_remote_endpoint(codec_ep); 217 217 218 - of_node_put(cpu_port); 219 218 of_node_put(cpu_ep); 220 219 of_node_put(codec_ep); 221 220 of_node_put(rcpu_ep); ··· 231 232 232 233 ret = asoc_simple_card_parse_daifmt(dev, cpu_ep, codec_ep, 233 234 NULL, &daifmt); 234 - if (ret < 0) 235 + if (ret < 0) { 236 + of_node_put(cpu_port); 235 237 goto parse_of_err; 238 + } 236 239 } 237 240 238 241 dai_idx = 0; ··· 251 250 codec_ep = of_graph_get_remote_endpoint(cpu_ep); 252 251 codec_port = of_graph_get_port_parent(codec_ep); 253 252 254 - of_node_put(cpu_port); 255 253 of_node_put(cpu_ep); 256 254 of_node_put(codec_ep); 257 255 of_node_put(codec_port); ··· 266 266 267 267 /* Back-End (= Codec) */ 268 268 ret = asoc_graph_card_dai_link_of(codec_ep, priv, daifmt, dai_idx++, 0); 269 - if (ret < 0) 269 + if (ret < 0) { 270 + of_node_put(cpu_port); 270 271 goto parse_of_err; 272 + } 271 273 } else { 272 274 /* Front-End (= CPU) */ 273 275 ret = asoc_graph_card_dai_link_of(cpu_ep, priv, daifmt, dai_idx++, 1); 274 - if (ret < 0) 276 + if (ret < 0) { 277 + of_node_put(cpu_port); 275 278 goto parse_of_err; 279 + } 276 280 } 277 281 } 278 282 } ··· 310 306 codec_ep = of_graph_get_remote_endpoint(cpu_ep); 311 307 codec_port = of_graph_get_port_parent(codec_ep); 312 308 313 - of_node_put(cpu_port); 314 309 of_node_put(cpu_ep); 315 310 of_node_put(codec_ep); 316 311 of_node_put(codec_port);
+3 -5
sound/soc/generic/simple-card-utils.c
··· 263 263 id = i; 264 264 i++; 265 265 } 266 + 267 + of_node_put(node); 268 + 266 269 if (id < 0) 267 270 return -ENODEV; 268 271 ··· 285 282 if (!dai_name) 286 283 return 0; 287 284 288 - /* 289 - * of_graph_get_port_parent() will call 290 - * of_node_put(). So, call of_node_get() here 291 - */ 292 - of_node_get(ep); 293 285 node = of_graph_get_port_parent(ep); 294 286 295 287 /* Get dai->name */
+5 -12
sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c
··· 319 319 int ret; 320 320 321 321 /* use ASRC for internal clocks, as PLL rate isn't multiple of BCLK */ 322 - rt5663_sel_asrc_clk_src(codec_dai->codec, RT5663_DA_STEREO_FILTER, 1); 322 + rt5663_sel_asrc_clk_src(codec_dai->codec, 323 + RT5663_DA_STEREO_FILTER | RT5663_AD_STEREO_FILTER, 324 + RT5663_CLK_SEL_I2S1_ASRC); 323 325 324 326 ret = snd_soc_dai_set_sysclk(codec_dai, 325 327 RT5663_SCLK_S_MCLK, 24576000, SND_SOC_CLOCK_IN); ··· 351 349 return ret; 352 350 } 353 351 354 - ret = snd_soc_dai_set_pll(codec_dai, 0, 355 - RT5514_PLL1_S_BCLK, RT5514_AIF1_BCLK_FREQ, 356 - RT5514_AIF1_SYSCLK_FREQ); 357 - if (ret < 0) { 358 - dev_err(rtd->dev, "set bclk err: %d\n", ret); 359 - return ret; 360 - } 361 - 362 352 ret = snd_soc_dai_set_sysclk(codec_dai, 363 - RT5514_SCLK_S_PLL1, RT5514_AIF1_SYSCLK_FREQ, 364 - SND_SOC_CLOCK_IN); 353 + RT5514_SCLK_S_MCLK, 24576000, SND_SOC_CLOCK_IN); 365 354 if (ret < 0) { 366 - dev_err(rtd->dev, "set sclk err: %d\n", ret); 355 + dev_err(rtd->dev, "set sysclk err: %d\n", ret); 367 356 return ret; 368 357 } 369 358 }
+8
sound/soc/intel/skylake/skl-messages.c
··· 540 540 cpr_mconfig->gtw_cfg.dma_buffer_size = 541 541 mconfig->dma_buffer_size * dma_io_buf; 542 542 543 + /* fallback to 2ms default value */ 544 + if (!cpr_mconfig->gtw_cfg.dma_buffer_size) { 545 + if (mconfig->hw_conn_type == SKL_CONN_SOURCE) 546 + cpr_mconfig->gtw_cfg.dma_buffer_size = 2 * mconfig->obs; 547 + else 548 + cpr_mconfig->gtw_cfg.dma_buffer_size = 2 * mconfig->ibs; 549 + } 550 + 543 551 cpr_mconfig->cpr_feature_mask = 0; 544 552 cpr_mconfig->gtw_cfg.config_length = 0; 545 553
+2
sound/soc/intel/skylake/skl.c
··· 941 941 .machine_quirk = sst_acpi_codec_list, 942 942 .quirk_data = &bxt_codecs, 943 943 }, 944 + {} 944 945 }; 945 946 946 947 static struct sst_acpi_mach sst_kbl_devdata[] = { ··· 992 991 .drv_name = "glk_alc298s_i2s", 993 992 .fw_filename = "intel/dsp_fw_glk.bin", 994 993 }, 994 + {} 995 995 }; 996 996 997 997 /* PCI IDs */
+1
sound/soc/pxa/Kconfig
··· 1 1 config SND_PXA2XX_SOC 2 2 tristate "SoC Audio for the Intel PXA2xx chip" 3 3 depends on ARCH_PXA || COMPILE_TEST 4 + depends on HAS_DMA 4 5 select SND_PXA2XX_LIB 5 6 help 6 7 Say Y or M if you want to add support for codecs attached to
+3 -3
sound/soc/samsung/odroid.c
··· 42 42 switch (params_rate(params)) { 43 43 case 32000: 44 44 case 64000: 45 - pll_freq = 131072000U; 45 + pll_freq = 131072006U; 46 46 break; 47 47 case 44100: 48 48 case 88200: 49 49 case 176400: 50 - pll_freq = 180633600U; 50 + pll_freq = 180633609U; 51 51 break; 52 52 case 48000: 53 53 case 96000: 54 54 case 192000: 55 - pll_freq = 196608000U; 55 + pll_freq = 196608001U; 56 56 break; 57 57 default: 58 58 return -EINVAL;
+2
sound/soc/sh/hac.c
··· 315 315 316 316 static int hac_soc_platform_probe(struct platform_device *pdev) 317 317 { 318 + int ret; 319 + 318 320 ret = snd_soc_set_ac97_ops(&hac_ac97_ops); 319 321 if (ret != 0) 320 322 return ret;
+2 -25
sound/soc/soc-core.c
··· 3171 3171 component->remove = component->driver->remove; 3172 3172 component->suspend = component->driver->suspend; 3173 3173 component->resume = component->driver->resume; 3174 - component->pcm_new = component->driver->pcm_new; 3175 - component->pcm_free = component->driver->pcm_free; 3176 3174 3177 3175 dapm = &component->dapm; 3178 3176 dapm->dev = dev; ··· 3358 3360 platform->driver->remove(platform); 3359 3361 } 3360 3362 3361 - static int snd_soc_platform_drv_pcm_new(struct snd_soc_pcm_runtime *rtd) 3362 - { 3363 - struct snd_soc_platform *platform = rtd->platform; 3364 - 3365 - if (platform->driver->pcm_new) 3366 - return platform->driver->pcm_new(rtd); 3367 - else 3368 - return 0; 3369 - } 3370 - 3371 - static void snd_soc_platform_drv_pcm_free(struct snd_pcm *pcm) 3372 - { 3373 - struct snd_soc_pcm_runtime *rtd = pcm->private_data; 3374 - struct snd_soc_platform *platform = rtd->platform; 3375 - 3376 - if (platform->driver->pcm_free) 3377 - platform->driver->pcm_free(pcm); 3378 - } 3379 - 3380 3363 /** 3381 3364 * snd_soc_add_platform - Add a platform to the ASoC core 3382 3365 * @dev: The parent device for the platform ··· 3381 3402 platform->component.probe = snd_soc_platform_drv_probe; 3382 3403 if (platform_drv->remove) 3383 3404 platform->component.remove = snd_soc_platform_drv_remove; 3384 - if (platform_drv->pcm_new) 3385 - platform->component.pcm_new = snd_soc_platform_drv_pcm_new; 3386 - if (platform_drv->pcm_free) 3387 - platform->component.pcm_free = snd_soc_platform_drv_pcm_free; 3388 3405 3389 3406 #ifdef CONFIG_DEBUG_FS 3390 3407 platform->component.debugfs_prefix = "platform"; ··· 4087 4112 break; 4088 4113 } 4089 4114 mutex_unlock(&client_mutex); 4115 + 4116 + of_node_put(node); 4090 4117 4091 4118 return ret; 4092 4119 }
+13 -23
sound/soc/soc-pcm.c
··· 181 181 dev_dbg(be->dev, "ASoC: BE %s event %d dir %d\n", 182 182 be->dai_link->name, event, dir); 183 183 184 + if ((event == SND_SOC_DAPM_STREAM_STOP) && 185 + (be->dpcm[dir].users >= 1)) 186 + continue; 187 + 184 188 snd_soc_dapm_stream_event(be, dir, event); 185 189 } 186 190 ··· 2632 2628 return ret; 2633 2629 } 2634 2630 2635 - static void soc_pcm_free(struct snd_pcm *pcm) 2636 - { 2637 - struct snd_soc_pcm_runtime *rtd = pcm->private_data; 2638 - struct snd_soc_component *component; 2639 - 2640 - list_for_each_entry(component, &rtd->card->component_dev_list, 2641 - card_list) { 2642 - if (component->pcm_free) 2643 - component->pcm_free(pcm); 2644 - } 2645 - } 2646 - 2647 2631 /* create a new pcm */ 2648 2632 int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, int num) 2649 2633 { 2650 2634 struct snd_soc_platform *platform = rtd->platform; 2651 2635 struct snd_soc_dai *codec_dai; 2652 2636 struct snd_soc_dai *cpu_dai = rtd->cpu_dai; 2653 - struct snd_soc_component *component; 2654 2637 struct snd_pcm *pcm; 2655 2638 char new_name[64]; 2656 2639 int ret = 0, playback = 0, capture = 0; ··· 2747 2756 if (capture) 2748 2757 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &rtd->ops); 2749 2758 2750 - list_for_each_entry(component, &rtd->card->component_dev_list, card_list) { 2751 - if (component->pcm_new) { 2752 - ret = component->pcm_new(rtd); 2753 - if (ret < 0) { 2754 - dev_err(component->dev, 2755 - "ASoC: pcm constructor failed: %d\n", 2756 - ret); 2757 - return ret; 2758 - } 2759 + if (platform->driver->pcm_new) { 2760 + ret = platform->driver->pcm_new(rtd); 2761 + if (ret < 0) { 2762 + dev_err(platform->dev, 2763 + "ASoC: pcm constructor failed: %d\n", 2764 + ret); 2765 + return ret; 2759 2766 } 2760 2767 } 2761 - pcm->private_free = soc_pcm_free; 2768 + 2769 + pcm->private_free = platform->driver->pcm_free; 2762 2770 out: 2763 2771 dev_info(rtd->card->dev, "%s <-> %s mapping ok\n", 2764 2772 (rtd->num_codecs > 1) ? "multicodec" : rtd->codec_dai->name,
+4
sound/soc/ux500/mop500.c
··· 33 33 .stream_name = "ab8500_0", 34 34 .cpu_dai_name = "ux500-msp-i2s.1", 35 35 .codec_dai_name = "ab8500-codec-dai.0", 36 + .platform_name = "ux500-msp-i2s.1", 36 37 .codec_name = "ab8500-codec.0", 37 38 .init = mop500_ab8500_machine_init, 38 39 .ops = mop500_ab8500_ops, ··· 43 42 .stream_name = "ab8500_1", 44 43 .cpu_dai_name = "ux500-msp-i2s.3", 45 44 .codec_dai_name = "ab8500-codec-dai.1", 45 + .platform_name = "ux500-msp-i2s.3", 46 46 .codec_name = "ab8500-codec.0", 47 47 .init = NULL, 48 48 .ops = mop500_ab8500_ops, ··· 87 85 for (i = 0; i < 2; i++) { 88 86 mop500_dai_links[i].cpu_of_node = msp_np[i]; 89 87 mop500_dai_links[i].cpu_dai_name = NULL; 88 + mop500_dai_links[i].platform_of_node = msp_np[i]; 89 + mop500_dai_links[i].platform_name = NULL; 90 90 mop500_dai_links[i].codec_of_node = codec_np; 91 91 mop500_dai_links[i].codec_name = NULL; 92 92 }