On Mon, Aug 19, 2019 at 7:57 PM Stephen Boyd <swboyd@xxxxxxxxxxxx> wrote: > > Quoting Amit Kucheria (2019-08-19 00:58:23) > > On Sat, Aug 17, 2019 at 9:37 AM Stephen Boyd <swboyd@xxxxxxxxxxxx> wrote: > > > > + > > > > +static void tsens_debug_init(struct platform_device *pdev) > > > > +{ > > > > + struct tsens_priv *priv = platform_get_drvdata(pdev); > > > > + struct dentry *root, *file; > > > > + > > > > + root = debugfs_lookup("tsens", NULL); > > > > > > Does this get created many times? Why doesn't tsens have a pointer to > > > the root saved away somewhere globally? > > > > > > > I guess we could call the statement below to create the root dir and > > save away the pointer. I was trying to avoid #ifdef CONFIG_DEBUG_FS in > > init_common() and instead have all of it in a single function that > > gets called once per instance of the tsens controller. > > Or call this code many times and try to create the tsens node if > !tsens_root exists where the variable is some global. So I didn't quite understand this statement. The change you're requesting is that the 'root' variable below should be a global? tsens_probe() will get called twice on platforms with two instances of the controller. So I will need to check some place if the 'tsens' root dir already exists in debugfs, no? That is what I'm doing below. > > > > > > + if (!root) > > > > + priv->debug_root = debugfs_create_dir("tsens", NULL); > > > > + else > > > > + priv->debug_root = root; > > > > +