On Friday 08 January 2016 13:44:23 Peter Chen wrote: > +struct device_node *usb_of_find_node(struct device_node *parent, int portnum) > +{ > + struct device_node *node; > + u32 port; > + > + for_each_child_of_node(parent, node) { > + if (!of_property_read_u32(node, "reg", &port)) { > + if (port == portnum) > + return node; > + } > + } > + > + return NULL; > +} > +EXPORT_SYMBOL_GPL(usb_of_find_node); The implementation looks good to me, but I find the function name slightly confusing. We use "*find_node" or similar names in other subsystems to scan the entire tree, when this one just looks at the immediate children of the device. Maybe something like "usb_of_get_child_node()" instead? Arnd -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html