]> www.infradead.org Git - users/jedix/linux-maple.git/commit
printf: Add print format (%pra) for struct range
authorIra Weiny <ira.weiny@intel.com>
Sat, 26 Oct 2024 00:46:55 +0000 (19:46 -0500)
committerDave Jiang <dave.jiang@intel.com>
Mon, 28 Oct 2024 21:32:43 +0000 (14:32 -0700)
commit4261974701851630951e9ab31f0de4ade0faea53
treed274d5ada17c6f07c30543f1af81efdc80ec6358
parent3dff66ff8367cd4dabb6a34633e55324c281348a
printf: Add print format (%pra) for struct range

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.

Cc: Jonathan Corbet <corbet@lwn.net>
Cc: linux-doc@vger.kernel.org
Cc: open list <linux-kernel@vger.kernel.org>
Link: https://lore.kernel.org/all/663922b475e50_d54d72945b@dwillia2-xfh.jf.intel.com.notmuch/
Link: https://lore.kernel.org/all/66cea3bf3332f_f937b29424@iweiny-mobl.notmuch/
Suggested-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://patch.msgid.link/20241025-cxl-pra-v2-3-123a825daba2@intel.com
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Documentation/core-api/printk-formats.rst
include/linux/range.h
lib/test_printf.c
lib/vsprintf.c