On 5 October 2016 at 21:01, Viresh Kumar <viresh.kumar@xxxxxxxxxx> wrote: > Thanks for accepting all the comments :) > > On 05-10-16, 14:04, Markus Mayer wrote: >> Is there an easy way for me to know via the framework whether init is >> being called for the first time vs. init is being called on a >> different core after a previous attempt to initialize on another core >> failed? >> >> I could use a driver-global variable for the driver to remember if it >> has been initialized, but that seems a bit hacky. > > You don't really need to have any special code here, specially for the case that > may never get hit. For example, if we fail to initialize something for CPU0, > cpufreq core will try calling this routine for other CPUs as well. I don't think > there is anything wrong in letting cpufreq core trying that. Why stop it or > return early? It wouldn't happen normally, unless there is a bug in there. During early development, when the driver couldn't fully register, I would see the init() function called four times, i.e. once for each core. If the first call succeeded, that was it. It would only get called once. But if it failed, all cores would try to register. And I wanted to avoid spilling the same error message four times. I'll look at that again. It may have had something to do with how the driver worked back then. If it doesn't happen anymore, I'll just get rid of this code. Thanks, -Markus -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html