[staging:staging-testing 189/192] drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:48:25: error: implicit declaration of function '__glue'

kbuild test robot fengguang.wu at intel.com
Mon Oct 10 15:22:29 UTC 2016


tree:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git staging-testing
head:   b5596d52a3715a37d6d0875791d93ae5b73c6f21
commit: 6e523414a8f7da23f59154b85544a96d5bf580f8 [189/192] staging: vc04_services: fix dmac_map/unmap_area prototypes
config: arm64-allmodconfig (attached as .config)
compiler: aarch64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 6e523414a8f7da23f59154b85544a96d5bf580f8
        # save the attached .config to linux build tree
        make.cross ARCH=arm64 

All errors (new ones prefixed by >>):

   In file included from drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:58:0:
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_killable.h:67:0: warning: "mutex_lock_interruptible" redefined
    #define mutex_lock_interruptible mutex_lock_interruptible_killable
    
   In file included from include/linux/kref.h:21:0,
                    from include/linux/interrupt.h:15,
                    from drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:37:
   include/linux/mutex.h:147:0: note: this is the location of the previous definition
    #define mutex_lock_interruptible(lock) mutex_lock_interruptible_nested(lock, 0)
    
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c: In function 'vchiq_platform_init':
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:104:25: error: implicit declaration of function 'virt_to_dma' [-Werror=implicit-function-declaration]
     g_virt_to_bus_offset = virt_to_dma(dev, (void *)0);
                            ^~~~~~~~~~~
   In file included from arch/arm64/include/asm/bug.h:62:0,
                    from include/linux/bug.h:4,
                    from include/linux/thread_info.h:11,
                    from include/asm-generic/preempt.h:4,
                    from ./arch/arm64/include/generated/asm/preempt.h:1,
                    from include/linux/preempt.h:59,
                    from include/linux/interrupt.h:8,
                    from drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:37:
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:121:11: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     WARN_ON(((int)slot_mem & (PAGE_SIZE - 1)) != 0);
              ^
   include/asm-generic/bug.h:92:25: note: in definition of macro 'WARN_ON'
     int __ret_warn_on = !!(condition);    \
                            ^~~~~~~~~
   In file included from drivers/staging/vc04_services//interface/vchiq_arm/vchiq_arm.h:42:0,
                    from drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:55:
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:175:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      (unsigned int)vchiq_slot_zero, &slot_phys);
      ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:67:39: note: in definition of macro 'vchiq_log_info'
      printk(VCHIQ_LOG_PREFIX fmt "\n", ##__VA_ARGS__); } while (0)
                                          ^~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c: In function 'vchiq_copy_from_user':
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:222:6: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     if ((uint32_t)src < TASK_SIZE) {
         ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c: In function 'create_pagelist':
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:375:11: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     offset = (unsigned int)buf & (PAGE_SIZE - 1);
              ^
   In file included from drivers/staging/vc04_services//interface/vchiq_arm/vchiq_arm.h:42:0,
                    from drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:55:
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:390:27: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      "create_pagelist - %x", (unsigned int)pagelist);
                              ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:72:39: note: in definition of macro 'vchiq_log_trace'
      printk(VCHIQ_LOG_PREFIX fmt "\n", ##__VA_ARGS__); } while (0)
                                          ^~~~~~~~~~~
>> drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:48:25: error: implicit declaration of function '__glue' [-Werror=implicit-function-declaration]
    #define dmac_map_area   __glue(_CACHE,_dma_map_area)
                            ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:413:4: note: in expansion of macro 'dmac_map_area'
       dmac_map_area(page_address(pg) + off, bytes, dir);
       ^~~~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:48:32: error: '_CACHE' undeclared (first use in this function)
    #define dmac_map_area   __glue(_CACHE,_dma_map_area)
                                   ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:413:4: note: in expansion of macro 'dmac_map_area'
       dmac_map_area(page_address(pg) + off, bytes, dir);
       ^~~~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:48:32: note: each undeclared identifier is reported only once for each function it appears in
    #define dmac_map_area   __glue(_CACHE,_dma_map_area)
                                   ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:413:4: note: in expansion of macro 'dmac_map_area'
       dmac_map_area(page_address(pg) + off, bytes, dir);
       ^~~~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:48:39: error: '_dma_map_area' undeclared (first use in this function)
    #define dmac_map_area   __glue(_CACHE,_dma_map_area)
                                          ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:413:4: note: in expansion of macro 'dmac_map_area'
       dmac_map_area(page_address(pg) + off, bytes, dir);
       ^~~~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:500:2: error: implicit declaration of function 'dmac_flush_range' [-Werror=implicit-function-declaration]
     dmac_flush_range(pagelist, addrs + num_pages);
     ^~~~~~~~~~~~~~~~
   In file included from drivers/staging/vc04_services//interface/vchiq_arm/vchiq_arm.h:42:0,
                    from drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:55:
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c: In function 'free_pagelist':
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:515:29: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      "free_pagelist - %x, %d", (unsigned int)pagelist, actual);
                                ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:72:39: note: in definition of macro 'vchiq_log_trace'
      printk(VCHIQ_LOG_PREFIX fmt "\n", ##__VA_ARGS__); } while (0)
                                          ^~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:49:34: error: '_CACHE' undeclared (first use in this function)
    #define dmac_unmap_area   __glue(_CACHE,_dma_unmap_area)
                                     ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:572:5: note: in expansion of macro 'dmac_unmap_area'
        dmac_unmap_area(page_address(pg) + offset,
        ^~~~~~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:49:41: error: '_dma_unmap_area' undeclared (first use in this function)
    #define dmac_unmap_area   __glue(_CACHE,_dma_unmap_area)
                                            ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c:572:5: note: in expansion of macro 'dmac_unmap_area'
        dmac_unmap_area(page_address(pg) + offset,
        ^~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/__glue +48 drivers/staging/vc04_services//interface/vchiq_arm/vchiq_2835_arm.c

71bad7f0 popcornmix 2013-07-02  42  #include <linux/platform_device.h>
71bad7f0 popcornmix 2013-07-02  43  #include <linux/uaccess.h>
71bad7f0 popcornmix 2013-07-02  44  #include <linux/of.h>
71bad7f0 popcornmix 2013-07-02  45  #include <asm/pgtable.h>
71bad7f0 popcornmix 2013-07-02  46  #include <soc/bcm2835/raspberrypi-firmware.h>
71bad7f0 popcornmix 2013-07-02  47  
71bad7f0 popcornmix 2013-07-02 @48  #define dmac_map_area			__glue(_CACHE,_dma_map_area)
71bad7f0 popcornmix 2013-07-02  49  #define dmac_unmap_area 		__glue(_CACHE,_dma_unmap_area)
71bad7f0 popcornmix 2013-07-02  50  
71bad7f0 popcornmix 2013-07-02  51  #define TOTAL_SLOTS (VCHIQ_SLOT_ZERO_SLOTS + 2 * 32)
71bad7f0 popcornmix 2013-07-02  52  
71bad7f0 popcornmix 2013-07-02  53  #define VCHIQ_ARM_ADDRESS(x) ((void *)((char *)x + g_virt_to_bus_offset))
71bad7f0 popcornmix 2013-07-02  54  
71bad7f0 popcornmix 2013-07-02 @55  #include "vchiq_arm.h"
71bad7f0 popcornmix 2013-07-02  56  #include "vchiq_2835.h"
71bad7f0 popcornmix 2013-07-02  57  #include "vchiq_connected.h"
71bad7f0 popcornmix 2013-07-02  58  #include "vchiq_killable.h"

:::::: The code at line 48 was first introduced by commit
:::::: 71bad7f086419dc674244b91ca35a12bfa4cb597 staging: add bcm2708 vchiq driver

:::::: TO: popcornmix <popcornmix at gmail.com>
:::::: CC: Greg Kroah-Hartman <gregkh at linuxfoundation.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 52321 bytes
Desc: not available
URL: <http://driverdev.linuxdriverproject.org/pipermail/driverdev-devel/attachments/20161010/ac0fa9a6/attachment-0001.bin>


More information about the devel mailing list