Re: [PATCH] soc: Convert to using %pOFn instead of device_node.name

From: Tyrel Datwyler
Date: Tue Aug 28 2018 - 18:46:54 EST


On 08/28/2018 03:29 PM, Li Yang wrote:
> On Tue, Aug 28, 2018 at 5:16 PM Tyrel Datwyler
> <tyreld@xxxxxxxxxxxxxxxxxx> wrote:
>>
>> On 08/28/2018 11:48 AM, Li Yang wrote:
>>> On Mon, Aug 27, 2018 at 8:57 PM Rob Herring <robh@xxxxxxxxxx> wrote:
>>>>
>>>> In preparation to remove the node name pointer from struct device_node,
>>>> convert printf users to use the %pOFn format specifier.
>>>
>>> Please forgive my ignorance, but what is this format specifier do
>>> exactly? I cannot find anything listed in the printf specification
>>> matching this. Is this something newly introduced?
>>>
>>> Leo
>>>
>>
>> From Documentation/core-api/printk-formats.rst:
>
> I was trying to find it in the standard c format specifier. :(
> Thanks a lot for the pointer.
>

No problem. Its worth a look through. The usual integer types are at the top, but that is followed by the pointer types which the kernel provides quite a few for a variety of things.

>>
>> kobjects
>> --------
>>
>> ::
>>
>> %pOF[fnpPcCF]
>>
>>
>> For printing kobject based structs (device nodes). Default behaviour is
>> equivalent to %pOFf.
>>
>> - f - device node full_name
>> - n - device node name
>> - p - device node phandle
>> - P - device node path spec (name + @unit)
>> - F - device node flags
>> - c - major compatible string
>> - C - full compatible string
>>
>>
>> -Tyrel
>>
>