diff options
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/soc-core.c | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index f5b356f8acfb..e4ab36daf3f7 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c | |||
@@ -1254,21 +1254,35 @@ static const struct file_operations codec_reg_fops = { | |||
1254 | 1254 | ||
1255 | static void soc_init_codec_debugfs(struct snd_soc_codec *codec) | 1255 | static void soc_init_codec_debugfs(struct snd_soc_codec *codec) |
1256 | { | 1256 | { |
1257 | char codec_root[128]; | ||
1258 | |||
1259 | snprintf(codec_root, sizeof(codec_root), | ||
1260 | "%s-%s", dev_name(codec->socdev->dev), codec->name); | ||
1261 | |||
1262 | codec->debugfs_codec_root = debugfs_create_dir(codec_root, | ||
1263 | debugfs_root); | ||
1264 | if (!codec->debugfs_codec_root) { | ||
1265 | printk(KERN_WARNING | ||
1266 | "ASoC: Failed to create codec debugfs directory\n"); | ||
1267 | return; | ||
1268 | } | ||
1269 | |||
1257 | codec->debugfs_reg = debugfs_create_file("codec_reg", 0644, | 1270 | codec->debugfs_reg = debugfs_create_file("codec_reg", 0644, |
1258 | debugfs_root, codec, | 1271 | codec->debugfs_codec_root, |
1259 | &codec_reg_fops); | 1272 | codec, &codec_reg_fops); |
1260 | if (!codec->debugfs_reg) | 1273 | if (!codec->debugfs_reg) |
1261 | printk(KERN_WARNING | 1274 | printk(KERN_WARNING |
1262 | "ASoC: Failed to create codec register debugfs file\n"); | 1275 | "ASoC: Failed to create codec register debugfs file\n"); |
1263 | 1276 | ||
1264 | codec->debugfs_pop_time = debugfs_create_u32("dapm_pop_time", 0744, | 1277 | codec->debugfs_pop_time = debugfs_create_u32("dapm_pop_time", 0744, |
1265 | debugfs_root, | 1278 | codec->debugfs_codec_root, |
1266 | &codec->pop_time); | 1279 | &codec->pop_time); |
1267 | if (!codec->debugfs_pop_time) | 1280 | if (!codec->debugfs_pop_time) |
1268 | printk(KERN_WARNING | 1281 | printk(KERN_WARNING |
1269 | "Failed to create pop time debugfs file\n"); | 1282 | "Failed to create pop time debugfs file\n"); |
1270 | 1283 | ||
1271 | codec->debugfs_dapm = debugfs_create_dir("dapm", debugfs_root); | 1284 | codec->debugfs_dapm = debugfs_create_dir("dapm", |
1285 | codec->debugfs_codec_root); | ||
1272 | if (!codec->debugfs_dapm) | 1286 | if (!codec->debugfs_dapm) |
1273 | printk(KERN_WARNING | 1287 | printk(KERN_WARNING |
1274 | "Failed to create DAPM debugfs directory\n"); | 1288 | "Failed to create DAPM debugfs directory\n"); |
@@ -1278,9 +1292,7 @@ static void soc_init_codec_debugfs(struct snd_soc_codec *codec) | |||
1278 | 1292 | ||
1279 | static void soc_cleanup_codec_debugfs(struct snd_soc_codec *codec) | 1293 | static void soc_cleanup_codec_debugfs(struct snd_soc_codec *codec) |
1280 | { | 1294 | { |
1281 | debugfs_remove_recursive(codec->debugfs_dapm); | 1295 | debugfs_remove_recursive(codec->debugfs_codec_root); |
1282 | debugfs_remove(codec->debugfs_pop_time); | ||
1283 | debugfs_remove(codec->debugfs_reg); | ||
1284 | } | 1296 | } |
1285 | 1297 | ||
1286 | #else | 1298 | #else |