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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxx



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux