Hi, I'd like to clarify whether LED subsystem drivers behave correctly or not, regarding child DT nodes reference counting. Single LED controller can have connected more then one LED to it. The LEDs are represented by child DT nodes of the node representing the controller (see Documentation/devicetree/bindings/leds). LED subsystem drivers parse child DT nodes and use the node name, or 'label' property string as the LED class device name. This is usually accomplished like below: for_each_child_of_node(np, child) { ... led.name = of_get_property(child, "label", NULL) ? : child->name; The question is whether reference count of the child node shouldn't be increased here with of_node_get(child). Whereas intuitively it could be thought of as a right thing to do, empirical experiments don't necessary confirm that. When I print the value of child_node->kobj.kref.refcount.counter inside for_each loop it is 3 and and after leaving the loop it gets decreased to 2. On driver removal the value is also 2. It means that label is available all the time, without increasing child node ref counter. I'd like to ask if this is guaranteed to be always true. -- Best Regards, Jacek Anaszewski -- 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