linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] thermal: cpu_cooling: Remove usage of devm functions
@ 2015-08-19  6:22 Vaishali Thakkar
  2015-08-19  8:24 ` Viresh Kumar
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Vaishali Thakkar @ 2015-08-19  6:22 UTC (permalink / raw)
  To: Zhang Rui; +Cc: Eduardo Valentin, linux-pm, linux-kernel

In the function cpufreq_get_requested_power, the memory allocated
for load_cpu is live within the function only. And after the
allocation it is immediately freed with devm_kfree. There is no
need to allocate memory for load_cpu with devm function so replace
devm_kcalloc with kcalloc and devm_kfree with kfree.

Signed-off-by: Vaishali Thakkar <vthakkar1994@gmail.com>
---
This patch is having one checkpatch.pl warning which suggests that
kfree(NULL) is safe. But I think leaving code with if is nice
because it reflects the fact that kcalloc was under an if. So, I
have ignored checkpatch. If maintainer wants me to go for changing
things, I am fine with it too.
---
 drivers/thermal/cpu_cooling.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/thermal/cpu_cooling.c b/drivers/thermal/cpu_cooling.c
index 620dcd4..babf8b3 100644
--- a/drivers/thermal/cpu_cooling.c
+++ b/drivers/thermal/cpu_cooling.c
@@ -584,8 +584,7 @@ static int cpufreq_get_requested_power(struct thermal_cooling_device *cdev,
 	if (trace_thermal_power_cpu_get_power_enabled()) {
 		u32 ncpus = cpumask_weight(&cpufreq_device->allowed_cpus);
 
-		load_cpu = devm_kcalloc(&cdev->device, ncpus, sizeof(*load_cpu),
-					GFP_KERNEL);
+		load_cpu = kcalloc(ncpus, sizeof(*load_cpu), GFP_KERNEL);
 	}
 
 	for_each_cpu(cpu, &cpufreq_device->allowed_cpus) {
@@ -609,7 +608,7 @@ static int cpufreq_get_requested_power(struct thermal_cooling_device *cdev,
 	ret = get_static_power(cpufreq_device, tz, freq, &static_power);
 	if (ret) {
 		if (load_cpu)
-			devm_kfree(&cdev->device, load_cpu);
+			kfree(load_cpu);
 		return ret;
 	}
 
@@ -618,7 +617,7 @@ static int cpufreq_get_requested_power(struct thermal_cooling_device *cdev,
 			&cpufreq_device->allowed_cpus,
 			freq, load_cpu, i, dynamic_power, static_power);
 
-		devm_kfree(&cdev->device, load_cpu);
+		kfree(load_cpu);
 	}
 
 	*power = static_power + dynamic_power;
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH] thermal: cpu_cooling: Remove usage of devm functions
  2015-08-19  6:22 [PATCH] thermal: cpu_cooling: Remove usage of devm functions Vaishali Thakkar
@ 2015-08-19  8:24 ` Viresh Kumar
  2015-08-19 11:38   ` Vaishali Thakkar
  2015-08-19 11:57   ` Vaishali Thakkar
  2015-08-27  1:57 ` Viresh Kumar
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 9+ messages in thread
From: Viresh Kumar @ 2015-08-19  8:24 UTC (permalink / raw)
  To: Vaishali Thakkar; +Cc: Zhang Rui, Eduardo Valentin, Linux PM list, linux-kernel

On Wed, Aug 19, 2015 at 11:52 AM, Vaishali Thakkar
<vthakkar1994@gmail.com> wrote:
> In the function cpufreq_get_requested_power, the memory allocated
> for load_cpu is live within the function only. And after the
> allocation it is immediately freed with devm_kfree. There is no
> need to allocate memory for load_cpu with devm function so replace
> devm_kcalloc with kcalloc and devm_kfree with kfree.
>
> Signed-off-by: Vaishali Thakkar <vthakkar1994@gmail.com>
> ---
> This patch is having one checkpatch.pl warning which suggests that
> kfree(NULL) is safe. But I think leaving code with if is nice
> because it reflects the fact that kcalloc was under an if. So, I
> have ignored checkpatch. If maintainer wants me to go for changing
> things, I am fine with it too.

I will rather ask you to do this:

diff --git a/drivers/thermal/cpu_cooling.c b/drivers/thermal/cpu_cooling.c
index 620dcd405ff6..a04055ea5d94 100644
--- a/drivers/thermal/cpu_cooling.c
+++ b/drivers/thermal/cpu_cooling.c
@@ -584,8 +584,8 @@ static int cpufreq_get_requested_power(struct
thermal_cooling_device *cdev,
        if (trace_thermal_power_cpu_get_power_enabled()) {
                u32 ncpus = cpumask_weight(&cpufreq_device->allowed_cpus);

-               load_cpu = devm_kcalloc(&cdev->device, ncpus, sizeof(*load_cpu),
-                                       GFP_KERNEL);
+               load_cpu = kcalloc(&cdev->device, ncpus, sizeof(*load_cpu),
+                                  GFP_KERNEL);
        }

        for_each_cpu(cpu, &cpufreq_device->allowed_cpus) {
@@ -607,22 +607,20 @@ static int cpufreq_get_requested_power(struct
thermal_cooling_device *cdev,

        dynamic_power = get_dynamic_power(cpufreq_device, freq);
        ret = get_static_power(cpufreq_device, tz, freq, &static_power);
-       if (ret) {
-               if (load_cpu)
-                       devm_kfree(&cdev->device, load_cpu);
-               return ret;
-       }
+       if (ret)
+               goto free;

-       if (load_cpu) {
+       if (load_cpu)
                trace_thermal_power_cpu_get_power(
                        &cpufreq_device->allowed_cpus,
                        freq, load_cpu, i, dynamic_power, static_power);

-               devm_kfree(&cdev->device, load_cpu);
-       }
-
        *power = static_power + dynamic_power;
-       return 0;
+
+free:
+       kfree(&cdev->device, load_cpu);
+
+       return ret;
 }

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH] thermal: cpu_cooling: Remove usage of devm functions
  2015-08-19  8:24 ` Viresh Kumar
