tree:   
https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git 
topic/renesas-overlays
head:   21b4ee226c68bdaba9db7f6fc7cbdfab58db40b9
commit: 3b480353c59beefd9537feca3febda56339bbb21 [20/86] of: rename 
*_node_sysfs to _node_post
config: x86_64-randconfig-x013-201729 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        git checkout 3b480353c59beefd9537feca3febda56339bbb21
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers//of/unittest.c: In function 'of_unittest_overlay_high_level':
>> drivers//of/unittest.c:2586:3: error: implicit declaration of function 
>> '__of_attach_node_sysfs' [-Werror=implicit-function-declaration]
      __of_attach_node_sysfs(np);
      ^~~~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/err.h:4:0,
                    from include/linux/clk.h:15,
                    from drivers//of/unittest.c:7:
   drivers//of/unittest.c: At top level:
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in 
inline function 'strcpy' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:390:2: note: in expansion of macro 'if'
     if (p_size == (size_t)-1 && q_size == (size_t)-1)
     ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in 
inline function 'kmemdup' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:380:2: note: in expansion of macro 'if'
     if (p_size < size)
     ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in 
inline function 'kmemdup' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:378:2: note: in expansion of macro 'if'
     if (__builtin_constant_p(size) && p_size < size)
     ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in 
inline function 'memchr_inv' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:369:2: note: in expansion of macro 'if'
     if (p_size < size)
     ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in 
inline function 'memchr_inv' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:367:2: note: in expansion of macro 'if'
     if (__builtin_constant_p(size) && p_size < size)
     ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in 
inline function 'memchr' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:358:2: note: in expansion of macro 'if'
     if (p_size < size)
     ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in 
inline function 'memchr' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:356:2: note: in expansion of macro 'if'
     if (__builtin_constant_p(size) && p_size < size)
     ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in 
inline function 'memcmp' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:348:2: note: in expansion of macro 'if'
     if (p_size < size || q_size < size)
     ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in 
inline function 'memcmp' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:345:3: note: in expansion of macro 'if'
      if (q_size < size)
      ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in 
inline function 'memcmp' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:343:3: note: in expansion of macro 'if'
      if (p_size < size)
      ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in 
inline function 'memcmp' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'

vim +/__of_attach_node_sysfs +2586 drivers//of/unittest.c

