Lines Matching defs:audio

3  * MFD driver for twl4030 audio submodule, which contains an audio codec, and
21 #include <linux/mfd/twl4030-audio.h>
46 struct twl4030_audio *audio = platform_get_drvdata(twl4030_audio_dev);
50 audio->resource[id].reg);
53 val |= audio->resource[id].mask;
55 val &= ~audio->resource[id].mask;
58 val, audio->resource[id].reg);
65 struct twl4030_audio *audio = platform_get_drvdata(twl4030_audio_dev);
69 audio->resource[id].reg);
80 struct twl4030_audio *audio = platform_get_drvdata(twl4030_audio_dev);
89 mutex_lock(&audio->mutex);
90 if (!audio->resource[id].request_count)
96 audio->resource[id].request_count++;
97 mutex_unlock(&audio->mutex);
109 struct twl4030_audio *audio = platform_get_drvdata(twl4030_audio_dev);
118 mutex_lock(&audio->mutex);
119 if (!audio->resource[id].request_count) {
122 mutex_unlock(&audio->mutex);
125 audio->resource[id].request_count--;
127 if (!audio->resource[id].request_count)
133 mutex_unlock(&audio->mutex);
141 struct twl4030_audio *audio = platform_get_drvdata(twl4030_audio_dev);
143 return audio->audio_mclk;
180 struct twl4030_audio *audio;
192 audio = devm_kzalloc(&pdev->dev, sizeof(struct twl4030_audio),
194 if (!audio)
197 mutex_init(&audio->mutex);
198 audio->audio_mclk = twl_get_hfclk_rate();
201 switch (audio->audio_mclk) {
218 audio->resource[TWL4030_AUDIO_RES_POWER].reg = TWL4030_REG_CODEC_MODE;
219 audio->resource[TWL4030_AUDIO_RES_POWER].mask = TWL4030_CODECPDZ;
222 audio->resource[TWL4030_AUDIO_RES_APLL].reg = TWL4030_REG_APLL_CTL;
223 audio->resource[TWL4030_AUDIO_RES_APLL].mask = TWL4030_APLL_EN;
226 cell = &audio->cells[childs];
235 cell = &audio->cells[childs];
244 platform_set_drvdata(pdev, audio);
248 ret = mfd_add_devices(&pdev->dev, pdev->id, audio->cells,
268 {.compatible = "ti,twl4030-audio", },
275 .name = "twl4030-audio",
285 MODULE_DESCRIPTION("TWL4030 audio block MFD driver");
286 MODULE_ALIAS("platform:twl4030-audio");