From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sakari Ailus Subject: [PATCH v9 12/12] lib/test_printf: Add tests for %pfw printk modifier Date: Thu, 3 Oct 2019 15:32:19 +0300 Message-ID: <20191003123219.11237-13-sakari.ailus@linux.intel.com> References: <20191003123219.11237-1-sakari.ailus@linux.intel.com> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <20191003123219.11237-1-sakari.ailus@linux.intel.com> Sender: linux-kernel-owner@vger.kernel.org To: Petr Mladek , linux-kernel@vger.kernel.org, rafael@kernel.org Cc: Andy Shevchenko , linux-acpi@vger.kernel.org, devicetree@vger.kernel.org, Rob Herring , Heikki Krogerus , Joe Perches List-Id: devicetree@vger.kernel.org Add a test for the %pfw printk modifier using software nodes. Signed-off-by: Sakari Ailus Reviewed-by: Andy Shevchenko Reviewed-by: Petr Mladek --- lib/test_printf.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/lib/test_printf.c b/lib/test_printf.c index 944eb50f38625..bb6a7d334084b 100644 --- a/lib/test_printf.c +++ b/lib/test_printf.c @@ -22,6 +22,8 @@ #include #include +#include + #include "../tools/testing/selftests/kselftest_module.h" #define BUF_SIZE 256 @@ -588,6 +590,35 @@ 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 = "first/second/third"; + const char * const full_name_second = "first/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[1])); + test(full_name, "%pfw", software_node_fwnode(&softnodes[2])); + test(full_name, "%pfwf", software_node_fwnode(&softnodes[2])); + test(second_name, "%pfwP", software_node_fwnode(&softnodes[1])); + test(third_name, "%pfwP", software_node_fwnode(&softnodes[2])); + + software_node_unregister_nodes(softnodes); +} + static void __init test_pointer(void) { @@ -610,6 +641,7 @@ test_pointer(void) bitmap(); netdev_features(); flags(); + fwnode_pointer(); } static void __init selftest(void) -- 2.20.1