From: Frank Rowand <frank.rowand@xxxxxxxx> Printing the devicetree unittest pass message for each passed test creates much console verbosity. The existing pass messages are printed at loglevel KERN_DEBUG so they will not print by default. Change default to print the pass messages at the same loglevel as the fail messages. The test community expects either a pass or a fail message for each test in a test suite. The messages are typically post-processed to report pass/fail results. Suppressing printing the pass message for each individual test is available via the kernel command line parameter unittest.hide_pass. Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxx> --- Documentation/admin-guide/kernel-parameters.txt | 4 ++++ drivers/of/unittest.c | 17 ++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index f5a27f067db9..045455f9b7e1 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -5997,6 +5997,10 @@ Note that genuine overcurrent events won't be reported either. + unittest.hide_pass + Disable printing individual drivers/of/unittest test + pass messages. + unknown_nmi_panic [X86] Cause panic on unknown NMI. diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c index 70992103c07d..2cfbdc6b29ac 100644 --- a/drivers/of/unittest.c +++ b/drivers/of/unittest.c @@ -12,6 +12,7 @@ #include <linux/errno.h> #include <linux/hashtable.h> #include <linux/libfdt.h> +#include <linux/module.h> #include <linux/of.h> #include <linux/of_address.h> #include <linux/of_fdt.h> @@ -32,6 +33,19 @@ #include "of_private.h" +MODULE_LICENSE("GPL v2"); +static bool hide_pass; + +static int __init hide_pass_setup(char *str) +{ + hide_pass = true; + return 0; +} + +early_param("hide_pass", hide_pass_setup); +module_param(hide_pass, bool, 0); +MODULE_PARM_DESC(hide_pass, "Disable printing individual of unittest pass messages"); + static struct unittest_results { int passed; int failed; @@ -44,7 +58,8 @@ static struct unittest_results { pr_err("FAIL %s():%i " fmt, __func__, __LINE__, ##__VA_ARGS__); \ } else { \ unittest_results.passed++; \ - pr_debug("pass %s():%i\n", __func__, __LINE__); \ + if (!hide_pass) \ + pr_err("pass %s():%i\n", __func__, __LINE__); \ } \ failed; \ }) -- Frank Rowand <frank.rowand@xxxxxxxx>