Linux LED subsystem development
 help / color / mirror / Atom feed
* [PATCH] leds: pca9532: fix device_node_continue.cocci warnings
@ 2016-12-29 21:10 Julia Lawall
  2016-12-29 21:34 ` Jacek Anaszewski
  0 siblings, 1 reply; 5+ messages in thread
From: Julia Lawall @ 2016-12-29 21:10 UTC (permalink / raw)
  To: Joachim Eastwood
  Cc: Riku Voipio, Richard Purdie, Jacek Anaszewski, Pavel Machek,
	linux-leds, linux-kernel, kbuild-all

Device node iterators put the previous value of the index variable, so an
explicit put causes a double put.

Generated by: scripts/coccinelle/iterators/device_node_continue.cocci

Signed-off-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
---

I haven't looked at the context in detail, but given the rule, I assume
that there is an iterator, such as for_each_child_of_node, and these
iterators do a put on each iteration, so none is needed in the loop body.

tree:   https://github.com/manabian/linux-lpc lpc18xx_43xx_devel
head:   9ee5f58bbb16c08da223c4b4933457e0eb72268d
commit: c58957273142be779f62c17fae389ce9c134139f [44/55] leds: pca9532: use

 leds-pca9532.c |    3 ---
 1 file changed, 3 deletions(-)

--- a/drivers/leds/leds-pca9532.c
+++ b/drivers/leds/leds-pca9532.c
@@ -473,7 +473,6 @@ pca9532_of_populate_pdata(struct device

 		res = of_property_read_u32(child, "reg", &reg);
 		if ((res != 0) || (reg >= maxleds)) {
-			of_node_put(child);
 			continue;
 		}

@@ -484,8 +483,6 @@ pca9532_of_populate_pdata(struct device
 		of_property_read_u32(child, "type", &pdata->leds[reg].type);
 		of_property_read_string(child, "linux,default-trigger",
 					&pdata->leds[reg].default_trigger);
-
-		of_node_put(child);
 	}

 	return pdata;

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

* Re: [PATCH] leds: pca9532: fix device_node_continue.cocci warnings
  2016-12-29 21:10 [PATCH] leds: pca9532: fix device_node_continue.cocci warnings Julia Lawall
@ 2016-12-29 21:34 ` Jacek Anaszewski
  2016-12-29 21:39   ` Julia Lawall
  0 siblings, 1 reply; 5+ messages in thread
From: Jacek Anaszewski @ 2016-12-29 21:34 UTC (permalink / raw)
  To: Julia Lawall, Joachim Eastwood
  Cc: Riku Voipio, Richard Purdie, Pavel Machek, linux-leds,
	linux-kernel, kbuild-all

Hi Julia,

This patch doesn't apply to current for-next branch
of linux-leds.git.

Best regards,
Jacek Anaszewski

On 12/29/2016 10:10 PM, Julia Lawall wrote:
> Device node iterators put the previous value of the index variable, so an
> explicit put causes a double put.
> 
> Generated by: scripts/coccinelle/iterators/device_node_continue.cocci
> 
> Signed-off-by: Julia Lawall <julia.lawall@lip6.fr>
> Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
> ---
> 
> I haven't looked at the context in detail, but given the rule, I assume
> that there is an iterator, such as for_each_child_of_node, and these
> iterators do a put on each iteration, so none is needed in the loop body.
> 
> tree:   https://github.com/manabian/linux-lpc lpc18xx_43xx_devel
> head:   9ee5f58bbb16c08da223c4b4933457e0eb72268d
> commit: c58957273142be779f62c17fae389ce9c134139f [44/55] leds: pca9532: use
> 
>  leds-pca9532.c |    3 ---
>  1 file changed, 3 deletions(-)
> 
> --- a/drivers/leds/leds-pca9532.c
> +++ b/drivers/leds/leds-pca9532.c
> @@ -473,7 +473,6 @@ pca9532_of_populate_pdata(struct device
> 
>  		res = of_property_read_u32(child, "reg", &reg);
>  		if ((res != 0) || (reg >= maxleds)) {
> -			of_node_put(child);
>  			continue;
>  		}
> 
> @@ -484,8 +483,6 @@ pca9532_of_populate_pdata(struct device
>  		of_property_read_u32(child, "type", &pdata->leds[reg].type);
>  		of_property_read_string(child, "linux,default-trigger",
>  					&pdata->leds[reg].default_trigger);
> -
> -		of_node_put(child);
>  	}
> 
>  	return pdata;
> 

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

* Re: [PATCH] leds: pca9532: fix device_node_continue.cocci warnings
  2016-12-29 21:34 ` Jacek Anaszewski
