Merge tag 'upstream-4.8-rc1' of git://git.infradead.org/linux-ubifs
[deliverable/linux.git] / sound / soc / generic / simple-card.c
index e3a32d3404824f46f68fb59a029156a0c4d2f7d7..43295f02498239ef0578168f281f2856e38f6b5a 100644 (file)
@@ -319,7 +319,6 @@ static int asoc_simple_card_dai_link_of(struct device_node *node,
        struct device_node *cpu = NULL;
        struct device_node *plat = NULL;
        struct device_node *codec = NULL;
-       char *name;
        char prop[128];
        char *prefix = "";
        int ret, cpu_args;
@@ -380,19 +379,13 @@ static int asoc_simple_card_dai_link_of(struct device_node *node,
        if (!dai_link->platform_of_node)
                dai_link->platform_of_node = dai_link->cpu_of_node;
 
-       /* DAI link name is created from CPU/CODEC dai name */
-       name = devm_kzalloc(dev,
-                           strlen(dai_link->cpu_dai_name)   +
-                           strlen(dai_link->codec_dai_name) + 2,
-                           GFP_KERNEL);
-       if (!name) {
-               ret = -ENOMEM;
+       ret = asoc_simple_card_set_dailink_name(dev, dai_link,
+                                               "%s-%s",
+                                               dai_link->cpu_dai_name,
+                                               dai_link->codec_dai_name);
+       if (ret < 0)
                goto dai_link_of_err;
-       }
 
-       sprintf(name, "%s-%s", dai_link->cpu_dai_name,
-                               dai_link->codec_dai_name);
-       dai_link->name = dai_link->stream_name = name;
        dai_link->ops = &asoc_simple_card_ops;
        dai_link->init = asoc_simple_card_dai_init;
 
@@ -434,9 +427,6 @@ static int asoc_simple_card_parse_of(struct device_node *node,
        if (!node)
                return -EINVAL;
 
-       /* Parse the card name from DT */
-       snd_soc_of_parse_card_name(&priv->snd_card, PREFIX "name");
-
        /* The off-codec widgets */
        if (of_property_read_bool(node, PREFIX "widgets")) {
                ret = snd_soc_of_parse_audio_simple_widgets(&priv->snd_card,
@@ -458,9 +448,6 @@ static int asoc_simple_card_parse_of(struct device_node *node,
        if (ret == 0)
                priv->mclk_fs = val;
 
-       dev_dbg(dev, "New simple-card: %s\n", priv->snd_card.name ?
-               priv->snd_card.name : "");
-
        /* Single/Muti DAI link(s) & New style of DT node */
        if (of_get_child_by_name(node, PREFIX "dai-link")) {
                struct device_node *np = NULL;
@@ -483,8 +470,9 @@ static int asoc_simple_card_parse_of(struct device_node *node,
                        return ret;
        }
 
-       if (!priv->snd_card.name)
-               priv->snd_card.name = priv->snd_card.dai_link->name;
+       ret = asoc_simple_card_parse_card_name(&priv->snd_card, PREFIX);
+       if (ret)
+               return ret;
 
        return 0;
 }
This page took 0.027106 seconds and 5 git commands to generate.