On 22/01/15 12:17, Inha Song wrote: > diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig > index fc67f97..8031423 100644 > --- a/sound/soc/samsung/Kconfig > +++ b/sound/soc/samsung/Kconfig > @@ -245,3 +245,11 @@ config SND_SOC_ARNDALE_RT5631_ALC5631 > depends on SND_SOC_SAMSUNG > select SND_SAMSUNG_I2S > select SND_SOC_RT5631 > + > +config SND_SOC_SAMSUNG_TRATS2_WM1811 > + tristate "SoC I2S Audio support for WM1811 on Tizen Trats2 board" > + depends on SND_SOC_SAMSUNG > + select SND_SOC_WM8994 > + select SND_SAMSUNG_I2S Shouldn't you also select the MFD part of WM8994 here ? > +++ b/sound/soc/samsung/trats2_wm1811.c > @@ -0,0 +1,218 @@ > +static struct snd_soc_dai_link trats2_dai[] = { > + { > + .name = "WM1811 AIF1", > + .stream_name = "Pri_Dai", Could we have a less cryptic name here, e.g. "HiFi Primary" ? > + .codec_dai_name = "wm8994-aif1", > + .codec_name = "wm8994-codec", > + .ops = &trats2_aif1_ops, > + .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | > + SND_SOC_DAIFMT_CBM_CFM, > + }, > +}; > +static int trats2_audio_probe(struct platform_device *pdev) > +{ > + struct device_node *np = pdev->dev.of_node; > + struct snd_soc_card *card = &trats2_card; > + struct device_node *codec_node; > + struct snd_soc_dai_link *dai_link = card->dai_link; > + struct trats2_machine_priv *priv = snd_soc_card_get_drvdata(card); > + int ret; > + > + if (!np) { > + dev_err(&pdev->dev, "of node is missing.\n"); > + return -ENODEV; I'd say this whole np test could be dropped, we will fail right below at the snd_soc_of_parse_card_name() function call if np is NULL. Such a situation seems highly unlikely anyway. > + } > + > + card->dev = &pdev->dev; > + > + ret = snd_soc_of_parse_card_name(card, "samsung,model"); > + if (ret) { > + dev_err(&pdev->dev, > + "Card name is not provided\n"); I guess it would fit in a single line. > + return ret; > + } > + > +static struct platform_driver trats2_audio_driver = { > + .driver = { > + .name = "trats2-audio", > + .owner = THIS_MODULE, You can drop this .owner field assignment, it's also done in module_platform_driver() macro. > + .pm = &snd_soc_pm_ops, > + .of_match_table = trats2_audio_of_match, > + }, > + .probe = trats2_audio_probe, > + .remove = trats2_audio_remove, > +}; > + > +module_platform_driver(trats2_audio_driver); -- Regards, Sylwester -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html