[PATCH 0/5] Device property improvements, add %pfw format specifier

Sakari Ailus
2019-03-22T15:29:25Z

Hi all,

This set adds functionality into the device property API (counting a
node's parents as well as obtaining its name) in order to support printing
fwnode names using a new conversion specifier "%pfw". The names that are
produced are equivalent to its OF counterpart "%pOF" on OF systems for the
two supported modifiers ("f" and "P").

Printing a node's name is something that's been available on OF for a long
time and if something is converted to device property API (such as the
V4L2 fwnode framework) it always got removed of a nice feature that was
sometimes essential in debugging. With this set, that no longer is the
case.

This set depends on a cleanup set fully releasing the now-deprecated %pf
for other use:

<URL:https://lore.kernel.org/lkml/20190322135350.2btpno7vspvewxvk@paasikivi.fi.intel.com/T/#t>

I was a bit hesitant on how much of this should be covered by the fwnode
ops and how much would be just better to reside in lib/vsprintf.c, but
opted for putting it to the fwnode interface. This keeps it clean and
still rather lean on the fwnode ops side while making it possible to add
other firmware types (although that is unlikely I guess).

Sakari Ailus (5):
device property: Add functions for accessing node's parents
device property: Add fwnode_get_name for returning the name of a node
device property: Add a function to obtain a node's prefix
lib/vsprintf: Make use of fwnode API to obtain node names and
separators
lib/vsprintf: Add %pfw conversion specifier for printing fwnode names

Documentation/core-api/printk-formats.rst | 24 +++++++++
drivers/acpi/property.c | 46 ++++++++++++++++
drivers/base/property.c | 86 ++++++++++++++++++++++++++---
drivers/of/property.c | 16 ++++++
include/linux/fwnode.h | 4 ++
include/linux/property.h | 5 ++
lib/vsprintf.c | 89 +++++++++++++++++++++++--------
scripts/checkpatch.pl | 2 +-
8 files changed, 242 insertions(+), 30 deletions(-)

--
2.11.0