devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Geert Uytterhoeven <geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org>
To: Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Grant Likely
	<grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	David Howells <dhowells-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	Andrew Morton
	<akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>,
	"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH] of: Fix uninitialized child warning in for_each_child_of_node() if !OF
Date: Mon, 27 Jan 2014 17:23:35 +0100	[thread overview]
Message-ID: <CAMuHMdUn2VJP-LRMKLmiC7jMw3NXLx0fZsGzQJtwjPLY7+9B5g@mail.gmail.com> (raw)
In-Reply-To: <CAL_JsqJyaMDkj6jE+qk6AuUNB0-TOLdqeYDBdjH+1YJFu2V0DQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

On Mon, Jan 27, 2014 at 5:21 PM, Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> On Mon, Jan 27, 2014 at 8:52 AM, Geert Uytterhoeven
> <geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org> wrote:
>> On Mon, Jan 27, 2014 at 3:16 PM, Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>>> On Sun, Jan 26, 2014 at 4:21 AM, Geert Uytterhoeven
>>> <geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org> wrote:
>>>> If CONFIG_OF=n:
>>>>
>>>> drivers/i2c/i2c-mux.c: In function ‘i2c_add_mux_adapter’:
>>>> drivers/i2c/i2c-mux.c:158: warning: ‘child’ is used uninitialized in this function
>>>> drivers/leds/leds-lp55xx-common.c: In function ‘lp55xx_of_populate_pdata’:
>>>> drivers/leds/leds-lp55xx-common.c:560: warning: ‘child’ is used uninitialized in this function
>>>> drivers/leds/leds-pwm.c: In function ‘led_pwm_probe’:
>>>> drivers/leds/leds-pwm.c:89: warning: ‘child’ is used uninitialized in this function
>>>> drivers/mfd/stmpe.c: In function ‘stmpe_of_probe’:
>>>> drivers/mfd/stmpe.c:1112: warning: ‘child’ is used uninitialized in this function
>>>> drivers/mfd/tc3589x.c: In function ‘tc3589x_probe’:
>>>> drivers/mfd/tc3589x.c:324: warning: ‘child’ is used uninitialized in this function
>>>> drivers/power/charger-manager.c: In function ‘of_cm_parse_desc’:
>>>> drivers/power/charger-manager.c:1606: warning: ‘child’ is used uninitialized in this function
>>>>
>>>> Introduced by commit 00b2c76a6abbe082bb5afb89ee49ec325e9cd4d2
>>    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>>> ("include/linux/of.h: make for_each_child_of_node() reference its args when
>>>> CONFIG_OF=n").
>>>>
>>>> Instead of dropping the "__of_use_dn(child)" again, explicitly set child
>>>> to NULL, to protect against code using child after the loop (child == NULL
>>>> is the loop termination condition if CONFIG_OF=y).
>>>>
>>>> Signed-off-by: Geert Uytterhoeven <geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org>
>>>
>>> Just got fixed in mainline:
>>>
>>> commit 00b2c76a6abbe082bb5afb89ee49ec325e9cd4d2
>>
>> Nope, this is the one that introduced new warnings.
>
> Oh right, sorry. Read that too fast.
>
> Won't your change trigger warnings from -Wunused-but-set-variable in
> cases where child is not used? That would only be enabled for "W=1"
> though.
>
> I think the right fix here is all the for_each_X macros should not be
> conditional on CONFIG_OF and we should rely on the functions they call
> like of_get_next_child to do the right thing for !OF.

That's indeed an alternative fix. As long as of_get_next_child() and
friends return NULL, that'll work fine.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

      parent reply	other threads:[~2014-01-27 16:23 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-26 10:21 [PATCH] of: Fix uninitialized child warning in for_each_child_of_node() if !OF Geert Uytterhoeven
     [not found] ` <1390731668-904-1-git-send-email-geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org>
2014-01-27 14:16   ` Rob Herring
2014-01-27 14:52     ` Geert Uytterhoeven
     [not found]       ` <CAMuHMdVNLYoWD=Q+utHUgEBJ1619Q5x=DsZEtmeEbogrQM2a0Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-27 16:21         ` Rob Herring
     [not found]           ` <CAL_JsqJyaMDkj6jE+qk6AuUNB0-TOLdqeYDBdjH+1YJFu2V0DQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-27 16:23             ` Geert Uytterhoeven [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAMuHMdUn2VJP-LRMKLmiC7jMw3NXLx0fZsGzQJtwjPLY7+9B5g@mail.gmail.com \
    --to=geert-td1emuhucqxl1znqvxdv9g@public.gmane.org \
    --cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=dhowells-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).