1*e87cacadSFrank Rowand// SPDX-License-Identifier: GPL-2.0 2*e87cacadSFrank Rowand/dts-v1/; 3*e87cacadSFrank Rowand/plugin/; 4*e87cacadSFrank Rowand 5*e87cacadSFrank Rowand/* 6*e87cacadSFrank Rowand * &electric_1/motor-1/electric and &spin_ctrl_1/electric are the same node: 7*e87cacadSFrank Rowand * /testcase-data-2/substation@100/motor-1/electric 8*e87cacadSFrank Rowand * 9*e87cacadSFrank Rowand * Thus the property "rpm_avail" in each fragment will 10*e87cacadSFrank Rowand * result in an attempt to update the same property twice. 11*e87cacadSFrank Rowand * This will result in an error and the overlay apply 12*e87cacadSFrank Rowand * will fail. 13*e87cacadSFrank Rowand * 14*e87cacadSFrank Rowand * The previous version of this test did not include the extra 15*e87cacadSFrank Rowand * level of node 'electric'. That resulted in the 'rpm_avail' 16*e87cacadSFrank Rowand * property being located in the pre-existing node 'motor-1'. 17*e87cacadSFrank Rowand * Modifying a property results in a WARNING that a memory leak 18*e87cacadSFrank Rowand * will occur if the overlay is removed. Since the overlay apply 19*e87cacadSFrank Rowand * fails, the memory leak does actually occur, and kmemleak will 20*e87cacadSFrank Rowand * further report the memory leak if CONFIG_DEBUG_KMEMLEAK is 21*e87cacadSFrank Rowand * enabled. Adding the overlay node 'electric' avoids the 22*e87cacadSFrank Rowand * memory leak and thus people who use kmemleak will not 23*e87cacadSFrank Rowand * have to debug this non-problem again. 24*e87cacadSFrank Rowand */ 25*e87cacadSFrank Rowand 26*e87cacadSFrank Rowand&electric_1 { 27*e87cacadSFrank Rowand motor-1 { 28*e87cacadSFrank Rowand electric { 29*e87cacadSFrank Rowand rpm_avail = <100>; 30*e87cacadSFrank Rowand }; 31*e87cacadSFrank Rowand }; 32*e87cacadSFrank Rowand}; 33*e87cacadSFrank Rowand 34*e87cacadSFrank Rowand&spin_ctrl_1 { 35*e87cacadSFrank Rowand electric { 36*e87cacadSFrank Rowand rpm_avail = <100 200>; 37*e87cacadSFrank Rowand }; 38*e87cacadSFrank Rowand}; 39