From: Mark Brown Date: Sun, 30 Apr 2017 13:16:26 +0000 (+0900) Subject: Merge remote-tracking branches 'asoc/topic/samsung', 'asoc/topic/sgtl5000', 'asoc... X-Git-Tag: v4.13~830^2^2~4 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=ae17a14f14079d1e23f8b9824d6bafce6af9fa3e;hp=-c;p=mirror_ubuntu-bionic-kernel.git Merge remote-tracking branches 'asoc/topic/samsung', 'asoc/topic/sgtl5000', 'asoc/topic/simple', 'asoc/topic/sirf' and 'asoc/topic/ssm4567' into asoc-next --- ae17a14f14079d1e23f8b9824d6bafce6af9fa3e diff --combined sound/soc/generic/simple-card.c index 85b4f1806514,85b4f1806514,a385ff6bfa4b,948f3ba02d12,85b4f1806514,a385ff6bfa4b..2c9dedab5184 --- a/sound/soc/generic/simple-card.c +++ b/sound/soc/generic/simple-card.c @@@@@@@ -40,9 -40,9 -40,9 -40,10 -40,9 -40,9 +40,10 @@@@@@@ struct simple_card_data struct snd_soc_dai_link *dai_link; }; --- --#define simple_priv_to_dev(priv) ((priv)->snd_card.dev) --- --#define simple_priv_to_link(priv, i) ((priv)->snd_card.dai_link + (i)) +++ ++#define simple_priv_to_card(priv) (&(priv)->snd_card) #define simple_priv_to_props(priv, i) ((priv)->dai_props + (i)) +++ ++#define simple_priv_to_dev(priv) (simple_priv_to_card(priv)->dev) +++ ++#define simple_priv_to_link(priv, i) (simple_priv_to_card(priv)->dai_link + (i)) #define DAI "sound-dai" #define CELL "#sound-dai-cells" @@@@@@@ -278,11 -278,11 -278,11 -279,11 -278,11 -278,11 +279,11 @@@@@@@ static int asoc_simple_card_dai_link_of if (ret < 0) goto dai_link_of_err; -- - ret = asoc_simple_card_parse_clk_cpu(cpu, dai_link, cpu_dai); ++ + ret = asoc_simple_card_parse_clk_cpu(dev, cpu, dai_link, cpu_dai); if (ret < 0) goto dai_link_of_err; -- - ret = asoc_simple_card_parse_clk_codec(codec, dai_link, codec_dai); ++ + ret = asoc_simple_card_parse_clk_codec(dev, codec, dai_link, codec_dai); if (ret < 0) goto dai_link_of_err; @@@@@@@ -323,6 -323,6 -323,6 -324,7 -323,6 -323,6 +324,7 @@@@@@@ static int asoc_simple_card_parse_aux_d { struct device *dev = simple_priv_to_dev(priv); struct device_node *aux_node; +++ ++ struct snd_soc_card *card = simple_priv_to_card(priv); int i, n, len; if (!of_find_property(node, PREFIX "aux-devs", &len)) @@@@@@@ -332,19 -332,19 -332,19 -334,19 -332,19 -332,19 +334,19 @@@@@@@ if (n <= 0) return -EINVAL; --- -- priv->snd_card.aux_dev = devm_kzalloc(dev, --- -- n * sizeof(*priv->snd_card.aux_dev), GFP_KERNEL); --- -- if (!priv->snd_card.aux_dev) +++ ++ card->aux_dev = devm_kzalloc(dev, +++ ++ n * sizeof(*card->aux_dev), GFP_KERNEL); +++ ++ if (!card->aux_dev) return -ENOMEM; for (i = 0; i < n; i++) { aux_node = of_parse_phandle(node, PREFIX "aux-devs", i); if (!aux_node) return -EINVAL; --- -- priv->snd_card.aux_dev[i].codec_of_node = aux_node; +++ ++ card->aux_dev[i].codec_of_node = aux_node; } --- -- priv->snd_card.num_aux_devs = n; +++ ++ card->num_aux_devs = n; return 0; } @@@@@@@ -352,6 -352,6 -352,6 -354,7 -352,6 -352,6 +354,7 @@@@@@@ static int asoc_simple_card_parse_of(st struct simple_card_data *priv) { struct device *dev = simple_priv_to_dev(priv); +++ ++ struct snd_soc_card *card = simple_priv_to_card(priv); struct device_node *dai_link; int ret; @@@@@@@ -362,7 -362,7 -362,7 -365,7 -362,7 -362,7 +365,7 @@@@@@@ /* The off-codec widgets */ if (of_property_read_bool(node, PREFIX "widgets")) { --- -- ret = snd_soc_of_parse_audio_simple_widgets(&priv->snd_card, +++ ++ ret = snd_soc_of_parse_audio_simple_widgets(card, PREFIX "widgets"); if (ret) goto card_parse_end; @@@@@@@ -370,7 -370,7 -370,7 -373,7 -370,7 -370,7 +373,7 @@@@@@@ /* DAPM routes */ if (of_property_read_bool(node, PREFIX "routing")) { --- -- ret = snd_soc_of_parse_audio_routing(&priv->snd_card, +++ ++ ret = snd_soc_of_parse_audio_routing(card, PREFIX "routing"); if (ret) goto card_parse_end; @@@@@@@ -401,7 -401,7 -401,7 -404,7 -401,7 -401,7 +404,7 @@@@@@@ goto card_parse_end; } --- -- ret = asoc_simple_card_parse_card_name(&priv->snd_card, PREFIX); +++ ++ ret = asoc_simple_card_parse_card_name(card, PREFIX); if (ret < 0) goto card_parse_end; @@@@@@@ -418,8 -418,8 -418,8 -421,9 -418,8 -418,8 +421,9 @@@@@@@ static int asoc_simple_card_probe(struc struct simple_card_data *priv; struct snd_soc_dai_link *dai_link; struct simple_dai_props *dai_props; --- -- struct device_node *np = pdev->dev.of_node; struct device *dev = &pdev->dev; +++ ++ struct device_node *np = dev->of_node; +++ ++ struct snd_soc_card *card; int num, ret; /* Get the number of DAI links */ @@@@@@@ -442,10 -442,10 -442,10 -446,11 -442,10 -442,10 +446,11 @@@@@@@ priv->dai_link = dai_link; /* Init snd_soc_card */ --- -- priv->snd_card.owner = THIS_MODULE; --- -- priv->snd_card.dev = dev; --- -- priv->snd_card.dai_link = priv->dai_link; --- -- priv->snd_card.num_links = num; +++ ++ card = simple_priv_to_card(priv); +++ ++ card->owner = THIS_MODULE; +++ ++ card->dev = dev; +++ ++ card->dai_link = priv->dai_link; +++ ++ card->num_links = num; if (np && of_device_is_available(np)) { @@@@@@@ -474,7 -474,7 -474,7 -479,7 -474,7 -474,7 +479,7 @@@@@@@ return -EINVAL; } --- -- priv->snd_card.name = (cinfo->card) ? cinfo->card : cinfo->name; +++ ++ card->name = (cinfo->card) ? cinfo->card : cinfo->name; dai_link->name = cinfo->name; dai_link->stream_name = cinfo->name; dai_link->platform_name = cinfo->platform; @@@@@@@ -489,13 -489,13 -489,13 -494,13 -489,13 -489,13 +494,13 @@@@@@@ sizeof(priv->dai_props->codec_dai)); } --- -- snd_soc_card_set_drvdata(&priv->snd_card, priv); +++ ++ snd_soc_card_set_drvdata(card, priv); --- -- ret = devm_snd_soc_register_card(&pdev->dev, &priv->snd_card); +++ ++ ret = devm_snd_soc_register_card(dev, card); if (ret >= 0) return ret; err: --- -- asoc_simple_card_clean_reference(&priv->snd_card); +++ ++ asoc_simple_card_clean_reference(card); return ret; } diff --combined sound/soc/generic/simple-scu-card.c index 308ff4c11a8d,308ff4c11a8d,bb86ee042490,cd0f3f50eebf,308ff4c11a8d,bb86ee042490..dcbcab230d1b --- a/sound/soc/generic/simple-scu-card.c +++ b/sound/soc/generic/simple-scu-card.c @@@@@@@ -31,9 -31,9 -31,9 -31,10 -31,9 -31,9 +31,10 @@@@@@@ struct simple_card_data u32 convert_channels; }; --- --#define simple_priv_to_dev(priv) ((priv)->snd_card.dev) --- --#define simple_priv_to_link(priv, i) ((priv)->snd_card.dai_link + (i)) +++ ++#define simple_priv_to_card(priv) (&(priv)->snd_card) #define simple_priv_to_props(priv, i) ((priv)->dai_props + (i)) +++ ++#define simple_priv_to_dev(priv) (simple_priv_to_card(priv)->dev) +++ ++#define simple_priv_to_link(priv, i) (simple_priv_to_card(priv)->dai_link + (i)) #define DAI "sound-dai" #define CELL "#sound-dai-cells" @@@@@@@ -109,6 -109,6 -109,6 -110,7 -109,6 -109,6 +110,7 @@@@@@@ static int asoc_simple_card_dai_link_of struct device *dev = simple_priv_to_dev(priv); struct snd_soc_dai_link *dai_link = simple_priv_to_link(priv, idx); struct asoc_simple_dai *dai_props = simple_priv_to_props(priv, idx); +++ ++ struct snd_soc_card *card = simple_priv_to_card(priv); int ret; if (is_fe) { @@@@@@@ -128,7 -128,7 -128,7 -130,7 -128,7 -128,7 +130,7 @@@@@@@ if (ret) return ret; -- - ret = asoc_simple_card_parse_clk_cpu(np, dai_link, dai_props); ++ + ret = asoc_simple_card_parse_clk_cpu(dev, np, dai_link, dai_props); if (ret < 0) return ret; @@@@@@@ -153,7 -153,7 -153,7 -155,7 -153,7 -153,7 +155,7 @@@@@@@ if (ret < 0) return ret; -- - ret = asoc_simple_card_parse_clk_codec(np, dai_link, dai_props); ++ + ret = asoc_simple_card_parse_clk_codec(dev, np, dai_link, dai_props); if (ret < 0) return ret; @@@@@@@ -163,7 -163,7 -163,7 -165,7 -163,7 -163,7 +165,7 @@@@@@@ if (ret < 0) return ret; --- -- snd_soc_of_parse_audio_prefix(&priv->snd_card, +++ ++ snd_soc_of_parse_audio_prefix(card, &priv->codec_conf, dai_link->codec_of_node, PREFIX "prefix"); @@@@@@@ -201,6 -201,6 -201,6 -203,7 -201,6 -201,6 +203,7 @@@@@@@ static int asoc_simple_card_parse_of(st { struct device *dev = simple_priv_to_dev(priv); struct device_node *np; +++ ++ struct snd_soc_card *card = simple_priv_to_card(priv); unsigned int daifmt = 0; bool is_fe; int ret, i; @@@@@@@ -208,7 -208,7 -208,7 -211,7 -208,7 -208,7 +211,7 @@@@@@@ if (!node) return -EINVAL; --- -- ret = snd_soc_of_parse_audio_routing(&priv->snd_card, PREFIX "routing"); +++ ++ ret = snd_soc_of_parse_audio_routing(card, PREFIX "routing"); if (ret < 0) return ret; @@@@@@@ -239,12 -239,12 -239,12 -242,12 -239,12 -239,12 +242,12 @@@@@@@ i++; } --- -- ret = asoc_simple_card_parse_card_name(&priv->snd_card, PREFIX); +++ ++ ret = asoc_simple_card_parse_card_name(card, PREFIX); if (ret < 0) return ret; dev_dbg(dev, "New card: %s\n", --- -- priv->snd_card.name ? priv->snd_card.name : ""); +++ ++ card->name ? card->name : ""); dev_dbg(dev, "convert_rate %d\n", priv->convert_rate); dev_dbg(dev, "convert_channels %d\n", priv->convert_channels); @@@@@@@ -256,8 -256,8 -256,8 -259,9 -256,8 -256,8 +259,9 @@@@@@@ static int asoc_simple_card_probe(struc struct simple_card_data *priv; struct snd_soc_dai_link *dai_link; struct asoc_simple_dai *dai_props; +++ ++ struct snd_soc_card *card; struct device *dev = &pdev->dev; --- -- struct device_node *np = pdev->dev.of_node; +++ ++ struct device_node *np = dev->of_node; int num, ret; /* Allocate the private data */ @@@@@@@ -276,12 -276,12 -276,12 -280,13 -276,12 -276,12 +280,13 @@@@@@@ priv->dai_link = dai_link; /* Init snd_soc_card */ --- -- priv->snd_card.owner = THIS_MODULE; --- -- priv->snd_card.dev = dev; --- -- priv->snd_card.dai_link = priv->dai_link; --- -- priv->snd_card.num_links = num; --- -- priv->snd_card.codec_conf = &priv->codec_conf; --- -- priv->snd_card.num_configs = 1; +++ ++ card = simple_priv_to_card(priv); +++ ++ card->owner = THIS_MODULE; +++ ++ card->dev = dev; +++ ++ card->dai_link = priv->dai_link; +++ ++ card->num_links = num; +++ ++ card->codec_conf = &priv->codec_conf; +++ ++ card->num_configs = 1; ret = asoc_simple_card_parse_of(np, priv); if (ret < 0) { @@@@@@@ -290,13 -290,13 -290,13 -295,13 -290,13 -290,13 +295,13 @@@@@@@ goto err; } --- -- snd_soc_card_set_drvdata(&priv->snd_card, priv); +++ ++ snd_soc_card_set_drvdata(card, priv); --- -- ret = devm_snd_soc_register_card(&pdev->dev, &priv->snd_card); +++ ++ ret = devm_snd_soc_register_card(dev, card); if (ret >= 0) return ret; err: --- -- asoc_simple_card_clean_reference(&priv->snd_card); +++ ++ asoc_simple_card_clean_reference(card); return ret; }