tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git staging-testing head: 36c3c6ecedac0e96207e9454d77231b5b1857a3f commit: 36c3c6ecedac0e96207e9454d77231b5b1857a3f [1122/1122] staging: add bcm2708 vchiq driver config: arm-multi_v7_defconfig (attached as .config) compiler: arm-linux-gnueabi-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 36c3c6ecedac0e96207e9454d77231b5b1857a3f # save the attached .config to linux build tree make.cross ARCH=arm All error/warnings (new ones prefixed by >>): In file included from ./arch/arm/include/generated/asm/current.h:1:0, from include/linux/wait.h:9, from include/linux/mmzone.h:9, from include/linux/gfp.h:5, from include/linux/kmod.h:22, from include/linux/module.h:13, from drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:36: drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c: In function 'dump_phys_mem': >> include/asm-generic/current.h:6:23: warning: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] #define get_current() (current_thread_info()->task) ^ >> include/asm-generic/current.h:7:17: note: in expansion of macro 'get_current' #define current get_current() ^~~~~~~~~~~ >> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:1476:22: note: in expansion of macro 'current' rc = get_user_pages(current, /* task */ ^~~~~~~ In file included from drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:42:0: include/linux/mm.h:1293:6: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' long get_user_pages(unsigned long start, unsigned long nr_pages, ^~~~~~~~~~~~~~ In file included from ./arch/arm/include/generated/asm/current.h:1:0, from include/linux/wait.h:9, from include/linux/mmzone.h:9, from include/linux/gfp.h:5, from include/linux/kmod.h:22, from include/linux/module.h:13, from drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:36: include/asm-generic/current.h:6:23: warning: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] #define get_current() (current_thread_info()->task) ^ >> include/asm-generic/current.h:7:17: note: in expansion of macro 'get_current' #define current get_current() ^~~~~~~~~~~ drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:1477:3: note: in expansion of macro 'current' current->mm, /* mm */ ^~~~~~~ In file included from drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:42:0: include/linux/mm.h:1293:6: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' long get_user_pages(unsigned long start, unsigned long nr_pages, ^~~~~~~~~~~~~~ >> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:1476:7: error: too many arguments to function 'get_user_pages' rc = get_user_pages(current, /* task */ ^~~~~~~~~~~~~~ In file included from drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:42:0: include/linux/mm.h:1293:6: note: declared here long get_user_pages(unsigned long start, unsigned long nr_pages, ^~~~~~~~~~~~~~ >> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:1516:3: error: implicit declaration of function 'page_cache_release' [-Werror=implicit-function-declaration] page_cache_release(pages[page_idx]); ^~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors -- 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:169:34: error: 'RPI_FIRMWARE_VCHIQ_INIT' undeclared (first use in this function) err = rpi_firmware_property(fw, RPI_FIRMWARE_VCHIQ_INIT, ^~~~~~~~~~~~~~~~~~~~~~~ drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c:169:34: note: each undeclared identifier is reported only once for each function it appears in 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:423:33: warning: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] actual_pages = get_user_pages(task, task->mm, ^~~~ In file included from include/linux/pagemap.h:7:0, from drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c:38: include/linux/mm.h:1293:6: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' long get_user_pages(unsigned long start, unsigned long nr_pages, ^~~~~~~~~~~~~~ drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c:423:39: warning: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] actual_pages = get_user_pages(task, task->mm, ^~~~ In file included from include/linux/pagemap.h:7:0, from drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c:38: include/linux/mm.h:1293:6: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' long get_user_pages(unsigned long start, unsigned long nr_pages, ^~~~~~~~~~~~~~ >> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c:426:8: warning: passing argument 5 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] (type == PAGELIST_READ) /*Write */ , ^ In file included from include/linux/pagemap.h:7:0, from drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c:38: include/linux/mm.h:1293:6: note: expected 'struct page **' but argument is of type 'int' long get_user_pages(unsigned long start, unsigned long nr_pages, ^~~~~~~~~~~~~~ >> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c:423:18: error: too many arguments to function 'get_user_pages' actual_pages = get_user_pages(task, task->mm, ^~~~~~~~~~~~~~ In file included from include/linux/pagemap.h:7:0, from drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c:38: include/linux/mm.h:1293:6: note: declared here long get_user_pages(unsigned long start, unsigned long nr_pages, ^~~~~~~~~~~~~~ >> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c:442:5: error: implicit declaration of function 'page_cache_release' [-Werror=implicit-function-declaration] page_cache_release(pages[actual_pages]); ^~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors -- In file included from ./arch/arm/include/generated/asm/current.h:1:0, from include/linux/wait.h:9, from include/linux/mmzone.h:9, from include/linux/gfp.h:5, from include/linux/kmod.h:22, from include/linux/module.h:13, from drivers/staging/vc04_services//interface/vchiq_arm/vchiq_arm.c:36: drivers/staging/vc04_services//interface/vchiq_arm/vchiq_arm.c: In function 'dump_phys_mem': >> include/asm-generic/current.h:6:23: warning: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] #define get_current() (current_thread_info()->task) ^ >> include/asm-generic/current.h:7:17: note: in expansion of macro 'get_current' #define current get_current() ^~~~~~~~~~~ drivers/staging/vc04_services//interface/vchiq_arm/vchiq_arm.c:1476:22: note: in expansion of macro 'current' rc = get_user_pages(current, /* task */ ^~~~~~~ In file included from drivers/staging/vc04_services//interface/vchiq_arm/vchiq_arm.c:42:0: include/linux/mm.h:1293:6: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' long get_user_pages(unsigned long start, unsigned long nr_pages, ^~~~~~~~~~~~~~ In file included from ./arch/arm/include/generated/asm/current.h:1:0, from include/linux/wait.h:9, from include/linux/mmzone.h:9, from include/linux/gfp.h:5, from include/linux/kmod.h:22, from include/linux/module.h:13, from drivers/staging/vc04_services//interface/vchiq_arm/vchiq_arm.c:36: include/asm-generic/current.h:6:23: warning: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] #define get_current() (current_thread_info()->task) ^ >> include/asm-generic/current.h:7:17: note: in expansion of macro 'get_current' #define current get_current() ^~~~~~~~~~~ drivers/staging/vc04_services//interface/vchiq_arm/vchiq_arm.c:1477:3: note: in expansion of macro 'current' current->mm, /* mm */ ^~~~~~~ In file included from drivers/staging/vc04_services//interface/vchiq_arm/vchiq_arm.c:42:0: include/linux/mm.h:1293:6: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' long get_user_pages(unsigned long start, unsigned long nr_pages, ^~~~~~~~~~~~~~ drivers/staging/vc04_services//interface/vchiq_arm/vchiq_arm.c:1476:7: error: too many arguments to function 'get_user_pages' rc = get_user_pages(current, /* task */ ^~~~~~~~~~~~~~ In file included from drivers/staging/vc04_services//interface/vchiq_arm/vchiq_arm.c:42:0: include/linux/mm.h:1293:6: note: declared here long get_user_pages(unsigned long start, unsigned long nr_pages, ^~~~~~~~~~~~~~ drivers/staging/vc04_services//interface/vchiq_arm/vchiq_arm.c:1516:3: error: implicit declaration of function 'page_cache_release' [-Werror=implicit-function-declaration] page_cache_release(pages[page_idx]); ^~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/get_user_pages +1476 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c 1470 "Unable to allocation memory for %d pages\n", 1471 num_pages); 1472 return; 1473 } 1474 1475 down_read(¤t->mm->mmap_sem); > 1476 rc = get_user_pages(current, /* task */ > 1477 current->mm, /* mm */ 1478 (unsigned long)virt_addr, /* start */ 1479 num_pages, /* len */ 1480 0, /* write */ 1481 0, /* force */ 1482 pages, /* pages (array of page pointers) */ 1483 NULL); /* vmas */ 1484 up_read(¤t->mm->mmap_sem); 1485 1486 prev_idx = -1; 1487 page = NULL; 1488 1489 while (offset < end_offset) { 1490 1491 int page_offset = offset % PAGE_SIZE; 1492 page_idx = offset / PAGE_SIZE; 1493 1494 if (page_idx != prev_idx) { 1495 1496 if (page != NULL) 1497 kunmap(page); 1498 page = pages[page_idx]; 1499 kmapped_virt_ptr = kmap(page); 1500 1501 prev_idx = page_idx; 1502 } 1503 1504 if (vchiq_arm_log_level >= VCHIQ_LOG_TRACE) 1505 vchiq_log_dump_mem("ph", 1506 (uint32_t)(unsigned long)&kmapped_virt_ptr[ 1507 page_offset], 1508 &kmapped_virt_ptr[page_offset], 16); 1509 1510 offset += 16; 1511 } 1512 if (page != NULL) 1513 kunmap(page); 1514 1515 for (page_idx = 0; page_idx < num_pages; page_idx++) > 1516 page_cache_release(pages[page_idx]); 1517 1518 kfree(pages); 1519 } --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip
_______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel