Re: [PATCH 2/3] printf: Add print format (%pra) for struct range

From: Andy Shevchenko
Date: Mon Oct 21 2024 - 03:08:08 EST


On Fri, Oct 18, 2024 at 02:46:25PM -0500, Ira Weiny wrote:
> The use of struct range in the CXL subsystem is growing. In particular,
> the addition of Dynamic Capacity devices uses struct range in a number
> of places which are reported in debug and error messages.
>
> To wit requiring the printing of the start/end fields in each print
> became cumbersome. Dan Williams mentions in [1] that it might be time
> to have a print specifier for struct range similar to struct resource
>
> A few alternatives were considered including '%par', '%r', and '%pn'.
> %pra follows that struct range is similar to struct resource (%p[rR])
> but needs to be different. Based on discussions with Petr and Andy
> '%pra' was chosen.[2]
>
> Andy also suggested to keep the range prints similar to struct resource
> though combined code. Add hex_range() to handle printing for both
> pointer types.
>
> Finally introduce DEFINE_RANGE() as a parallel to DEFINE_RES_*() and use
> it in the tests.

...

> case 'R':
> case 'r':
> - return resource_string(buf, end, ptr, spec, fmt);
> + return resource_and_range(fmt, buf, end, ptr, spec);

Since you are going to have a new version, I think this should be _or_ instead
of _and_.


--
With Best Regards,
Andy Shevchenko