On Fri, 2017-06-23 at 12:30 -0500, Rob Herring wrote: > From: Pantelis Antoniou <[email protected]> > > 90% of the usage of device node's full_name is printing it out in a > kernel message. However, storing the full path for every node is > wasteful and redundant. With a custom format specifier, we can generate > the full path at run-time and eventually remove the full path from every > node. > > For instance typical use is: > pr_info("Frobbing node %s\n", node->full_name); > > Which can be written now as: > pr_info("Frobbing node %pOF\n", node); > > '%pO' is the base specifier to represent kobjects with '%pOF' > representing struct device_node. Currently, struct device_node is the > only supported type of kobject. > > More fine-grained control of formatting includes printing the name, > flags, path-spec name and others, explained in the documentation entry. > > Originally written by Pantelis, but pretty much rewrote the core > function using existing string/number functions. The 2 passes were > unnecessary and have been removed. Also, updated the checkpatch.pl > check. The unittest code was written by Grant Likely. > > Signed-off-by: Pantelis Antoniou <[email protected]> > Signed-off-by: Rob Herring <[email protected]> > --- > v3: > - Fix missing documentation updates using '%pOF' as the device_node > specifier. > - Update the commit msg and documentation to clearly define '%pO' is the > base specifier for kobjects. > - Rework device_node_gen_full_name() to avoid creating an array of node > pointers on the stack.
Thanks Rob. This all seems sensible to me now. If you want: Acked-by: Joe Perches <[email protected]> cheers, Joe

