linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [Patch 0/5] dt: unittest: fix breakage and warnings
@ 2015-03-14  5:25 Frank Rowand
  2015-03-14  6:57 ` [Patch 1/5] dt: unittest: early return from test skips tests Frank Rowand
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Frank Rowand @ 2015-03-14  5:25 UTC (permalink / raw)
  To: Grant Likely, Rob Herring, Linux Kernel list, devicetree

Running checkpatch on early versions of my patchset to fix the devicetree
make dependency issues exposed a large number of warnings, including some that
are actual bugs.  http://lkml.iu.edu/hypermail/linux/kernel/1503.1/03335.html

These patches fix those bugs, and another bug exposed by fixing those bugs.
As a result, the number of tests completed increased from 102 to 107.

Since I was already poking around, I fixed a few classes of checkpatch warnings.

There are still plenty of warnings, but the noise is greatly reduced and future
checkpatch warnings that are problems should stand out more clearly.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Patch 1/5] dt: unittest: early return from test skips tests
  2015-03-14  5:25 [Patch 0/5] dt: unittest: fix breakage and warnings Frank Rowand
@ 2015-03-14  6:57 ` Frank Rowand
  2015-03-28  3:58   ` Grant Likely
  2015-03-14  6:59 ` [Patch 2/5] dt: unittest: typo in error string Frank Rowand
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 8+ messages in thread
From: Frank Rowand @ 2015-03-14  6:57 UTC (permalink / raw)
  To: Grant Likely, Rob Herring, Linux Kernel list, devicetree

From: Frank Rowand <frank.rowand@sonymobile.com>

Fix bugs pointed out by checkpatch.

Mis-coding of two if statements caused early return from function.

Number of tests completed increased from 102 to 107.
Number of tests failed increased from 0 to 2.

Signed-off-by: Frank Rowand <frank.rowand@sonymobile.com>
---
 drivers/of/unittest.c |   10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

Index: b/drivers/of/unittest.c
===================================================================
--- a/drivers/of/unittest.c
+++ b/drivers/of/unittest.c
@@ -762,12 +762,14 @@ static void __init of_selftest_platform_
 	irq = platform_get_irq(pdev, 0);
 	selftest(irq < 0 && irq != -EPROBE_DEFER, "device parsing error failed - %d\n", irq);
 
-	if (selftest(np = of_find_node_by_path("/testcase-data/platform-tests"),
-		     "No testcase data in device tree\n"));
+	np = of_find_node_by_path("/testcase-data/platform-tests");
+	selftest(np, "No testcase data in device tree\n");
+	if (!np)
 		return;
 