81d0848fc Frank Rowand  2017-04-25  2493  
81d0848fc Frank Rowand  2017-04-25  2494  /*
81d0848fc Frank Rowand  2017-04-25  2495   * The purpose of 
of_unittest_overlay_high_level is to add an overlay
81d0848fc Frank Rowand  2017-04-25  2496   * in the normal fashion.  This is a 
test of the whole picture,
81d0848fc Frank Rowand  2017-04-25  2497   * instead of individual elements.
81d0848fc Frank Rowand  2017-04-25  2498   *
81d0848fc Frank Rowand  2017-04-25  2499   * The first part of the function is 
_not_ normal overlay usage; it is
81d0848fc Frank Rowand  2017-04-25  2500   * finishing splicing the base 
overlay device tree into the live tree.
81d0848fc Frank Rowand  2017-04-25  2501   */
81d0848fc Frank Rowand  2017-04-25  2502  static __init void 
of_unittest_overlay_high_level(void)
81d0848fc Frank Rowand  2017-04-25  2503  {
81d0848fc Frank Rowand  2017-04-25  2504        struct device_node 
*last_sibling;
81d0848fc Frank Rowand  2017-04-25  2505        struct device_node *np;
81d0848fc Frank Rowand  2017-04-25  2506        struct device_node *of_symbols;
81d0848fc Frank Rowand  2017-04-25  2507        struct device_node 
*overlay_base_symbols;
81d0848fc Frank Rowand  2017-04-25  2508        struct device_node **pprev;
81d0848fc Frank Rowand  2017-04-25  2509        struct property *prop;
81d0848fc Frank Rowand  2017-04-25  2510        int ret;
81d0848fc Frank Rowand  2017-04-25  2511  
81d0848fc Frank Rowand  2017-04-25  2512        if (!overlay_base_root) {
81d0848fc Frank Rowand  2017-04-25  2513                unittest(0, 
"overlay_base_root not initialized\n");
81d0848fc Frank Rowand  2017-04-25  2514                return;
81d0848fc Frank Rowand  2017-04-25  2515        }
81d0848fc Frank Rowand  2017-04-25  2516  
81d0848fc Frank Rowand  2017-04-25  2517        /*
81d0848fc Frank Rowand  2017-04-25  2518         * Could not fixup phandles in 
unittest_unflatten_overlay_base()
81d0848fc Frank Rowand  2017-04-25  2519         * because kmalloc() was not 
yet available.
81d0848fc Frank Rowand  2017-04-25  2520         */
81d0848fc Frank Rowand  2017-04-25  2521        
of_resolve_phandles(overlay_base_root);
81d0848fc Frank Rowand  2017-04-25  2522  
81d0848fc Frank Rowand  2017-04-25  2523        /*
81d0848fc Frank Rowand  2017-04-25  2524         * do not allow overlay_base to 
duplicate any node already in
81d0848fc Frank Rowand  2017-04-25  2525         * tree, this greatly 
simplifies the code
81d0848fc Frank Rowand  2017-04-25  2526         */
81d0848fc Frank Rowand  2017-04-25  2527  
81d0848fc Frank Rowand  2017-04-25  2528        /*
81d0848fc Frank Rowand  2017-04-25  2529         * remove overlay_base_root 
node "__local_fixups", after
81d0848fc Frank Rowand  2017-04-25  2530         * being used by 
of_resolve_phandles()
81d0848fc Frank Rowand  2017-04-25  2531         */
81d0848fc Frank Rowand  2017-04-25  2532        pprev = 
&overlay_base_root->child;
81d0848fc Frank Rowand  2017-04-25  2533        for (np = 
overlay_base_root->child; np; np = np->sibling) {
81d0848fc Frank Rowand  2017-04-25  2534                if 
(!of_node_cmp(np->name, "__local_fixups__")) {
81d0848fc Frank Rowand  2017-04-25  2535                        *pprev = 
np->sibling;
81d0848fc Frank Rowand  2017-04-25  2536                        break;
81d0848fc Frank Rowand  2017-04-25  2537                }
81d0848fc Frank Rowand  2017-04-25  2538                pprev = &np->sibling;
81d0848fc Frank Rowand  2017-04-25  2539        }
81d0848fc Frank Rowand  2017-04-25  2540  
81d0848fc Frank Rowand  2017-04-25  2541        /* remove overlay_base_root 
node "__symbols__" if in live tree */
81d0848fc Frank Rowand  2017-04-25  2542        of_symbols = 
of_get_child_by_name(of_root, "__symbols__");
81d0848fc Frank Rowand  2017-04-25  2543        if (of_symbols) {
81d0848fc Frank Rowand  2017-04-25  2544                /* will have to graft 
properties from node into live tree */
81d0848fc Frank Rowand  2017-04-25  2545                pprev = 
&overlay_base_root->child;
81d0848fc Frank Rowand  2017-04-25  2546                for (np = 
overlay_base_root->child; np; np = np->sibling) {
81d0848fc Frank Rowand  2017-04-25  2547                        if 
(!of_node_cmp(np->name, "__symbols__")) {
81d0848fc Frank Rowand  2017-04-25  2548                                
overlay_base_symbols = np;
81d0848fc Frank Rowand  2017-04-25  2549                                *pprev 
= np->sibling;
81d0848fc Frank Rowand  2017-04-25  2550                                break;
81d0848fc Frank Rowand  2017-04-25  2551                        }
81d0848fc Frank Rowand  2017-04-25  2552                        pprev = 
&np->sibling;
81d0848fc Frank Rowand  2017-04-25  2553                }
81d0848fc Frank Rowand  2017-04-25  2554        }
81d0848fc Frank Rowand  2017-04-25  2555  
81d0848fc Frank Rowand  2017-04-25  2556        for (np = 
overlay_base_root->child; np; np = np->sibling) {
81d0848fc Frank Rowand  2017-04-25  2557                if 
(of_get_child_by_name(of_root, np->name)) {
81d0848fc Frank Rowand  2017-04-25  2558                        unittest(0, 
"illegal node name in overlay_base %s",
81d0848fc Frank Rowand  2017-04-25  2559                                
np->name);
81d0848fc Frank Rowand  2017-04-25  2560                        return;
81d0848fc Frank Rowand  2017-04-25  2561                }
81d0848fc Frank Rowand  2017-04-25  2562        }
81d0848fc Frank Rowand  2017-04-25  2563  
81d0848fc Frank Rowand  2017-04-25  2564        /*
81d0848fc Frank Rowand  2017-04-25  2565         * overlay 'overlay_base' is 
not allowed to have root
81d0848fc Frank Rowand  2017-04-25  2566         * properties, so only need to 
splice nodes into main device tree.
81d0848fc Frank Rowand  2017-04-25  2567         *
81d0848fc Frank Rowand  2017-04-25  2568         * root node of 
*overlay_base_root will not be freed, it is lost
81d0848fc Frank Rowand  2017-04-25  2569         * memory.
81d0848fc Frank Rowand  2017-04-25  2570         */
81d0848fc Frank Rowand  2017-04-25  2571  
81d0848fc Frank Rowand  2017-04-25  2572        for (np = 
overlay_base_root->child; np; np = np->sibling)
81d0848fc Frank Rowand  2017-04-25  2573                np->parent = of_root;
81d0848fc Frank Rowand  2017-04-25  2574  
81d0848fc Frank Rowand  2017-04-25  2575        mutex_lock(&of_mutex);
81d0848fc Frank Rowand  2017-04-25  2576  
ee320b33b Arnd Bergmann 2017-04-28  2577        for (last_sibling = np = 
of_root->child; np; np = np->sibling)
81d0848fc Frank Rowand  2017-04-25  2578                last_sibling = np;
81d0848fc Frank Rowand  2017-04-25  2579  
81d0848fc Frank Rowand  2017-04-25  2580        if (last_sibling)
81d0848fc Frank Rowand  2017-04-25  2581                last_sibling->sibling = 
overlay_base_root->child;
81d0848fc Frank Rowand  2017-04-25  2582        else
81d0848fc Frank Rowand  2017-04-25  2583                of_root->child = 
overlay_base_root->child;
81d0848fc Frank Rowand  2017-04-25  2584  
81d0848fc Frank Rowand  2017-04-25  2585        
for_each_of_allnodes_from(overlay_base_root, np)
81d0848fc Frank Rowand  2017-04-25 @2586                
__of_attach_node_sysfs(np);
81d0848fc Frank Rowand  2017-04-25  2587  
81d0848fc Frank Rowand  2017-04-25  2588        if (of_symbols) {
81d0848fc Frank Rowand  2017-04-25  2589                
for_each_property_of_node(overlay_base_symbols, prop) {
81d0848fc Frank Rowand  2017-04-25  2590                        ret = 
__of_add_property(of_symbols, prop);
81d0848fc Frank Rowand  2017-04-25  2591                        if (ret) {
81d0848fc Frank Rowand  2017-04-25  2592                                
unittest(0,
81d0848fc Frank Rowand  2017-04-25  2593                                        
 "duplicate property '%s' in overlay_base node __symbols__",
81d0848fc Frank Rowand  2017-04-25  2594                                        
 prop->name);
8756cd1de Dan Carpenter 2017-05-03  2595                                goto 
err_unlock;
81d0848fc Frank Rowand  2017-04-25  2596                        }
81d0848fc Frank Rowand  2017-04-25  2597                        ret = 
__of_add_property_sysfs(of_symbols, prop);
81d0848fc Frank Rowand  2017-04-25  2598                        if (ret) {
81d0848fc Frank Rowand  2017-04-25  2599                                
unittest(0,
81d0848fc Frank Rowand  2017-04-25  2600                                        
 "unable to add property '%s' in overlay_base node __symbols__ to sysfs",
81d0848fc Frank Rowand  2017-04-25  2601                                        
 prop->name);
8756cd1de Dan Carpenter 2017-05-03  2602                                goto 
err_unlock;
81d0848fc Frank Rowand  2017-04-25  2603                        }
81d0848fc Frank Rowand  2017-04-25  2604                }
81d0848fc Frank Rowand  2017-04-25  2605        }
81d0848fc Frank Rowand  2017-04-25  2606  
81d0848fc Frank Rowand  2017-04-25  2607        mutex_unlock(&of_mutex);
81d0848fc Frank Rowand  2017-04-25  2608  
81d0848fc Frank Rowand  2017-04-25  2609  
81d0848fc Frank Rowand  2017-04-25  2610        /* now do the normal overlay 
usage test */
81d0848fc Frank Rowand  2017-04-25  2611  
81d0848fc Frank Rowand  2017-04-25  2612        unittest(overlay_data_add(1),
81d0848fc Frank Rowand  2017-04-25  2613                 "Adding overlay 
'overlay' failed\n");
81d0848fc Frank Rowand  2017-04-25  2614  
81d0848fc Frank Rowand  2017-04-25  2615        unittest(overlay_data_add(2),
81d0848fc Frank Rowand  2017-04-25  2616                 "Adding overlay 
'overlay_bad_phandle' failed\n");
8756cd1de Dan Carpenter 2017-05-03  2617        return;
8756cd1de Dan Carpenter 2017-05-03  2618  
8756cd1de Dan Carpenter 2017-05-03  2619  err_unlock:
8756cd1de Dan Carpenter 2017-05-03  2620        mutex_unlock(&of_mutex);
81d0848fc Frank Rowand  2017-04-25  2621  }
81d0848fc Frank Rowand  2017-04-25  2622  

:::::: The code at line 2586 was first introduced by commit
:::::: 81d0848fc8d2058c4cc645d971435c889869433b of: Add unit tests for applying 
overlays

:::::: TO: Frank Rowand <frank.row...@sony.com>
:::::: CC: Rob Herring <r...@kernel.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to