RE: [PATCH v7 12/14] cpufreq: Add Kryo CPU scaling driver

From: ilialin
Date: Thu May 17 2018 - 03:23:58 EST




> -----Original Message-----
> From: ilialin@xxxxxxxxxxxxxx <ilialin@xxxxxxxxxxxxxx>
> Sent: Thursday, May 17, 2018 10:51
> To: 'Viresh Kumar' <viresh.kumar@xxxxxxxxxx>; 'Amit Kucheria'
> <amit.kucheria@xxxxxxxxxx>
> Cc: 'Michael Turquette' <mturquette@xxxxxxxxxxxx>; 'sboyd@xxxxxxxxxx'
> <sboyd@xxxxxxxxxx>; 'Rob Herring' <robh@xxxxxxxxxx>; 'Mark Rutland'
> <mark.rutland@xxxxxxx>; 'nm@xxxxxx' <nm@xxxxxx>;
> 'lgirdwood@xxxxxxxxx' <lgirdwood@xxxxxxxxx>; 'broonie@xxxxxxxxxx'
> <broonie@xxxxxxxxxx>; 'Andy Gross' <andy.gross@xxxxxxxxxx>; 'David Brown'
> <david.brown@xxxxxxxxxx>; 'catalin.marinas@xxxxxxx'
> <catalin.marinas@xxxxxxx>; 'will.deacon@xxxxxxx'
> <will.deacon@xxxxxxx>; 'Rafael J. Wysocki' <rjw@xxxxxxxxxxxxx>; 'linux-
> clk@xxxxxxxxxxxxxxx' <linux-clk@xxxxxxxxxxxxxxx>;
> 'devicetree@xxxxxxxxxxxxxxx' <devicetree@xxxxxxxxxxxxxxx>; 'LKML' <linux-
> kernel@xxxxxxxxxxxxxxx>; 'Linux PM list' <linux-pm@xxxxxxxxxxxxxxx>;
'linux-
> arm-msm@xxxxxxxxxxxxxxx' <linux-arm-msm@xxxxxxxxxxxxxxx>; 'linux-
> soc@xxxxxxxxxxxxxxx' <linux-soc@xxxxxxxxxxxxxxx>; 'lakml' <linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx>; 'Rajendra Nayak' <rnayak@xxxxxxxxxxxxxx>;
> 'nicolas.dechesne@xxxxxxxxxx' <nicolas.dechesne@xxxxxxxxxx>;
> 'celster@xxxxxxxxxxxxxx' <celster@xxxxxxxxxxxxxx>;
> 'tfinkel@xxxxxxxxxxxxxx' <tfinkel@xxxxxxxxxxxxxx>
> Subject: RE: [PATCH v7 12/14] cpufreq: Add Kryo CPU scaling driver
>
>
>
> > -----Original Message-----
> > From: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
> > Sent: Wednesday, May 16, 2018 17:12
> > To: Amit Kucheria <amit.kucheria@xxxxxxxxxx>
> > Cc: Ilia Lin <ilialin@xxxxxxxxxxxxxx>; Michael Turquette
> > <mturquette@xxxxxxxxxxxx>; sboyd@xxxxxxxxxx; Rob Herring
> > <robh@xxxxxxxxxx>; Mark Rutland <mark.rutland@xxxxxxx>; nm@xxxxxx;
> > lgirdwood@xxxxxxxxx; broonie@xxxxxxxxxx; Andy Gross
> > <andy.gross@xxxxxxxxxx>; David Brown <david.brown@xxxxxxxxxx>;
> > catalin.marinas@xxxxxxx; will.deacon@xxxxxxx; Rafael J. Wysocki
> > <rjw@xxxxxxxxxxxxx>; linux-clk@xxxxxxxxxxxxxxx;
> > devicetree@xxxxxxxxxxxxxxx; LKML <linux-kernel@xxxxxxxxxxxxxxx>; Linux
> > PM list <linux-pm@xxxxxxxxxxxxxxx>; linux-arm-msm@xxxxxxxxxxxxxxx;
> > linux- soc@xxxxxxxxxxxxxxx; lakml
> > <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>;
> > Rajendra Nayak <rnayak@xxxxxxxxxxxxxx>; nicolas.dechesne@xxxxxxxxxx;
> > celster@xxxxxxxxxxxxxx; tfinkel@xxxxxxxxxxxxxx
> > Subject: Re: [PATCH v7 12/14] cpufreq: Add Kryo CPU scaling driver
> >
> > On 16-05-18, 16:12, Amit Kucheria wrote:
> > > > + ret = PTR_ERR_OR_ZERO(opp_temp =
> > > > +
> > dev_pm_opp_set_supported_hw(cpu_dev,&versions,1));
> > > > + if (0 > ret)
> > >
> > > Any particular reason to prefer this over (ret < 0) that is
> > > generally used? I've seen it used to avoid the == vs. = typos, but
> > > not for other comparisons.
> > >
> > > Suggest sticking to what is commonly used i.e. ret < 0.
> > >
> > > > + goto free_opp;
> > > > +
> > > > + cpu_dev = get_cpu_device(GOLD_LEAD);
> > >
> > > Error check cpu_dev here?
> > >
> > > > + ret = PTR_ERR_OR_ZERO(opp_temp =
> > > > +
> > dev_pm_opp_set_supported_hw(cpu_dev,&versions,1));
> > > > + if (0 > ret)
> > > > + goto free_opp;
> >
> > The goto here is wrong
>
> If we are here, then the first dev_pm_opp_set_supported_hw() succeeded.
> And should be deallocated before exit with error.

My bad. Got you.

>
> >
> > > > +
> > > > +
> > > > + ret =
> > PTR_ERR_OR_ZERO(platform_device_register_simple("cpufreq-dt",
> > > > + -1,
> > > > + NULL, 0));
> > > > +
> > > > + if (0 == ret)
> > > > + return 0;
> > > > +
> > > > +free_opp:
> > > > + dev_pm_opp_put_supported_hw(opp_temp);
> > >
> > > This is not needed because dev_pm_opp_set_supported_hw will free
> > > memory in case of failure. This call in only needed in case of a
> > > successful get.
> >
> > But this is still required for the case where platform device
registration fails.
> >
> > --
> > viresh