Re: [PATCH 5/5] lib/vsprintf: Add %pfw conversion specifier for printing fwnode names

Sakari Ailus
2019-03-27T14:10:48Z

Hi Petr,

On Tue, Mar 26, 2019 at 04:13:07PM +0100, Petr Mladek wrote:
> On Fri 2019-03-22 17:29:30, Sakari Ailus wrote:
> > Add support for %pfw conversion specifier (with "f" and "P" modifiers) to
> > support printing full path of the node, including its name ("f") and only
> > the node's name ("P") in the printk family of functions. The two flags
> > have equivalent functionality to existing %pOF with the same two modifiers
> > ("f" and "P") on OF based systems. The ability to do the same on ACPI
> > based systems is added by this patch.
> >
> > On ACPI based systems the resulting strings look like
> >
> > \_SB.PCI0.CIO2.port@1.endpoint@0
> >
> > where the nodes are separated by a dot (".") and the first three are
> > ACPI device nodes and the latter two ACPI data nodes.
> >
> > Depends-on: ("vsprintf: Remove support for %pF and %pf in favour of %pS and %ps")
>
> Reusing obsolete modifiers is dangerous from many reasons:
>
> + people might miss the change of the meaning
> + backporting mistakes
> + 3rd party modules
>
> It might be acceptable if the long term gain is bigger
> than a short time difficulties. But it would be better
> to it a safe way when possible.
>
> Fortunately, we could keep the backward compatibility
> for "%pf" and handle only "%pfw*" with the fwnode api.

The v2 of this patch produces a warning (using WARN_ONCE()) for "%pf" not
immediately followed by "w". "%pfw" was not a valid conversion specifier
before this set, so we're actually not re-using the exactly same conversion
specifiers.

--
Regards,

Sakari Ailus
sakari.ailus@linux.intel.com