[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