From 73eeede06c2ab85b0fa804a0262994987d02aa99 Mon Sep 17 00:00:00 2001 From: Peter Ujfalusi Date: Thu, 1 Oct 2009 10:32:47 +0300 Subject: [PATCH] --- yaml --- r: 170159 b: refs/heads/master c: 88439ac793934a47f47ad285656b63d09f5937c8 h: refs/heads/master i: 170157: 9b2fc1cfdc10807377b1119146a2d5418981af81 170155: 9f126988585b244ee6fa7fe105753503890aa52e 170151: f2cdf27bd7c3e6c01e97bff9d144086562491c56 170143: e447554a701aa84bcea5bae821e0ee1a9a04df53 v: v3 --- [refs] | 2 +- trunk/include/sound/soc.h | 1 + trunk/sound/soc/soc-core.c | 26 +++++++++++++++++++------- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index 2229f3cb9581..d1a4b784241c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 17c86a32076f0119437a017de70a583431f4bf51 +refs/heads/master: 88439ac793934a47f47ad285656b63d09f5937c8 diff --git a/trunk/include/sound/soc.h b/trunk/include/sound/soc.h index 475cb7ed6bec..0b1f917a53ba 100644 --- a/trunk/include/sound/soc.h +++ b/trunk/include/sound/soc.h @@ -413,6 +413,7 @@ struct snd_soc_codec { unsigned int num_dai; #ifdef CONFIG_DEBUG_FS + struct dentry *debugfs_codec_root; struct dentry *debugfs_reg; struct dentry *debugfs_pop_time; struct dentry *debugfs_dapm; diff --git a/trunk/sound/soc/soc-core.c b/trunk/sound/soc/soc-core.c index f5b356f8acfb..e4ab36daf3f7 100644 --- a/trunk/sound/soc/soc-core.c +++ b/trunk/sound/soc/soc-core.c @@ -1254,21 +1254,35 @@ static const struct file_operations codec_reg_fops = { static void soc_init_codec_debugfs(struct snd_soc_codec *codec) { + char codec_root[128]; + + snprintf(codec_root, sizeof(codec_root), + "%s-%s", dev_name(codec->socdev->dev), codec->name); + + codec->debugfs_codec_root = debugfs_create_dir(codec_root, + debugfs_root); + if (!codec->debugfs_codec_root) { + printk(KERN_WARNING + "ASoC: Failed to create codec debugfs directory\n"); + return; + } + codec->debugfs_reg = debugfs_create_file("codec_reg", 0644, - debugfs_root, codec, - &codec_reg_fops); + codec->debugfs_codec_root, + codec, &codec_reg_fops); if (!codec->debugfs_reg) printk(KERN_WARNING "ASoC: Failed to create codec register debugfs file\n"); codec->debugfs_pop_time = debugfs_create_u32("dapm_pop_time", 0744, - debugfs_root, + codec->debugfs_codec_root, &codec->pop_time); if (!codec->debugfs_pop_time) printk(KERN_WARNING "Failed to create pop time debugfs file\n"); - codec->debugfs_dapm = debugfs_create_dir("dapm", debugfs_root); + codec->debugfs_dapm = debugfs_create_dir("dapm", + codec->debugfs_codec_root); if (!codec->debugfs_dapm) printk(KERN_WARNING "Failed to create DAPM debugfs directory\n"); @@ -1278,9 +1292,7 @@ static void soc_init_codec_debugfs(struct snd_soc_codec *codec) static void soc_cleanup_codec_debugfs(struct snd_soc_codec *codec) { - debugfs_remove_recursive(codec->debugfs_dapm); - debugfs_remove(codec->debugfs_pop_time); - debugfs_remove(codec->debugfs_reg); + debugfs_remove_recursive(codec->debugfs_codec_root); } #else