On Sun, Aug 8, 2010 at 1:40 AM, Anton Vorontsov <cbouatmai...@gmail.com> wrote:
> On Sat, Aug 07, 2010 at 06:40:22PM -0600, Grant Likely wrote:
> [...]
>> > static int __init mpc8xxx_add_gpiochips(void)
>> > {
>> >+    const struct of_device_id *id;
>> >     struct device_node *np;
>> >
>> >-    for_each_compatible_node(np, NULL, "fsl,mpc8349-gpio")
>> >-            mpc8xxx_add_controller(np);
>> >-
>> >-    for_each_compatible_node(np, NULL, "fsl,mpc8572-gpio")
>> >-            mpc8xxx_add_controller(np);
>> >-
>> >-    for_each_compatible_node(np, NULL, "fsl,mpc8610-gpio")
>> >+    for_each_matching_node(np, mpc8xxx_gpio_ids) {
>> >+            id = of_match_node(mpc8xxx_gpio_ids, np);
>> >+            if (id)
>> >+                    np->data = id->data;
>> >             mpc8xxx_add_controller(np);
>> >+    }
> [...]
>> Actually, there is absolutely no reason to keep mpc8xxx_add_gpiochip()
>> as a separate function with the simplification of
>> mpc8xxx_add_gpiochips().  I'd simplify the whole thing by merging the
>> two functions together.
>
> You mean mpc8xxx_add_controller()? Putting 65-line function
> on a second indentation level, inside the for loop... sounds
> like a bad idea.

That's a good point.  I was thinking about it from the wrong way
around (that the function could bail at the top on a non-match; which
obviously isn't the case).  Anatolij, I was wrong on this point.
Sorry I didn't reply sooner before you respun the patch.  :-(

g.
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to