[PATCH 1/2] firmware: arm_scmi: Keep the discrete clock rates sorted

Sudeep Holla sudeep.holla at arm.com
Thu Jul 9 05:47:13 EDT 2020


On Thu, Jul 09, 2020 at 08:53:44AM +0000, Dien Pham wrote:
> Dear Sudeep-san,
> 
> > > >+}
> > > >+
> > > > static int
> > > > scmi_clock_describe_rates_get(const struct scmi_handle *handle, u32 clk_id,
> > > > 			      struct scmi_clock_info *clk) @@ -184,8 +193,10 @@ 
> > > >scmi_clock_describe_rates_get(const struct scmi_handle *handle, u32 clk_id,
> > > > 		 */
> > > > 	} while (num_returned && num_remaining);
> > > >
> > > >-	if (rate_discrete)
> > > >+	if (rate_discrete) {
> > > > 		clk->list.num_rates = tot_rate_cnt;
> > > >+		sort(rate, tot_rate_cnt, sizeof(*rate), rate_cmp_func, NULL);
> > >
> > > About warning of above line, I think it relates to below snip of code:
> > >                 if (tot_rate_cnt + num_returned > SCMI_MAX_NUM_RATES) {
> > >                         dev_err(handle->dev, "No. of rates > MAX_NUM_RATES");
> > >                         break;
> > >                 }
> > >
> > 
> > I don't understand your comment and relation to above warning.
> 
> I'd like to mention about below warning.
> 
> >drivers/firmware/arm_scmi/clock.c: In function 'scmi_clock_protocol_init':
> >drivers/firmware/arm_scmi/clock.c:197:3: warning: 'rate' may be used uninitialized in this function [-Wmaybe-uninitialized]

Ah ok, sorry I didn't see this one. I am unable to observe this in the
default build, I will check with W=1. Thanks for that.

> >  sort(rate, tot_rate_cnt, sizeof(*rate), rate_cmp_func, NULL);
> 
> The warning for line
> > > >+		sort(rate, tot_rate_cnt, sizeof(*rate), rate_cmp_func, NULL);
> 
> But, I think that it is affected by 'break' of below line. And for fixing
> this warning, I think we should fix inside this 'if' block.

OK will take a look.

-- 
Regards,
Sudeep



More information about the linux-arm-kernel mailing list