diff options
Diffstat (limited to 'drivers/of/unittest.c')
| -rw-r--r-- | drivers/of/unittest.c | 28 | 
1 files changed, 19 insertions, 9 deletions
| diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c index 7e27670c3616..398de04fd19c 100644 --- a/drivers/of/unittest.c +++ b/drivers/of/unittest.c @@ -861,6 +861,10 @@ static void __init of_unittest_changeset(void)  	unittest(!of_changeset_revert(&chgset), "revert failed\n");  	of_changeset_destroy(&chgset); + +	of_node_put(n1); +	of_node_put(n2); +	of_node_put(n21);  #endif  } @@ -1243,10 +1247,13 @@ static void __init of_unittest_platform_populate(void)  	of_platform_populate(np, match, NULL, &test_bus->dev);  	for_each_child_of_node(np, child) { -		for_each_child_of_node(child, grandchild) -			unittest(of_find_device_by_node(grandchild), +		for_each_child_of_node(child, grandchild) { +			pdev = of_find_device_by_node(grandchild); +			unittest(pdev,  				 "Could not create device for node '%pOFn'\n",  				 grandchild); +			of_dev_put(pdev); +		}  	}  	of_platform_depopulate(&test_bus->dev); @@ -3087,8 +3094,11 @@ static __init void of_unittest_overlay_high_level(void)  				goto err_unlock;  			}  			if (__of_add_property(of_symbols, new_prop)) { +				kfree(new_prop->name); +				kfree(new_prop->value); +				kfree(new_prop);  				/* "name" auto-generated by unflatten */ -				if (!strcmp(new_prop->name, "name")) +				if (!strcmp(prop->name, "name"))  					continue;  				unittest(0, "duplicate property '%s' in overlay_base node __symbols__",  					 prop->name); @@ -3171,21 +3181,21 @@ static __init void of_unittest_overlay_high_level(void)  		   "OF: overlay: ERROR: multiple fragments add and/or delete node /testcase-data-2/substation@100/motor-1/controller");  	EXPECT_BEGIN(KERN_ERR, -		     "OF: overlay: WARNING: memory leak will occur if overlay removed, property: /testcase-data-2/substation@100/motor-1/rpm_avail"); +		     "OF: overlay: ERROR: multiple fragments add and/or delete node /testcase-data-2/substation@100/motor-1/electric");  	EXPECT_BEGIN(KERN_ERR, -		     "OF: overlay: WARNING: memory leak will occur if overlay removed, property: /testcase-data-2/substation@100/motor-1/rpm_avail"); +		     "OF: overlay: ERROR: multiple fragments add, update, and/or delete property /testcase-data-2/substation@100/motor-1/electric/rpm_avail");  	EXPECT_BEGIN(KERN_ERR, -		     "OF: overlay: ERROR: multiple fragments add, update, and/or delete property /testcase-data-2/substation@100/motor-1/rpm_avail"); +		     "OF: overlay: ERROR: multiple fragments add, update, and/or delete property /testcase-data-2/substation@100/motor-1/electric/name");  	unittest(overlay_data_apply("overlay_bad_add_dup_prop", NULL),  		 "Adding overlay 'overlay_bad_add_dup_prop' failed\n");  	EXPECT_END(KERN_ERR, -		   "OF: overlay: ERROR: multiple fragments add, update, and/or delete property /testcase-data-2/substation@100/motor-1/rpm_avail"); +		     "OF: overlay: ERROR: multiple fragments add, update, and/or delete property /testcase-data-2/substation@100/motor-1/electric/name");  	EXPECT_END(KERN_ERR, -		   "OF: overlay: WARNING: memory leak will occur if overlay removed, property: /testcase-data-2/substation@100/motor-1/rpm_avail"); +		     "OF: overlay: ERROR: multiple fragments add, update, and/or delete property /testcase-data-2/substation@100/motor-1/electric/rpm_avail");  	EXPECT_END(KERN_ERR, -		   "OF: overlay: WARNING: memory leak will occur if overlay removed, property: /testcase-data-2/substation@100/motor-1/rpm_avail"); +		     "OF: overlay: ERROR: multiple fragments add and/or delete node /testcase-data-2/substation@100/motor-1/electric");  	unittest(overlay_data_apply("overlay_bad_phandle", NULL),  		 "Adding overlay 'overlay_bad_phandle' failed\n"); |