@ 2015-08-19 11:38   ` Vaishali Thakkar
  2015-08-19 11:57   ` Vaishali Thakkar
  1 sibling, 0 replies; 9+ messages in thread
From: Vaishali Thakkar @ 2015-08-19 11:38 UTC (permalink / raw)
  To: Viresh Kumar; +Cc: Zhang Rui, Eduardo Valentin, Linux PM list, linux-kernel

On Wed, Aug 19, 2015 at 1:54 PM, Viresh Kumar <viresh.kumar@linaro.org> wrote:
> On Wed, Aug 19, 2015 at 11:52 AM, Vaishali Thakkar
> <vthakkar1994@gmail.com> wrote:
>> In the function cpufreq_get_requested_power, the memory allocated
>> for load_cpu is live within the function only. And after the
>> allocation it is immediately freed with devm_kfree. There is no
>> need to allocate memory for load_cpu with devm function so replace
>> devm_kcalloc with kcalloc and devm_kfree with kfree.
>>
>> Signed-off-by: Vaishali Thakkar <vthakkar1994@gmail.com>
>> ---
>> This patch is having one checkpatch.pl warning which suggests that
>> kfree(NULL) is safe. But I think leaving code with if is nice
>> because it reflects the fact that kcalloc was under an if. So, I
>> have ignored checkpatch. If maintainer wants me to go for changing
>> things, I am fine with it too.
>
> I will rather ask you to do this:

Ok. I was not sure about introducing new label. Thanks.

I will send v2 with the changes you pointed.

