Quoting Amit Kucheria (2019-08-21 05:55:39) > 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. > Yeah. I was suggesting making a global instead of doing the lookup, but I guess the lookup is fine and avoids a global variable. It's all debugfs so it doesn't really matter. Sorry! Do whatever then.