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

Reply via email to