@ 2016-12-29 21:39   ` Julia Lawall
  2016-12-30 14:05     ` Jacek Anaszewski
  0 siblings, 1 reply; 5+ messages in thread
From: Julia Lawall @ 2016-12-29 21:39 UTC (permalink / raw)
  To: Jacek Anaszewski
  Cc: Joachim Eastwood, Riku Voipio, Richard Purdie, Pavel Machek,
	linux-leds, linux-kernel, kbuild-all



On Thu, 29 Dec 2016, Jacek Anaszewski wrote:

> Hi Julia,
>
> This patch doesn't apply to current for-next branch
> of linux-leds.git.

The information about where it comes from is below the ---.  It's
automatically send to me by kbuild, so I don't know anything more than
that.  I recall from the original message that the code was committed
around an hour ago.

julia

> Best regards,
> Jacek Anaszewski
>
> On 12/29/2016 10:10 PM, Julia Lawall wrote:
> > Device node iterators put the previous value of the index variable, so an
> > explicit put causes a double put.
> >
> > Generated by: scripts/coccinelle/iterators/device_node_continue.cocci
> >
> > Signed-off-by: Julia Lawall <julia.lawall@lip6.fr>
> > Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
> > ---
> >
> > I haven't looked at the context in detail, but given the rule, I assume
> > that there is an iterator, such as for_each_child_of_node, and these
> > iterators do a put on each iteration, so none is needed in the loop body.
> >
> > tree:   https://github.com/manabian/linux-lpc lpc18xx_43xx_devel
> > head:   9ee5f58bbb16c08da223c4b4933457e0eb72268d
> > commit: c58957273142be779f62c17fae389ce9c134139f [44/55] leds: pca9532: use
> >
> >  leds-pca9532.c |    3 ---
> >  1 file changed, 3 deletions(-)
> >
> > --- a/drivers/leds/leds-pca9532.c
> > +++ b/drivers/leds/leds-pca9532.c
> > @@ -473,7 +473,6 @@ pca9532_of_populate_pdata(struct device
> >
> >  		res = of_property_read_u32(child, "reg", &reg);
> >  		if ((res != 0) || (reg >= maxleds)) {
> > -			of_node_put(child);
> >  			continue;
> >  		}
> >
> > @@ -484,8 +483,6 @@ pca9532_of_populate_pdata(struct device
> >  		of_property_read_u32(child, "type", &pdata->leds[reg].type);
> >  		of_property_read_string(child, "linux,default-trigger",
> >  					&pdata->leds[reg].default_trigger);
> > -
> > -		of_node_put(child);
> >  	}
> >
> >  	return pdata;
> >
>
>

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

* Re: [PATCH] leds: pca9532: fix device_node_continue.cocci warnings
  2016-12-29 21:39   ` Julia Lawall
@ 2016-12-30 14:05     ` Jacek Anaszewski
  2016-12-30 16:24       ` Julia Lawall
  0 siblings, 1 reply; 5+ messages in thread
From: Jacek Anaszewski @ 2016-12-30 14:05 UTC (permalink / raw)
  To: Julia Lawall
  Cc: Joachim Eastwood, Riku Voipio, Richard Purdie, Pavel Machek,
	linux-leds, linux-kernel, kbuild-all

On 12/29/2016 10:39 PM, Julia Lawall wrote:
> 
> 
> On Thu, 29 Dec 2016, Jacek Anaszewski wrote:
> 
>> Hi Julia,
>>
>> This patch doesn't apply to current for-next branch
>> of linux-leds.git.
> 
> The information about where it comes from is below the ---.  It's
> automatically send to me by kbuild, so I don't know anything more than
> that.  I recall from the original message that the code was committed
> around an hour ago.

In mainline as well as in linux-next we have only the following patch
touching pca9532_of_populate_pdata() (it adds the function):

commit fa4191a609f219262a18dd8b02ab7dc30896b707
Author: Phil Reid <preid@electromag.com.au>
Date:   Tue Jun 14 15:36:17 2016 +0800

    leds: pca9532: Add device tree support

    This patch adds basic device tree support for the pca9532 LEDs.

    Signed-off-by: Phil Reid <preid@electromag.com.au>
    Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>


It doesn't have the problems the kbuild detected in
https://github.com/manabian/linux-lpc lpc18xx_43xx_devel.
The git history for leds-pca9532.c in that repository is
different from the one in mainline.

I don't see a point in reporting problems in repositories
other than mainline or linux-next.

Best regards,
Jacek Anaszewski


>>
>> On 12/29/2016 10:10 PM, Julia Lawall wrote:
>>> Device node iterators put the previous value of the index variable, so an
>>> explicit put causes a double put.
>>>
>>> Generated by: scripts/coccinelle/iterators/device_node_continue.cocci
>>>
>>> Signed-off-by: Julia Lawall <julia.lawall@lip6.fr>
>>> Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
>>> ---
>>>
>>> I haven't looked at the context in detail, but given the rule, I assume
>>> that there is an iterator, such as for_each_child_of_node, and these
>>> iterators do a put on each iteration, so none is needed in the loop body.
>>>
>>> tree:   https://github.com/manabian/linux-lpc lpc18xx_43xx_devel
>>> head:   9ee5f58bbb16c08da223c4b4933457e0eb72268d
>>> commit: c58957273142be779f62c17fae389ce9c134139f [44/55] leds: pca9532: use
>>>
>>>  leds-pca9532.c |    3 ---
>>>  1 file changed, 3 deletions(-)
>>>
>>> --- a/drivers/leds/leds-pca9532.c
>>> +++ b/drivers/leds/leds-pca9532.c
>>> @@ -473,7 +473,6 @@ pca9532_of_populate_pdata(struct device
>>>
>>>  		res = of_property_read_u32(child, "reg", &reg);
>>>  		if ((res != 0) || (reg >= maxleds)) {
>>> -			of_node_put(child);
>>>  			continue;
>>>  		}
>>>
>>> @@ -484,8 +483,6 @@ pca9532_of_populate_pdata(struct device
>>>  		of_property_read_u32(child, "type", &pdata->leds[reg].type);
>>>  		of_property_read_string(child, "linux,default-trigger",
>>>  					&pdata->leds[reg].default_trigger);
>>> -
>>> -		of_node_put(child);
>>>  	}
>>>
>>>  	return pdata;
>>>
>>
>>
> 

-- 
Best regards,
Jacek Anaszewski

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

* Re: [PATCH] leds: pca9532: fix device_node_continue.cocci warnings
  2016-12-30 14:05     ` Jacek Anaszewski
@ 2016-12-30 16:24       ` Julia Lawall
  0 siblings, 0 replies; 5+ messages in thread
From: Julia Lawall @ 2016-12-30 16:24 UTC (permalink / raw)
  To: Jacek Anaszewski
  Cc: Julia Lawall, Joachim Eastwood, Riku Voipio, Richard Purdie,
	Pavel Machek, linux-leds, linux-kernel, kbuild-all, fengguang.wu



On Fri, 30 Dec 2016, Jacek Anaszewski wrote:

> On 12/29/2016 10:39 PM, Julia Lawall wrote:
> >
> >
> > On Thu, 29 Dec 2016, Jacek Anaszewski wrote:
> >
> >> Hi Julia,
> >>
> >> This patch doesn't apply to current for-next branch
> >> of linux-leds.git.
> >
> > The information about where it comes from is below the ---.  It's
> > automatically send to me by kbuild, so I don't know anything more than
> > that.  I recall from the original message that the code was committed
> > around an hour ago.
>
> In mainline as well as in linux-next we have only the following patch
> touching pca9532_of_populate_pdata() (it adds the function):
>
> commit fa4191a609f219262a18dd8b02ab7dc30896b707
> Author: Phil Reid <preid@electromag.com.au>
> Date:   Tue Jun 14 15:36:17 2016 +0800
>
>     leds: pca9532: Add device tree support
>
>     This patch adds basic device tree support for the pca9532 LEDs.
>
>     Signed-off-by: Phil Reid <preid@electromag.com.au>
>     Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
>
>
> It doesn't have the problems the kbuild detected in
> https://github.com/manabian/linux-lpc lpc18xx_43xx_devel.
> The git history for leds-pca9532.c in that repository is
> different from the one in mainline.
>
> I don't see a point in reporting problems in repositories
> other than mainline or linux-next.

I think you can let Fengguang know which trees you want monitored:

fengguang.wu@intel.com

julia


>
> Best regards,
> Jacek Anaszewski
>
>
> >>
> >> On 12/29/2016 10:10 PM, Julia Lawall wrote:
> >>> Device node iterators put the previous value of the index variable, so an
> >>> explicit put causes a double put.
> >>>
> >>> Generated by: scripts/coccinelle/iterators/device_node_continue.cocci
> >>>
> >>> Signed-off-by: Julia Lawall <julia.lawall@lip6.fr>
> >>> Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
> >>> ---
> >>>
> >>> I haven't looked at the context in detail, but given the rule, I assume
> >>> that there is an iterator, such as for_each_child_of_node, and these
> >>> iterators do a put on each iteration, so none is needed in the loop body.
> >>>
> >>> tree:   https://github.com/manabian/linux-lpc lpc18xx_43xx_devel
> >>> head:   9ee5f58bbb16c08da223c4b4933457e0eb72268d
> >>> commit: c58957273142be779f62c17fae389ce9c134139f [44/55] leds: pca9532: use
> >>>
> >>>  leds-pca9532.c |    3 ---
> >>>  1 file changed, 3 deletions(-)
> >>>
> >>> --- a/drivers/leds/leds-pca9532.c
> >>> +++ b/drivers/leds/leds-pca9532.c
> >>> @@ -473,7 +473,6 @@ pca9532_of_populate_pdata(struct device
> >>>
> >>>  		res = of_property_read_u32(child, "reg", &reg);
> >>>  		if ((res != 0) || (reg >= maxleds)) {
> >>> -			of_node_put(child);
> >>>  			continue;
> >>>  		}
> >>>
> >>> @@ -484,8 +483,6 @@ pca9532_of_populate_pdata(struct device
> >>>  		of_property_read_u32(child, "type", &pdata->leds[reg].type);
> >>>  		of_property_read_string(child, "linux,default-trigger",
> >>>  					&pdata->leds[reg].default_trigger);
> >>> -
> >>> -		of_node_put(child);
> >>>  	}
> >>>
> >>>  	return pdata;
> >>>
> >>
> >>
> >
>
> --
> Best regards,
> Jacek Anaszewski
>

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

end of thread, other threads:[~2016-12-30 16:24 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-29 21:10 [PATCH] leds: pca9532: fix device_node_continue.cocci warnings Julia Lawall
2016-12-29 21:34 ` Jacek Anaszewski
2016-12-29 21:39   ` Julia Lawall
2016-12-30 14:05     ` Jacek Anaszewski
2016-12-30 16:24       ` Julia Lawall

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox