While resource_size_t is repeating phys_addr_t, allocate %par specifier for
that type for sake of consistency.

Signed-off-by: Andy Shevchenko <andriy.shevche...@linux.intel.com>
---
In v2:
- rebase on top of latest linux-next
- include more people to Cc list
 Documentation/printk-formats.txt | 13 ++++++++++---
 lib/vsprintf.c                   | 11 +++++++++--
 2 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/Documentation/printk-formats.txt b/Documentation/printk-formats.txt
index 5962949944fd..d8c40c30118a 100644
--- a/Documentation/printk-formats.txt
+++ b/Documentation/printk-formats.txt
@@ -79,9 +79,16 @@ Physical addresses types phys_addr_t:
 
        %pa[p]  0x01234567 or 0x0123456789abcdef
 
-       For printing a phys_addr_t type (and its derivatives, such as
-       resource_size_t) which can vary based on build options, regardless of
-       the width of the CPU data path. Passed by reference.
+       For printing a phys_addr_t type which can vary based on build options,
+       regardless of the width of the CPU data path. Passed by reference.
+
+Resource size types resource_size_t:
+
+       %par    0x01234567 or 0x0123456789abcdef
+
+       For printing a resource_size_t type which can vary based on build
+       options, regardless of the width of the CPU data path. Passed by
+       reference.
 
 DMA addresses types dma_addr_t:
 
diff --git a/lib/vsprintf.c b/lib/vsprintf.c
index c771444f3ae4..ca2b32adc124 100644
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
@@ -1370,6 +1370,10 @@ char *address_val(char *buf, char *end, const void 
*addr, const char *fmt)
                num = *(const dma_addr_t *)addr;
                size = sizeof(dma_addr_t);
                break;
+       case 'r':
+               num = *(const resource_size_t *)addr;
+               size = sizeof(resource_size_t);
+               break;
        case 'p':
        default:
                num = *(const phys_addr_t *)addr;
@@ -1545,8 +1549,11 @@ int kptr_restrict __read_mostly;
  *              N no separator
  *            The maximum supported length is 64 bytes of the input. Consider
  *            to use print_hex_dump() for the larger input.
- * - 'a[pd]' For address types [p] phys_addr_t, [d] dma_addr_t and derivatives
- *           (default assumed to be phys_addr_t, passed by reference)
+ * - 'a[dpr]' For address types (default assumed to be phys_addr_t, passed by
+ *            reference):
+ *            [d] dma_addr_t
+ *            [p] phys_addr_t
+ *            [r] resource_size_t
  * - 'd[234]' For a dentry name (optionally 2-4 last components)
  * - 'D[234]' Same as 'd' but for a struct file
  * - 'g' For block_device name (gendisk + partition number)
-- 
2.11.0

Reply via email to