From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jacek Anaszewski Subject: Re: [PATCH] leds: pca9532: fix device_node_continue.cocci warnings Date: Thu, 29 Dec 2016 22:34:47 +0100 Message-ID: <963119a2-efe4-86ef-16a8-85e5f4487b66@gmail.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Return-path: Received: from mail-wm0-f66.google.com ([74.125.82.66]:33369 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750817AbcL2Vfe (ORCPT ); Thu, 29 Dec 2016 16:35:34 -0500 In-Reply-To: Sender: linux-leds-owner@vger.kernel.org List-Id: linux-leds@vger.kernel.org To: Julia Lawall , Joachim Eastwood Cc: Riku Voipio , Richard Purdie , Pavel Machek , linux-leds@vger.kernel.org, linux-kernel@vger.kernel.org, kbuild-all@01.org 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 > Signed-off-by: Fengguang Wu > --- > > 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", ®); > 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; >