RE: [PATCH] PM / devfreq: Fix incorrect type issue.

From: Xiaolong Ye
Date: Fri Sep 11 2015 - 03:08:52 EST


>
>
> > time_in_state in struct devfreq is defined as unsigned long, so
> > devm_kzalloc should use sizeof(unsigned long) as argument instead of
> > sizeof(unsigned int), otherwise it will cause unexpected result in
> > 64bit system.
> >
> > Signed-off-by: Xiaolong Ye <yexl@xxxxxxxxxxx>
> > Signed-off-by: Kevin Liu <kliu5@xxxxxxxxxxx>
>
> Thanks!
>
> Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx>
>
>
> Which SoC are you working with?

I am working on MARVELL PXA1928 SoC platform(with 4 ARM CA53 cores), and we are using devfreq framework to implement our
ddr frequency change design, I found this issue when adapting our driver to 64bit system.

> Are you going to upstream your 64bit devfreq driver soon?

Currently, we donât have a plan to upstream our ddr devfreq driver.

>
>
> Cheers,
> MyungJoo
>
> > ---
> > drivers/devfreq/devfreq.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
> > index ca1b362..ac9845a 100644
> > --- a/drivers/devfreq/devfreq.c
> > +++ b/drivers/devfreq/devfreq.c
> > @@ -482,7 +482,7 @@ struct devfreq *devfreq_add_device(struct device
> *dev,
> > devfreq->profile->max_state *
> > devfreq->profile->max_state,
> > GFP_KERNEL);
> > - devfreq->time_in_state = devm_kzalloc(dev, sizeof(unsigned int) *
> > + devfreq->time_in_state = devm_kzalloc(dev, sizeof(unsigned long) *
> > devfreq->profile->max_state,
> > GFP_KERNEL);
> > devfreq->last_stat_updated = jiffies;
> > --
> > 1.7.9.5