-	if (selftest(!(rc = device_register(&test_bus)),
-		     "testbus registration failed; rc=%i\n", rc));
+	rc = device_register(&test_bus);
+	selftest(!rc, "testbus registration failed; rc=%i\n", rc);
+	if (rc)
 		return;
 
 	for_each_child_of_node(np, child) {

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Patch 2/5] dt: unittest: typo in error string
  2015-03-14  5:25 [Patch 0/5] dt: unittest: fix breakage and warnings Frank Rowand
  2015-03-14  6:57 ` [Patch 1/5] dt: unittest: early return from test skips tests Frank Rowand
@ 2015-03-14  6:59 ` Frank Rowand
  2015-03-14  7:00 ` [Patch 3/5] dt: unittest: add const where needed Frank Rowand
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Frank Rowand @ 2015-03-14  6:59 UTC (permalink / raw)
  To: Grant Likely, Rob Herring, Linux Kernel list, devicetree

From: Frank Rowand <frank.rowand@sonymobile.com>

Fix bug pointed out by checkpatch.

Splitting string incorrectly removed a space between two words.

Signed-off-by: Frank Rowand <frank.rowand@sonymobile.com>
---
 drivers/of/unittest.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Index: b/drivers/of/unittest.c
===================================================================
--- a/drivers/of/unittest.c
+++ b/drivers/of/unittest.c
@@ -212,8 +212,9 @@ static void __init of_selftest_check_tre
 	child_count = of_selftest_check_node_linkage(of_root);
 
 	selftest(child_count > 0, "Device node data structure is corrupted\n");
-	selftest(child_count == allnode_count, "allnodes list size (%i) doesn't match"
-		 "sibling lists size (%i)\n", allnode_count, child_count);
+	selftest(child_count == allnode_count,
+		 "allnodes list size (%i) doesn't match sibling lists size (%i)\n",
+		 allnode_count, child_count);
 	pr_debug("allnodes list size (%i); sibling lists size (%i)\n", allnode_count, child_count);
 }
 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Patch 3/5] dt: unittest: add const where needed
  2015-03-14  5:25 [Patch 0/5] dt: unittest: fix breakage and warnings Frank Rowand
  2015-03-14  6:57 ` [Patch 1/5] dt: unittest: early return from test skips tests Frank Rowand
  2015-03-14  6:59 ` [Patch 2/5] dt: unittest: typo in error string Frank Rowand
@ 2015-03-14  7:00 ` Frank Rowand
  2015-03-14  7:02 ` [Patch 4/5] dt: unittest: reduce checkpatch noise - line after declarations Frank Rowand
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Frank Rowand @ 2015-03-14  7:00 UTC (permalink / raw)
  To: Grant Likely, Rob Herring, Linux Kernel list, devicetree

From: Frank Rowand <frank.rowand@sonymobile.com>

Fix warnings pointed out by checkpatch.

No bugs fixed, but the test code should be a good example of how to use
the devicetree API.

Signed-off-by: Frank Rowand <frank.rowand@sonymobile.com>
---
 drivers/of/unittest.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Index: b/drivers/of/unittest.c
===================================================================
--- a/drivers/of/unittest.c
+++ b/drivers/of/unittest.c
@@ -666,7 +666,7 @@ static void __init of_selftest_parse_int
 	of_node_put(np);
 }
 
-static struct of_device_id match_node_table[] = {
+static const struct of_device_id match_node_table[] = {
 	{ .data = "A", .name = "name0", }, /* Name alone is lowest priority */
 	{ .data = "B", .type = "type1", }, /* followed by type alone */
 
@@ -740,7 +740,7 @@ static void __init of_selftest_platform_
 	int irq, rc;
 	struct device_node *np, *child, *grandchild;
 	struct platform_device *pdev;
-	struct of_device_id match[] = {
+	const struct of_device_id match[] = {
 		{ .compatible = "test-device", },
 		{}
 	};
@@ -941,7 +941,7 @@ static int selftest_remove(struct platfo
 	return 0;
 }
 
-static struct of_device_id selftest_match[] = {
+static const struct of_device_id selftest_match[] = {
 	{ .compatible = "selftest", },
 	{},
 };
@@ -1533,7 +1533,7 @@ static int selftest_i2c_bus_remove(struc
 	return 0;
 }
 
-static struct of_device_id selftest_i2c_bus_match[] = {
+static const struct of_device_id selftest_i2c_bus_match[] = {
 	{ .compatible = "selftest-i2c-bus", },
 	{},
 };

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Patch 4/5] dt: unittest: reduce checkpatch noise - line after declarations
  2015-03-14  5:25 [Patch 0/5] dt: unittest: fix breakage and warnings Frank Rowand
                   ` (2 preceding siblings ...)
  2015-03-14  7:00 ` [Patch 3/5] dt: unittest: add const where needed Frank Rowand
@ 2015-03-14  7:02 ` Frank Rowand
  2015-03-14  7:04 ` [Patch 5/5] dt: unittest: breadcrumbs to reduce pain of future maintainers Frank Rowand
  2015-03-28  2:55 ` [Patch 0/5] dt: unittest: fix breakage and warnings Grant Likely
  5 siblings, 0 replies; 8+ messages in thread
From: Frank Rowand @ 2015-03-14  7:02 UTC (permalink / raw)
  To: Grant Likely, Rob Herring, Linux Kernel list, devicetree

From: Frank Rowand <frank.rowand@sonymobile.com>

Fix warnings pointed out by checkpatch.

No bug fixes, but reduce the number of checkpatch warnings so that future
problems will stand out better.

