Re: [PATCH v3] cpufreq: scmi: Skip SCMI devices that aren't used by the CPUs

Cristian Marussi
2025-05-07T13:49:31Z

On Wed, May 07, 2025 at 04:18:34PM +0300, Dan Carpenter wrote:
> On Wed, May 07, 2025 at 12:59:45PM +0100, Cristian Marussi wrote:
> > > +static bool scmi_dev_used_by_cpus(struct device *scmi_dev)
> > > +{
> > > + struct device_node *scmi_np = dev_of_node(scmi_dev);
> > > + struct device_node *np;
> > > + struct device *cpu_dev;
> > > + int cpu, idx;
> > > +
> > > + if (!scmi_np)
> > > + return false;
> > > +
> > > + for_each_possible_cpu(cpu) {
> > > + cpu_dev = get_cpu_device(cpu);
> > > + if (!cpu_dev)
> > > + continue;
> > > +
> > > + np = dev_of_node(cpu_dev);
> > > +
> > > + if (of_parse_phandle(np, "clocks", 0) == scmi_np)
> >
> > Shouldn't this, on Success, be released by an of_node_put() (or, BETTER,
> > by some OF-related cleanup.h magic...)
> >
>
> The cleanup.h magic is __free(of_node_put) but dev_of_node() doesn't
> take a reference so I don't think it's required.
>

I was referrring to the 2 (possibly) successfull of_parse_phandle() needs an
of_put() before returning. (at least looking at of_parse_phandle() comments)

Thanks,
Cristian