> diff --git a/drivers/thermal/cpu_cooling.c b/drivers/thermal/cpu_cooling.c
> index 620dcd405ff6..a04055ea5d94 100644
> --- a/drivers/thermal/cpu_cooling.c
> +++ b/drivers/thermal/cpu_cooling.c
> @@ -584,8 +584,8 @@ static int cpufreq_get_requested_power(struct
> thermal_cooling_device *cdev,
>         if (trace_thermal_power_cpu_get_power_enabled()) {
>                 u32 ncpus = cpumask_weight(&cpufreq_device->allowed_cpus);
>
> -               load_cpu = devm_kcalloc(&cdev->device, ncpus, sizeof(*load_cpu),
> -                                       GFP_KERNEL);
> +               load_cpu = kcalloc(&cdev->device, ncpus, sizeof(*load_cpu),
> +                                  GFP_KERNEL);
>         }
>
>         for_each_cpu(cpu, &cpufreq_device->allowed_cpus) {
> @@ -607,22 +607,20 @@ static int cpufreq_get_requested_power(struct
> thermal_cooling_device *cdev,
>
>         dynamic_power = get_dynamic_power(cpufreq_device, freq);
>         ret = get_static_power(cpufreq_device, tz, freq, &static_power);
> -       if (ret) {
> -               if (load_cpu)
> -                       devm_kfree(&cdev->device, load_cpu);
> -               return ret;
> -       }
> +       if (ret)
> +               goto free;
>
> -       if (load_cpu) {
> +       if (load_cpu)
>                 trace_thermal_power_cpu_get_power(
>                         &cpufreq_device->allowed_cpus,
>                         freq, load_cpu, i, dynamic_power, static_power);
>
> -               devm_kfree(&cdev->device, load_cpu);
> -       }
> -
>         *power = static_power + dynamic_power;
> -       return 0;
> +
> +free:
> +       kfree(&cdev->device, load_cpu);
> +
> +       return ret;
>  }



-- 
Vaishali

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] thermal: cpu_cooling: Remove usage of devm functions
  2015-08-19  8:24 ` Viresh Kumar
  2015-08-19 11:38   ` Vaishali Thakkar
@ 2015-08-19 11:57   ` Vaishali Thakkar
  2015-08-19 12:02     ` Viresh Kumar
  1 sibling, 1 reply; 9+ messages in thread
From: Vaishali Thakkar @ 2015-08-19 11:57 UTC (permalink / raw)
  To: Viresh Kumar; +Cc: Zhang Rui, Eduardo Valentin, Linux PM list, linux-kernel

On Wed, Aug 19, 2015 at 1:54 PM, Viresh Kumar <viresh.kumar@linaro.org> wrote:
> On Wed, Aug 19, 2015 at 11:52 AM, Vaishali Thakkar
> <vthakkar1994@gmail.com> wrote:
>> In the function cpufreq_get_requested_power, the memory allocated
>> for load_cpu is live within the function only. And after the
>> allocation it is immediately freed with devm_kfree. There is no
>> need to allocate memory for load_cpu with devm function so replace
>> devm_kcalloc with kcalloc and devm_kfree with kfree.
>>
>> Signed-off-by: Vaishali Thakkar <vthakkar1994@gmail.com>
>> ---
>> This patch is having one checkpatch.pl warning which suggests that
>> kfree(NULL) is safe. But I think leaving code with if is nice
>> because it reflects the fact that kcalloc was under an if. So, I
>> have ignored checkpatch. If maintainer wants me to go for changing
>> things, I am fine with it too.
>
> I will rather ask you to do this:
>
> diff --git a/drivers/thermal/cpu_cooling.c b/drivers/thermal/cpu_cooling.c
> index 620dcd405ff6..a04055ea5d94 100644
> --- a/drivers/thermal/cpu_cooling.c
> +++ b/drivers/thermal/cpu_cooling.c
> @@ -584,8 +584,8 @@ static int cpufreq_get_requested_power(struct
> thermal_cooling_device *cdev,
>         if (trace_thermal_power_cpu_get_power_enabled()) {
>                 u32 ncpus = cpumask_weight(&cpufreq_device->allowed_cpus);
>
> -               load_cpu = devm_kcalloc(&cdev->device, ncpus, sizeof(*load_cpu),
> -                                       GFP_KERNEL);
> +               load_cpu = kcalloc(&cdev->device, ncpus, sizeof(*load_cpu),
> +                                  GFP_KERNEL);
>         }

Sorry. I forgot to ask you one more thing. devm_kcalloc takes one more
argument then
kcalloc. So, the change I did is correct I guess. And I'm not sure why
you suggested this
change? I assume you just want me to correct in my patch for last
argument. But that line
also comes under 80 characters.

>         for_each_cpu(cpu, &cpufreq_device->allowed_cpus) {
> @@ -607,22 +607,20 @@ static int cpufreq_get_requested_power(struct
> thermal_cooling_device *cdev,
>
>         dynamic_power = get_dynamic_power(cpufreq_device, freq);
>         ret = get_static_power(cpufreq_device, tz, freq, &static_power);
> -       if (ret) {
> -               if (load_cpu)
> -                       devm_kfree(&cdev->device, load_cpu);
> -               return ret;
> -       }
> +       if (ret)
> +               goto free;
>
> -       if (load_cpu) {
> +       if (load_cpu)
>                 trace_thermal_power_cpu_get_power(
>                         &cpufreq_device->allowed_cpus,
>                         freq, load_cpu, i, dynamic_power, static_power);
>
> -               devm_kfree(&cdev->device, load_cpu);
> -       }
> -
>         *power = static_power + dynamic_power;
> -       return 0;
> +
> +free:
> +       kfree(&cdev->device, load_cpu);
> +
> +       return ret;
>  }



-- 
Vaishali

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] thermal: cpu_cooling: Remove usage of devm functions
  2015-08-19 11:57   ` Vaishali Thakkar
@ 2015-08-19 12:02     ` Viresh Kumar
  0 siblings, 0 replies; 9+ messages in thread
From: Viresh Kumar @ 2015-08-19 12:02 UTC (permalink / raw)
  To: Vaishali Thakkar; +Cc: Zhang Rui, Eduardo Valentin, Linux PM list, linux-kernel

On 19-08-15, 17:27, Vaishali Thakkar wrote:
> > I will rather ask you to do this:
> >
> > diff --git a/drivers/thermal/cpu_cooling.c b/drivers/thermal/cpu_cooling.c
> > index 620dcd405ff6..a04055ea5d94 100644
> > --- a/drivers/thermal/cpu_cooling.c
> > +++ b/drivers/thermal/cpu_cooling.c
> > @@ -584,8 +584,8 @@ static int cpufreq_get_requested_power(struct
> > thermal_cooling_device *cdev,
> >         if (trace_thermal_power_cpu_get_power_enabled()) {
> >                 u32 ncpus = cpumask_weight(&cpufreq_device->allowed_cpus);
> >
> > -               load_cpu = devm_kcalloc(&cdev->device, ncpus, sizeof(*load_cpu),
> > -                                       GFP_KERNEL);
> > +               load_cpu = kcalloc(&cdev->device, ncpus, sizeof(*load_cpu),
> > +                                  GFP_KERNEL);
> >         }
> 
> Sorry. I forgot to ask you one more thing. devm_kcalloc takes one more
> argument then
> kcalloc. So, the change I did is correct I guess.

Right, there is an extra argument in my code.

-- 
viresh

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] thermal: cpu_cooling: Remove usage of devm functions
  2015-08-19  6:22 [PATCH] thermal: cpu_cooling: Remove usage of devm functions Vaishali Thakkar
  2015-08-19  8:24 ` Viresh Kumar
@ 2015-08-27  1:57 ` Viresh Kumar
  2015-09-29 16:39   ` Javi Merino
  2015-08-27  8:59 ` Javi Merino
  2015-10-10  8:49 ` Zhang Rui
  3 siblings, 1 reply; 9+ messages in thread
From: Viresh Kumar @ 2015-08-27  1:57 UTC (permalink / raw)
  To: Vaishali Thakkar, Javi Merino
  Cc: Zhang Rui, Eduardo Valentin, Linux PM list, linux-kernel

On Wed, Aug 19, 2015 at 11:52 AM, Vaishali Thakkar
<vthakkar1994@gmail.com> wrote:
> In the function cpufreq_get_requested_power, the memory allocated
> for load_cpu is live within the function only. And after the
> allocation it is immediately freed with devm_kfree. There is no
> need to allocate memory for load_cpu with devm function so replace
> devm_kcalloc with kcalloc and devm_kfree with kfree.
>
> Signed-off-by: Vaishali Thakkar <vthakkar1994@gmail.com>
> ---
> This patch is having one checkpatch.pl warning which suggests that
> kfree(NULL) is safe. But I think leaving code with if is nice
> because it reflects the fact that kcalloc was under an if. So, I
> have ignored checkpatch. If maintainer wants me to go for changing
> things, I am fine with it too.
> ---
>  drivers/thermal/cpu_cooling.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/thermal/cpu_cooling.c b/drivers/thermal/cpu_cooling.c
> index 620dcd4..babf8b3 100644
> --- a/drivers/thermal/cpu_cooling.c
> +++ b/drivers/thermal/cpu_cooling.c
> @@ -584,8 +584,7 @@ static int cpufreq_get_requested_power(struct thermal_cooling_device *cdev,
>         if (trace_thermal_power_cpu_get_power_enabled()) {
>                 u32 ncpus = cpumask_weight(&cpufreq_device->allowed_cpus);
>
> -               load_cpu = devm_kcalloc(&cdev->device, ncpus, sizeof(*load_cpu),
> -                                       GFP_KERNEL);
> +               load_cpu = kcalloc(ncpus, sizeof(*load_cpu), GFP_KERNEL);
>         }
>
>         for_each_cpu(cpu, &cpufreq_device->allowed_cpus) {
> @@ -609,7 +608,7 @@ static int cpufreq_get_requested_power(struct thermal_cooling_device *cdev,
>         ret = get_static_power(cpufreq_device, tz, freq, &static_power);
>         if (ret) {
>                 if (load_cpu)
> -                       devm_kfree(&cdev->device, load_cpu);
> +                       kfree(load_cpu);
>                 return ret;
>         }
>
> @@ -618,7 +617,7 @@ static int cpufreq_get_requested_power(struct thermal_cooling_device *cdev,
>                         &cpufreq_device->allowed_cpus,
>                         freq, load_cpu, i, dynamic_power, static_power);
>
> -               devm_kfree(&cdev->device, load_cpu);
> +               kfree(load_cpu);
>         }
>
>         *power = static_power + dynamic_power;

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>

@Eduardo: Ignore V2 and apply this one :)

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] thermal: cpu_cooling: Remove usage of devm functions
  2015-08-19  6:22 [PATCH] thermal: cpu_cooling: Remove usage of devm functions Vaishali Thakkar
  2015-08-19  8:24 ` Viresh Kumar
  2015-08-27  1:57 ` Viresh Kumar
@ 2015-08-27  8:59 ` Javi Merino
  2015-10-10  8:49 ` Zhang Rui
  3 siblings, 0 replies; 9+ messages in thread
From: Javi Merino @ 2015-08-27  8:59 UTC (permalink / raw)
  To: Vaishali Thakkar; +Cc: Zhang Rui, Eduardo Valentin, linux-pm, linux-kernel

On Wed, Aug 19, 2015 at 07:22:19AM +0100, Vaishali Thakkar wrote:
> In the function cpufreq_get_requested_power, the memory allocated
> for load_cpu is live within the function only. And after the
> allocation it is immediately freed with devm_kfree. There is no
> need to allocate memory for load_cpu with devm function so replace
> devm_kcalloc with kcalloc and devm_kfree with kfree.
> 
> Signed-off-by: Vaishali Thakkar <vthakkar1994@gmail.com>

Acked-by: Javi Merino <javi.merino@arm.com>

> ---
> This patch is having one checkpatch.pl warning which suggests that
> kfree(NULL) is safe. But I think leaving code with if is nice
> because it reflects the fact that kcalloc was under an if. So, I
> have ignored checkpatch. If maintainer wants me to go for changing
> things, I am fine with it too.

I wouldn't have minded changing the

if (load_cpu)
	kfree(load_cpu)

to just "kfree(load_cpu)" but I don't have a strong preference.  I'm
also happy with the patch as it is.

Cheers,
Javi

> ---
>  drivers/thermal/cpu_cooling.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/thermal/cpu_cooling.c b/drivers/thermal/cpu_cooling.c
> index 620dcd4..babf8b3 100644
> --- a/drivers/thermal/cpu_cooling.c
> +++ b/drivers/thermal/cpu_cooling.c
> @@ -584,8 +584,7 @@ static int cpufreq_get_requested_power(struct thermal_cooling_device *cdev,
>  	if (trace_thermal_power_cpu_get_power_enabled()) {
>  		u32 ncpus = cpumask_weight(&cpufreq_device->allowed_cpus);
>  
> -		load_cpu = devm_kcalloc(&cdev->device, ncpus, sizeof(*load_cpu),
> -					GFP_KERNEL);
> +		load_cpu = kcalloc(ncpus, sizeof(*load_cpu), GFP_KERNEL);
>  	}
>  
>  	for_each_cpu(cpu, &cpufreq_device->allowed_cpus) {
> @@ -609,7 +608,7 @@ static int cpufreq_get_requested_power(struct thermal_cooling_device *cdev,
>  	ret = get_static_power(cpufreq_device, tz, freq, &static_power);
>  	if (ret) {
>  		if (load_cpu)
> -			devm_kfree(&cdev->device, load_cpu);
> +			kfree(load_cpu);
>  		return ret;
>  	}
>  
> @@ -618,7 +617,7 @@ static int cpufreq_get_requested_power(struct thermal_cooling_device *cdev,
>  			&cpufreq_device->allowed_cpus,
>  			freq, load_cpu, i, dynamic_power, static_power);
>  
> -		devm_kfree(&cdev->device, load_cpu);
> +		kfree(load_cpu);
>  	}
>  
>  	*power = static_power + dynamic_power;

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] thermal: cpu_cooling: Remove usage of devm functions
  2015-08-27  1:57 ` Viresh Kumar
@ 2015-09-29 16:39   ` Javi Merino
  0 siblings, 0 replies; 9+ messages in thread
From: Javi Merino @ 2015-09-29 16:39 UTC (permalink / raw)
  To: Eduardo Valentin, Zhang Rui
  Cc: Vaishali Thakkar, Viresh Kumar, Linux PM list, linux-kernel

Hi Eduardo, Rui,

On Thu, Aug 27, 2015 at 02:57:08AM +0100, Viresh Kumar wrote:
> On Wed, Aug 19, 2015 at 11:52 AM, Vaishali Thakkar
> <vthakkar1994@gmail.com> wrote:
> > In the function cpufreq_get_requested_power, the memory allocated
> > for load_cpu is live within the function only. And after the
> > allocation it is immediately freed with devm_kfree. There is no
> > need to allocate memory for load_cpu with devm function so replace
> > devm_kcalloc with kcalloc and devm_kfree with kfree.
> >
> > Signed-off-by: Vaishali Thakkar <vthakkar1994@gmail.com>
> > ---
> > This patch is having one checkpatch.pl warning which suggests that
> > kfree(NULL) is safe. But I think leaving code with if is nice
> > because it reflects the fact that kcalloc was under an if. So, I
> > have ignored checkpatch. If maintainer wants me to go for changing
> > things, I am fine with it too.
> > ---
> >  drivers/thermal/cpu_cooling.c | 7 +++----
> >  1 file changed, 3 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/thermal/cpu_cooling.c b/drivers/thermal/cpu_cooling.c
> > index 620dcd4..babf8b3 100644
> > --- a/drivers/thermal/cpu_cooling.c
> > +++ b/drivers/thermal/cpu_cooling.c
> > @@ -584,8 +584,7 @@ static int cpufreq_get_requested_power(struct thermal_cooling_device *cdev,
> >         if (trace_thermal_power_cpu_get_power_enabled()) {
> >                 u32 ncpus = cpumask_weight(&cpufreq_device->allowed_cpus);
> >
> > -               load_cpu = devm_kcalloc(&cdev->device, ncpus, sizeof(*load_cpu),
> > -                                       GFP_KERNEL);
> > +               load_cpu = kcalloc(ncpus, sizeof(*load_cpu), GFP_KERNEL);
> >         }
> >
> >         for_each_cpu(cpu, &cpufreq_device->allowed_cpus) {
> > @@ -609,7 +608,7 @@ static int cpufreq_get_requested_power(struct thermal_cooling_device *cdev,
> >         ret = get_static_power(cpufreq_device, tz, freq, &static_power);
> >         if (ret) {
> >                 if (load_cpu)
> > -                       devm_kfree(&cdev->device, load_cpu);
> > +                       kfree(load_cpu);
> >                 return ret;
> >         }
> >
> > @@ -618,7 +617,7 @@ static int cpufreq_get_requested_power(struct thermal_cooling_device *cdev,
> >                         &cpufreq_device->allowed_cpus,
> >                         freq, load_cpu, i, dynamic_power, static_power);
> >
> > -               devm_kfree(&cdev->device, load_cpu);
> > +               kfree(load_cpu);
> >         }
> >
> >         *power = static_power + dynamic_power;
> 
> Acked-by: Javi Merino <javi.merino@arm.com>
>
> Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
> 
> @Eduardo: Ignore V2 and apply this one :)

Looks like this fell through the cracks.  Can you pick it up?

Cheers,
Javi

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] thermal: cpu_cooling: Remove usage of devm functions
  2015-08-19  6:22 [PATCH] thermal: cpu_cooling: Remove usage of devm functions Vaishali Thakkar
                   ` (2 preceding siblings ...)
  2015-08-27  8:59 ` Javi Merino
@ 2015-10-10  8:49 ` Zhang Rui
  3 siblings, 0 replies; 9+ messages in thread
From: Zhang Rui @ 2015-10-10  8:49 UTC (permalink / raw)
  To: Vaishali Thakkar; +Cc: Eduardo Valentin, linux-pm, linux-kernel

On Wed, 2015-08-19 at 11:52 +0530, Vaishali Thakkar wrote:
> In the function cpufreq_get_requested_power, the memory allocated
> for load_cpu is live within the function only. And after the
> allocation it is immediately freed with devm_kfree. There is no
> need to allocate memory for load_cpu with devm function so replace
> devm_kcalloc with kcalloc and devm_kfree with kfree.
> 
> Signed-off-by: Vaishali Thakkar <vthakkar1994@gmail.com>
> ---
> This patch is having one checkpatch.pl warning which suggests that
> kfree(NULL) is safe. But I think leaving code with if is nice
> because it reflects the fact that kcalloc was under an if. So, I
> have ignored checkpatch. If maintainer wants me to go for changing
> things, I am fine with it too.

Applied. And I've removed the "if (load_cpu)" for kfree() to avoid
warning reports.

thanks,
rui
> ---
>  drivers/thermal/cpu_cooling.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/thermal/cpu_cooling.c b/drivers/thermal/cpu_cooling.c
> index 620dcd4..babf8b3 100644
> --- a/drivers/thermal/cpu_cooling.c
> +++ b/drivers/thermal/cpu_cooling.c
> @@ -584,8 +584,7 @@ static int cpufreq_get_requested_power(struct thermal_cooling_device *cdev,
>  	if (trace_thermal_power_cpu_get_power_enabled()) {
>  		u32 ncpus = cpumask_weight(&cpufreq_device->allowed_cpus);
>  
> -		load_cpu = devm_kcalloc(&cdev->device, ncpus, sizeof(*load_cpu),
> -					GFP_KERNEL);
> +		load_cpu = kcalloc(ncpus, sizeof(*load_cpu), GFP_KERNEL);
>  	}
>  
>  	for_each_cpu(cpu, &cpufreq_device->allowed_cpus) {
> @@ -609,7 +608,7 @@ static int cpufreq_get_requested_power(struct thermal_cooling_device *cdev,
>  	ret = get_static_power(cpufreq_device, tz, freq, &static_power);
>  	if (ret) {
>  		if (load_cpu)
> -			devm_kfree(&cdev->device, load_cpu);
> +			kfree(load_cpu);
>  		return ret;
>  	}
>  
> @@ -618,7 +617,7 @@ static int cpufreq_get_requested_power(struct thermal_cooling_device *cdev,
>  			&cpufreq_device->allowed_cpus,
>  			freq, load_cpu, i, dynamic_power, static_power);
>  
> -		devm_kfree(&cdev->device, load_cpu);
> +		kfree(load_cpu);
>  	}
>  
>  	*power = static_power + dynamic_power;



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-10-10  8:49 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-19  6:22 [PATCH] thermal: cpu_cooling: Remove usage of devm functions Vaishali Thakkar
2015-08-19  8:24 ` Viresh Kumar
2015-08-19 11:38   ` Vaishali Thakkar
2015-08-19 11:57   ` Vaishali Thakkar
2015-08-19 12:02     ` Viresh Kumar
2015-08-27  1:57 ` Viresh Kumar
2015-09-29 16:39   ` Javi Merino
2015-08-27  8:59 ` Javi Merino
2015-10-10  8:49 ` Zhang Rui

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).