aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/soc-core.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/soc-core.c')
-rw-r--r--sound/soc/soc-core.c28
1 files changed, 24 insertions, 4 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index b87d7d882e6d..91120b8e283e 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -270,12 +270,32 @@ static const struct file_operations codec_reg_fops = {
270 .llseek = default_llseek, 270 .llseek = default_llseek,
271}; 271};
272 272
273static struct dentry *soc_debugfs_create_dir(struct dentry *parent,
274 const char *fmt, ...)
275{
276 struct dentry *de;
277 va_list ap;
278 char *s;
279
280 va_start(ap, fmt);
281 s = kvasprintf(GFP_KERNEL, fmt, ap);
282 va_end(ap);
283
284 if (!s)
285 return NULL;
286
287 de = debugfs_create_dir(s, parent);
288 kfree(s);
289
290 return de;
291}
292
273static void soc_init_codec_debugfs(struct snd_soc_codec *codec) 293static void soc_init_codec_debugfs(struct snd_soc_codec *codec)
274{ 294{
275 struct dentry *debugfs_card_root = codec->card->debugfs_card_root; 295 struct dentry *debugfs_card_root = codec->card->debugfs_card_root;
276 296
277 codec->debugfs_codec_root = debugfs_create_dir(codec->name, 297 codec->debugfs_codec_root = soc_debugfs_create_dir(debugfs_card_root,
278 debugfs_card_root); 298 "codec:%s", codec->name);
279 if (!codec->debugfs_codec_root) { 299 if (!codec->debugfs_codec_root) {
280 dev_warn(codec->dev, 300 dev_warn(codec->dev,
281 "ASoC: Failed to create codec debugfs directory\n"); 301 "ASoC: Failed to create codec debugfs directory\n");
@@ -306,8 +326,8 @@ static void soc_init_platform_debugfs(struct snd_soc_platform *platform)
306{ 326{
307 struct dentry *debugfs_card_root = platform->card->debugfs_card_root; 327 struct dentry *debugfs_card_root = platform->card->debugfs_card_root;
308 328
309 platform->debugfs_platform_root = debugfs_create_dir(platform->name, 329 platform->debugfs_platform_root = soc_debugfs_create_dir(debugfs_card_root,
310 debugfs_card_root); 330 "platform:%s", platform->name);
311 if (!platform->debugfs_platform_root) { 331 if (!platform->debugfs_platform_root) {
312 dev_warn(platform->dev, 332 dev_warn(platform->dev,
313 "ASoC: Failed to create platform debugfs directory\n"); 333 "ASoC: Failed to create platform debugfs directory\n");