Message ID | 1428513684-26577-1-git-send-email-festevam@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Apr 08, 2015 at 02:21:24PM -0300, Fabio Estevam wrote: > From: Fabio Estevam <fabio.estevam@freescale.com> > > Since commit 81c7cfd1b22a0 ("ASoC: Move debugfs registration to the > component level") ASoC core code deals with registering debugfs, so we > should not be creating the debugfs directory locally in order to avoid > the following warning: > > fsl-ssi-dai 2028000.ssi: ASoC: Failed to create component debugfs directory > > Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> > --- > Changes since v1: > - Only remove dir creation/remove as suggested by Mark Brown > diff --git a/sound/soc/fsl/fsl_ssi_dbg.c b/sound/soc/fsl/fsl_ssi_dbg.c > index 5469ffb..46cea84 100644 > --- a/sound/soc/fsl/fsl_ssi_dbg.c > +++ b/sound/soc/fsl/fsl_ssi_dbg.c > @@ -142,22 +142,15 @@ static const struct file_operations fsl_ssi_stats_ops = { > > int fsl_ssi_debugfs_create(struct fsl_ssi_dbg *ssi_dbg, struct device *dev) > { > - ssi_dbg->dbg_dir = debugfs_create_dir(dev_name(dev), NULL); > - if (!ssi_dbg->dbg_dir) > + ssi_dbg->dbg_stats = debugfs_create_file("stats", S_IRUGO, NULL, > + ssi_dbg, &fsl_ssi_stats_ops); > + if (!ssi_dbg->dbg_stats) > return -ENOMEM; > > - ssi_dbg->dbg_stats = debugfs_create_file("stats", S_IRUGO, > - ssi_dbg->dbg_dir, ssi_dbg, &fsl_ssi_stats_ops); It seems that dropping the dbg_dir and using NULL will make the stats become an orphan inside the debugfs. I am wondering if we can get the dbg_dir from the component so as to put this stats under the directory of SSIn as before. Nicolin
On 04/09/2015 09:49 AM, Nicolin Chen wrote: > On Wed, Apr 08, 2015 at 02:21:24PM -0300, Fabio Estevam wrote: >> From: Fabio Estevam <fabio.estevam@freescale.com> >> >> Since commit 81c7cfd1b22a0 ("ASoC: Move debugfs registration to the >> component level") ASoC core code deals with registering debugfs, so we >> should not be creating the debugfs directory locally in order to avoid >> the following warning: >> >> fsl-ssi-dai 2028000.ssi: ASoC: Failed to create component debugfs directory >> >> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> >> --- >> Changes since v1: >> - Only remove dir creation/remove as suggested by Mark Brown > >> diff --git a/sound/soc/fsl/fsl_ssi_dbg.c b/sound/soc/fsl/fsl_ssi_dbg.c >> index 5469ffb..46cea84 100644 >> --- a/sound/soc/fsl/fsl_ssi_dbg.c >> +++ b/sound/soc/fsl/fsl_ssi_dbg.c >> @@ -142,22 +142,15 @@ static const struct file_operations fsl_ssi_stats_ops = { >> >> int fsl_ssi_debugfs_create(struct fsl_ssi_dbg *ssi_dbg, struct device *dev) >> { >> - ssi_dbg->dbg_dir = debugfs_create_dir(dev_name(dev), NULL); >> - if (!ssi_dbg->dbg_dir) >> + ssi_dbg->dbg_stats = debugfs_create_file("stats", S_IRUGO, NULL, >> + ssi_dbg, &fsl_ssi_stats_ops); >> + if (!ssi_dbg->dbg_stats) >> return -ENOMEM; >> >> - ssi_dbg->dbg_stats = debugfs_create_file("stats", S_IRUGO, >> - ssi_dbg->dbg_dir, ssi_dbg, &fsl_ssi_stats_ops); > > It seems that dropping the dbg_dir and using NULL will make the stats > become an orphan inside the debugfs. I am wondering if we can get the > dbg_dir from the component so as to put this stats under the directory > of SSIn as before. That would be the right thing I guess. But the original code registers a top-level debugfs directory with the name of the device. Whereas the debugfs directory for the component is created in asoc/CARD_NAME/. I don't see how these two could collide? I think the patch is trying to fix the wrong thing, the issue for the collision is something else. - Lars
diff --git a/sound/soc/fsl/fsl_ssi.h b/sound/soc/fsl/fsl_ssi.h index 5065105..68aef90 100644 --- a/sound/soc/fsl/fsl_ssi.h +++ b/sound/soc/fsl/fsl_ssi.h @@ -211,7 +211,6 @@ struct device; #if IS_ENABLED(CONFIG_DEBUG_FS) struct fsl_ssi_dbg { - struct dentry *dbg_dir; struct dentry *dbg_stats; struct { diff --git a/sound/soc/fsl/fsl_ssi_dbg.c b/sound/soc/fsl/fsl_ssi_dbg.c index 5469ffb..46cea84 100644 --- a/sound/soc/fsl/fsl_ssi_dbg.c +++ b/sound/soc/fsl/fsl_ssi_dbg.c @@ -142,22 +142,15 @@ static const struct file_operations fsl_ssi_stats_ops = { int fsl_ssi_debugfs_create(struct fsl_ssi_dbg *ssi_dbg, struct device *dev) { - ssi_dbg->dbg_dir = debugfs_create_dir(dev_name(dev), NULL); - if (!ssi_dbg->dbg_dir) + ssi_dbg->dbg_stats = debugfs_create_file("stats", S_IRUGO, NULL, + ssi_dbg, &fsl_ssi_stats_ops); + if (!ssi_dbg->dbg_stats) return -ENOMEM; - ssi_dbg->dbg_stats = debugfs_create_file("stats", S_IRUGO, - ssi_dbg->dbg_dir, ssi_dbg, &fsl_ssi_stats_ops); - if (!ssi_dbg->dbg_stats) { - debugfs_remove(ssi_dbg->dbg_dir); - return -ENOMEM; - } - return 0; } void fsl_ssi_debugfs_remove(struct fsl_ssi_dbg *ssi_dbg) { debugfs_remove(ssi_dbg->dbg_stats); - debugfs_remove(ssi_dbg->dbg_dir); }