Signed-off-by: Frank Rowand <frank.rowand@sonymobile.com>
---
 drivers/of/unittest.c |    5 +++++
 1 file changed, 5 insertions(+)

Index: b/drivers/of/unittest.c
===================================================================
--- a/drivers/of/unittest.c
+++ b/drivers/of/unittest.c
@@ -279,6 +279,7 @@ static void __init of_selftest_parse_pha
 
 	for (i = 0; i < 8; i++) {
 		bool passed = true;
+
 		rc = of_parse_phandle_with_args(np, "phandle-list",
 						"#phandle-cells", i, &args);
 
@@ -539,6 +540,7 @@ static void __init of_selftest_parse_int
 
 	for (i = 0; i < 4; i++) {
 		bool passed = true;
+
 		args.args_count = 0;
 		rc = of_irq_parse_one(np, i, &args);
 
@@ -559,6 +561,7 @@ static void __init of_selftest_parse_int
 
 	for (i = 0; i < 4; i++) {
 		bool passed = true;
+
 		args.args_count = 0;
 		rc = of_irq_parse_one(np, i, &args);
 
@@ -611,6 +614,7 @@ static void __init of_selftest_parse_int
 
 	for (i = 0; i < 7; i++) {
 		bool passed = true;
+
 		rc = of_irq_parse_one(np, i, &args);
 
 		/* Test the values from tests-phandle.dtsi */
@@ -905,6 +909,7 @@ static int __init selftest_data_add(void
 	np = selftest_data_node->child;
 	while (np) {
 		struct device_node *next = np->sibling;
+
 		np->parent = of_root;
 		attach_node_and_children(np);
 		np = next;

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Patch 5/5] dt: unittest: breadcrumbs to reduce pain of future maintainers
  2015-03-14  5:25 [Patch 0/5] dt: unittest: fix breakage and warnings Frank Rowand
                   ` (3 preceding siblings ...)
  2015-03-14  7:02 ` [Patch 4/5] dt: unittest: reduce checkpatch noise - line after declarations Frank Rowand
@ 2015-03-14  7:04 ` Frank Rowand
  2015-03-28  2:55 ` [Patch 0/5] dt: unittest: fix breakage and warnings Grant Likely
  5 siblings, 0 replies; 8+ messages in thread
From: Frank Rowand @ 2015-03-14  7:04 UTC (permalink / raw)
  To: Grant Likely, Rob Herring, Linux Kernel list, devicetree

From: Frank Rowand <frank.rowand@sonymobile.com>

Fix warnings pointed out by checkpatch.

Checkpatch warns: externs should be avoided in .c files

Reducing pain for future maintainers - adding a comment so that anyone trying
to find where the extern data is created will be able to find it.
(grep will not find that location)


Signed-off-by: Frank Rowand <frank.rowand@sonymobile.com>
---
 drivers/of/unittest.c |    4 ++++
 1 file changed, 4 insertions(+)

Index: b/drivers/of/unittest.c
===================================================================
--- a/drivers/of/unittest.c
+++ b/drivers/of/unittest.c
@@ -865,6 +865,10 @@ static int __init selftest_data_add(void
 {
 	void *selftest_data;
 	struct device_node *selftest_data_node, *np;
+	/*
+	 * __dtb_testcases_begin[] and __dtb_testcases_end[] are magically
+	 * created by cmd_dt_S_dtb in scripts/Makefile.lib
+	 */
 	extern uint8_t __dtb_testcases_begin[];
 	extern uint8_t __dtb_testcases_end[];
 	const int size = __dtb_testcases_end - __dtb_testcases_begin;

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Patch 0/5] dt: unittest: fix breakage and warnings
  2015-03-14  5:25 [Patch 0/5] dt: unittest: fix breakage and warnings Frank Rowand
                   ` (4 preceding siblings ...)
  2015-03-14  7:04 ` [Patch 5/5] dt: unittest: breadcrumbs to reduce pain of future maintainers Frank Rowand
@ 2015-03-28  2:55 ` Grant Likely
  5 siblings, 0 replies; 8+ messages in thread
From: Grant Likely @ 2015-03-28  2:55 UTC (permalink / raw)
  To: frowand.list, Rob Herring, Linux Kernel list, devicetree

On Fri, 13 Mar 2015 22:25:51 -0700
, Frank Rowand <frowand.list@gmail.com>
 wrote:
> Running checkpatch on early versions of my patchset to fix the devicetree
> make dependency issues exposed a large number of warnings, including some that
> are actual bugs.  http://lkml.iu.edu/hypermail/linux/kernel/1503.1/03335.html
> 
> These patches fix those bugs, and another bug exposed by fixing those bugs.
> As a result, the number of tests completed increased from 102 to 107.
> 
> Since I was already poking around, I fixed a few classes of checkpatch warnings.
> 
> There are still plenty of warnings, but the noise is greatly reduced and future
> checkpatch warnings that are problems should stand out more clearly.

Thanks for rooting these out. I'll apply the bug fix for v4.0, and the
rest for v4.1

g.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Patch 1/5] dt: unittest: early return from test skips tests
  2015-03-14  6:57 ` [Patch 1/5] dt: unittest: early return from test skips tests Frank Rowand
@ 2015-03-28  3:58   ` Grant Likely
  0 siblings, 0 replies; 8+ messages in thread
From: Grant Likely @ 2015-03-28  3:58 UTC (permalink / raw)
  To: frowand.list, Rob Herring, Linux Kernel list, devicetree

On Fri, 13 Mar 2015 23:57:40 -0700
, Frank Rowand <frowand.list@gmail.com>
 wrote:
> From: Frank Rowand <frank.rowand@sonymobile.com>
> 
> Fix bugs pointed out by checkpatch.
> 
> Mis-coding of two if statements caused early return from function.
> 
> Number of tests completed increased from 102 to 107.
> Number of tests failed increased from 0 to 2.

I was going to send this to Linus right away, but on second thought, it
isn't actually a regression fix. I'm going to queue it up for v4.1 with
the rest of the series instead.

I've also got a bug fix for the new warnings that I'll put in at the
same time.

g.

> 
> Signed-off-by: Frank Rowand <frank.rowand@sonymobile.com>
> ---
>  drivers/of/unittest.c |   10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> Index: b/drivers/of/unittest.c
> ===================================================================
> --- a/drivers/of/unittest.c
> +++ b/drivers/of/unittest.c
> @@ -762,12 +762,14 @@ static void __init of_selftest_platform_
>  	irq = platform_get_irq(pdev, 0);
>  	selftest(irq < 0 && irq != -EPROBE_DEFER, "device parsing error failed - %d\n", irq);
>  
> -	if (selftest(np = of_find_node_by_path("/testcase-data/platform-tests"),
> -		     "No testcase data in device tree\n"));
> +	np = of_find_node_by_path("/testcase-data/platform-tests");
> +	selftest(np, "No testcase data in device tree\n");
> +	if (!np)
>  		return;
>  
> -	if (selftest(!(rc = device_register(&test_bus)),
> -		     "testbus registration failed; rc=%i\n", rc));
> +	rc = device_register(&test_bus);
> +	selftest(!rc, "testbus registration failed; rc=%i\n", rc);
> +	if (rc)
>  		return;
>  
>  	for_each_child_of_node(np, child) {
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2015-03-28 12:04 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-14  5:25 [Patch 0/5] dt: unittest: fix breakage and warnings Frank Rowand
2015-03-14  6:57 ` [Patch 1/5] dt: unittest: early return from test skips tests Frank Rowand
2015-03-28  3:58   ` Grant Likely
2015-03-14  6:59 ` [Patch 2/5] dt: unittest: typo in error string Frank Rowand
2015-03-14  7:00 ` [Patch 3/5] dt: unittest: add const where needed Frank Rowand
2015-03-14  7:02 ` [Patch 4/5] dt: unittest: reduce checkpatch noise - line after declarations Frank Rowand
2015-03-14  7:04 ` [Patch 5/5] dt: unittest: breadcrumbs to reduce pain of future maintainers Frank Rowand
2015-03-28  2:55 ` [Patch 0/5] dt: unittest: fix breakage and warnings Grant Likely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).