diff options
| -rw-r--r-- | include/sound/simple_card.h | 1 | ||||
| -rw-r--r-- | sound/soc/generic/simple-card.c | 30 |
2 files changed, 8 insertions, 23 deletions
diff --git a/include/sound/simple_card.h b/include/sound/simple_card.h index 1255ddb1d3e2..b9b4f289fe6b 100644 --- a/include/sound/simple_card.h +++ b/include/sound/simple_card.h | |||
| @@ -16,7 +16,6 @@ | |||
| 16 | 16 | ||
| 17 | struct asoc_simple_dai { | 17 | struct asoc_simple_dai { |
| 18 | const char *name; | 18 | const char *name; |
| 19 | unsigned int fmt; | ||
| 20 | unsigned int sysclk; | 19 | unsigned int sysclk; |
| 21 | int slots; | 20 | int slots; |
| 22 | int slot_width; | 21 | int slot_width; |
diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c index f7c6734bd5da..3efd9472b8a3 100644 --- a/sound/soc/generic/simple-card.c +++ b/sound/soc/generic/simple-card.c | |||
| @@ -125,14 +125,6 @@ static int __asoc_simple_card_dai_init(struct snd_soc_dai *dai, | |||
| 125 | { | 125 | { |
| 126 | int ret; | 126 | int ret; |
| 127 | 127 | ||
| 128 | if (set->fmt) { | ||
| 129 | ret = snd_soc_dai_set_fmt(dai, set->fmt); | ||
| 130 | if (ret && ret != -ENOTSUPP) { | ||
| 131 | dev_err(dai->dev, "simple-card: set_fmt error\n"); | ||
| 132 | goto err; | ||
| 133 | } | ||
| 134 | } | ||
| 135 | |||
| 136 | if (set->sysclk) { | 128 | if (set->sysclk) { |
| 137 | ret = snd_soc_dai_set_sysclk(dai, 0, set->sysclk, 0); | 129 | ret = snd_soc_dai_set_sysclk(dai, 0, set->sysclk, 0); |
| 138 | if (ret && ret != -ENOTSUPP) { | 130 | if (ret && ret != -ENOTSUPP) { |
| @@ -269,12 +261,10 @@ static int asoc_simple_card_parse_daifmt(struct device_node *node, | |||
| 269 | struct device_node *codec, | 261 | struct device_node *codec, |
| 270 | char *prefix, int idx) | 262 | char *prefix, int idx) |
| 271 | { | 263 | { |
| 264 | struct snd_soc_dai_link *dai_link = simple_priv_to_link(priv, idx); | ||
| 272 | struct device *dev = simple_priv_to_dev(priv); | 265 | struct device *dev = simple_priv_to_dev(priv); |
| 273 | struct device_node *bitclkmaster = NULL; | 266 | struct device_node *bitclkmaster = NULL; |
| 274 | struct device_node *framemaster = NULL; | 267 | struct device_node *framemaster = NULL; |
| 275 | struct simple_dai_props *dai_props = simple_priv_to_props(priv, idx); | ||
| 276 | struct asoc_simple_dai *cpu_dai = &dai_props->cpu_dai; | ||
| 277 | struct asoc_simple_dai *codec_dai = &dai_props->codec_dai; | ||
| 278 | unsigned int daifmt; | 268 | unsigned int daifmt; |
| 279 | 269 | ||
| 280 | daifmt = snd_soc_of_parse_daifmt(node, prefix, | 270 | daifmt = snd_soc_of_parse_daifmt(node, prefix, |
| @@ -289,8 +279,7 @@ static int asoc_simple_card_parse_daifmt(struct device_node *node, | |||
| 289 | */ | 279 | */ |
| 290 | dev_dbg(dev, "Revert to legacy daifmt parsing\n"); | 280 | dev_dbg(dev, "Revert to legacy daifmt parsing\n"); |
| 291 | 281 | ||
| 292 | cpu_dai->fmt = codec_dai->fmt = | 282 | daifmt = snd_soc_of_parse_daifmt(codec, NULL, NULL, NULL) | |
| 293 | snd_soc_of_parse_daifmt(codec, NULL, NULL, NULL) | | ||
| 294 | (daifmt & ~SND_SOC_DAIFMT_CLOCK_MASK); | 283 | (daifmt & ~SND_SOC_DAIFMT_CLOCK_MASK); |
| 295 | } else { | 284 | } else { |
| 296 | if (codec == bitclkmaster) | 285 | if (codec == bitclkmaster) |
| @@ -299,11 +288,10 @@ static int asoc_simple_card_parse_daifmt(struct device_node *node, | |||
| 299 | else | 288 | else |
| 300 | daifmt |= (codec == framemaster) ? | 289 | daifmt |= (codec == framemaster) ? |
| 301 | SND_SOC_DAIFMT_CBS_CFM : SND_SOC_DAIFMT_CBS_CFS; | 290 | SND_SOC_DAIFMT_CBS_CFM : SND_SOC_DAIFMT_CBS_CFS; |
| 302 | |||
| 303 | cpu_dai->fmt = daifmt; | ||
| 304 | codec_dai->fmt = daifmt; | ||
| 305 | } | 291 | } |
| 306 | 292 | ||
| 293 | dai_link->dai_fmt = daifmt; | ||
| 294 | |||
| 307 | of_node_put(bitclkmaster); | 295 | of_node_put(bitclkmaster); |
| 308 | of_node_put(framemaster); | 296 | of_node_put(framemaster); |
| 309 | 297 | ||
| @@ -379,13 +367,12 @@ static int asoc_simple_card_dai_link_of(struct device_node *node, | |||
| 379 | dai_link->init = asoc_simple_card_dai_init; | 367 | dai_link->init = asoc_simple_card_dai_init; |
| 380 | 368 | ||
| 381 | dev_dbg(dev, "\tname : %s\n", dai_link->stream_name); | 369 | dev_dbg(dev, "\tname : %s\n", dai_link->stream_name); |
| 382 | dev_dbg(dev, "\tcpu : %s / %04x / %d\n", | 370 | dev_dbg(dev, "\tformat : %04x\n", dai_link->dai_fmt); |
| 371 | dev_dbg(dev, "\tcpu : %s / %d\n", | ||
| 383 | dai_link->cpu_dai_name, | 372 | dai_link->cpu_dai_name, |
| 384 | dai_props->cpu_dai.fmt, | ||
| 385 | dai_props->cpu_dai.sysclk); | 373 | dai_props->cpu_dai.sysclk); |
| 386 | dev_dbg(dev, "\tcodec : %s / %04x / %d\n", | 374 | dev_dbg(dev, "\tcodec : %s / %d\n", |
| 387 | dai_link->codec_dai_name, | 375 | dai_link->codec_dai_name, |
| 388 | dai_props->codec_dai.fmt, | ||
| 389 | dai_props->codec_dai.sysclk); | 376 | dai_props->codec_dai.sysclk); |
| 390 | 377 | ||
| 391 | /* | 378 | /* |
| @@ -572,14 +559,13 @@ static int asoc_simple_card_probe(struct platform_device *pdev) | |||
| 572 | dai_link->codec_name = cinfo->codec; | 559 | dai_link->codec_name = cinfo->codec; |
| 573 | dai_link->cpu_dai_name = cinfo->cpu_dai.name; | 560 | dai_link->cpu_dai_name = cinfo->cpu_dai.name; |
| 574 | dai_link->codec_dai_name = cinfo->codec_dai.name; | 561 | dai_link->codec_dai_name = cinfo->codec_dai.name; |
| 562 | dai_link->dai_fmt = cinfo->daifmt; | ||
| 575 | dai_link->init = asoc_simple_card_dai_init; | 563 | dai_link->init = asoc_simple_card_dai_init; |
| 576 | memcpy(&priv->dai_props->cpu_dai, &cinfo->cpu_dai, | 564 | memcpy(&priv->dai_props->cpu_dai, &cinfo->cpu_dai, |
| 577 | sizeof(priv->dai_props->cpu_dai)); | 565 | sizeof(priv->dai_props->cpu_dai)); |
| 578 | memcpy(&priv->dai_props->codec_dai, &cinfo->codec_dai, | 566 | memcpy(&priv->dai_props->codec_dai, &cinfo->codec_dai, |
| 579 | sizeof(priv->dai_props->codec_dai)); | 567 | sizeof(priv->dai_props->codec_dai)); |
| 580 | 568 | ||
| 581 | priv->dai_props->cpu_dai.fmt |= cinfo->daifmt; | ||
| 582 | priv->dai_props->codec_dai.fmt |= cinfo->daifmt; | ||
| 583 | } | 569 | } |
| 584 | 570 | ||
| 585 | snd_soc_card_set_drvdata(&priv->snd_card, priv); | 571 | snd_soc_card_set_drvdata(&priv->snd_card, priv); |
