Lines Matching refs:data
36 struct imx_sgtl5000_data *data = container_of(rtd->card, in imx_sgtl5000_dai_init() local
42 data->clk_frequency, SND_SOC_CLOCK_IN); in imx_sgtl5000_dai_init()
65 struct imx_sgtl5000_data *data; in imx_sgtl5000_probe() local
125 data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL); in imx_sgtl5000_probe()
126 if (!data) { in imx_sgtl5000_probe()
131 data->codec_clk = clk_get(&codec_dev->dev, NULL); in imx_sgtl5000_probe()
132 if (IS_ERR(data->codec_clk)) { in imx_sgtl5000_probe()
134 data->codec_clk = NULL; in imx_sgtl5000_probe()
136 &data->clk_frequency); in imx_sgtl5000_probe()
143 data->clk_frequency = clk_get_rate(data->codec_clk); in imx_sgtl5000_probe()
144 clk_prepare_enable(data->codec_clk); in imx_sgtl5000_probe()
147 data->dai.name = "HiFi"; in imx_sgtl5000_probe()
148 data->dai.stream_name = "HiFi"; in imx_sgtl5000_probe()
149 data->dai.codec_dai_name = "sgtl5000"; in imx_sgtl5000_probe()
150 data->dai.codec_of_node = codec_np; in imx_sgtl5000_probe()
151 data->dai.cpu_of_node = ssi_np; in imx_sgtl5000_probe()
152 data->dai.platform_name = "imx-pcm-audio"; in imx_sgtl5000_probe()
153 data->dai.init = &imx_sgtl5000_dai_init; in imx_sgtl5000_probe()
154 data->dai.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | in imx_sgtl5000_probe()
157 data->card.dev = &pdev->dev; in imx_sgtl5000_probe()
158 ret = snd_soc_of_parse_card_name(&data->card, "model"); in imx_sgtl5000_probe()
161 ret = snd_soc_of_parse_audio_routing(&data->card, "audio-routing"); in imx_sgtl5000_probe()
164 data->card.num_links = 1; in imx_sgtl5000_probe()
165 data->card.owner = THIS_MODULE; in imx_sgtl5000_probe()
166 data->card.dai_link = &data->dai; in imx_sgtl5000_probe()
167 data->card.dapm_widgets = imx_sgtl5000_dapm_widgets; in imx_sgtl5000_probe()
168 data->card.num_dapm_widgets = ARRAY_SIZE(imx_sgtl5000_dapm_widgets); in imx_sgtl5000_probe()
170 ret = snd_soc_register_card(&data->card); in imx_sgtl5000_probe()
176 platform_set_drvdata(pdev, data); in imx_sgtl5000_probe()
178 clk_put(data->codec_clk); in imx_sgtl5000_probe()
190 struct imx_sgtl5000_data *data = platform_get_drvdata(pdev); in imx_sgtl5000_remove() local
192 if (data->codec_clk) { in imx_sgtl5000_remove()
193 clk_disable_unprepare(data->codec_clk); in imx_sgtl5000_remove()
194 clk_put(data->codec_clk); in imx_sgtl5000_remove()
196 snd_soc_unregister_card(&data->card); in imx_sgtl5000_remove()