Please don't do this. I realize that gcc suggests just adding parenthesis,
and yes, it makes the warning go away, but it's not sensible from a human
semantic standpoint.
So if the warning bothers you, please change
while (dev = device_find_child(..)) {
into something like
while ((dev = device_find_child(..)) != NULL) {
which also gets rid of the warning, but now does it with something that
makes sense to a human too.
Just arbitrarily adding another set of parentheses never made much sense
to me. It's semantically still the exact same expression, just the fact
that gcc suddenly doesn't warn about the assignment because it's "hidden"
by the extra parenthesis is just odd.
Linus
--