Re: [PATCH v4 11/11] lib/test_printf: Add tests for %pfw printk modifier
From: Sakari Ailus <sakari.ailus@linux.intel.com>
Date: 2019-09-04 14:04:06
Also in:
linux-acpi, lkml
Hi Petr, Thanks for the comments. On Tue, Sep 03, 2019 at 03:38:41PM +0200, Petr Mladek wrote:
On Mon 2019-09-02 11:32:40, Sakari Ailus wrote:quoted
Add a test for the %pfw printk modifier using software nodes. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- lib/test_printf.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+)diff --git a/lib/test_printf.c b/lib/test_printf.c index 944eb50f38625..9c6d716979fb1 100644 --- a/lib/test_printf.c +++ b/lib/test_printf.c@@ -22,6 +22,8 @@ #include <linux/gfp.h> #include <linux/mm.h> +#include <linux/property.h> + #include "../tools/testing/selftests/kselftest_module.h" #define BUF_SIZE 256@@ -588,6 +590,40 @@ flags(void) kfree(cmp_buffer); } +static void __init fwnode_pointer(void) +{ + const struct software_node softnodes[] = { + { .name = "first", }, + { .name = "second", .parent = &softnodes[0], }, + { .name = "third", .parent = &softnodes[1], }, + { NULL /* Guardian */ }, + }; + const char * const full_name = "/second/third"; + const char * const full_name_second = "/second"; + const char * const second_name = "second"; + const char * const third_name = "third"; + int rval; + + rval = software_node_register_nodes(softnodes); + if (rval) { + pr_warn("cannot register softnodes; rval %d\n", rval); + return; + } + + test(full_name_second, "%pfw", + software_node_fwnode(&softnodes[ARRAY_SIZE(softnodes) - 3]));"ARRAY_SIZE(softnodes) - 3" is quite cryptic. Is there any particular reason to use it instead of &softnodes[1] ?
I'm fine using a direct index, rather than refer to entries from the top downwards.
And is it expected that it does not print the "/first" parent?
Heikki actually commented on an issue related to the "root" nodes. I'll reply to his comment, on the 5th patch of the set.
quoted
+ test(full_name, "%pfw", + software_node_fwnode(&softnodes[ARRAY_SIZE(softnodes) - 2])); + test(full_name, "%pfwf", + software_node_fwnode(&softnodes[ARRAY_SIZE(softnodes) - 2])); + test(second_name, "%pfwP", + software_node_fwnode(&softnodes[ARRAY_SIZE(softnodes) - 3])); + test(third_name, "%pfwP", + software_node_fwnode(&softnodes[ARRAY_SIZE(softnodes) - 2])); + + software_node_unregister_nodes(softnodes); +}Anyway, thanks for the tests.
You're welcome! -- Kind regards, Sakari Ailus sakari.ailus@linux.intel.com