lib/vsprintf: Reinstate printing of legacy clock IDs
authorGeert Uytterhoeven <geert+renesas@glider.be>
Mon, 1 Jul 2019 14:00:09 +0000 (16:00 +0200)
committerPetr Mladek <pmladek@suse.com>
Thu, 4 Jul 2019 10:45:14 +0000 (12:45 +0200)
When using the legacy clock framework, clock pointers are no longer
printed as IDs, as the !CONFIG_COMMON_CLK case was accidentally
considered an error case.

Fix this by reverting to the old behavior, which allows to distinguish
clocks by ID, as the legacy clock framework does not store names with
clocks.

Fixes: 0b74d4d763fd4ee9 ("vsprintf: Consolidate handling of unknown pointer specifiers")
Link: http://lkml.kernel.org/r/20190701140009.23683-1-geert+renesas@glider.be
Cc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Petr Mladek <pmladek@suse.com>
lib/vsprintf.c

index 25b8f4f040c059ceea0ee44cdde770299d109514..431f4974b17bd6d63323c2fc943d1ac7c28ee802 100644 (file)
@@ -1798,7 +1798,7 @@ char *clock(char *buf, char *end, struct clk *clk, struct printf_spec spec,
 #ifdef CONFIG_COMMON_CLK
                return string(buf, end, __clk_get_name(clk), spec);
 #else
-               return error_string(buf, end, "(%pC?)", spec);
+               return ptr_to_id(buf, end, clk, spec);
 #endif
        }
 }