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: 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 36c3c6ecedac0e96207e9454d77231b5b1857a3f
        # save the attached .config to linux build tree
        make.cross ARCH=arm64 

All error/warnings (new ones prefixed by >>):

   In file included from 
drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:35: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 
drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:37:0,
                    from 
drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:34:
   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)
    
   In file included from 
drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:34:0:
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c: In function 
'make_service_callback':
>> drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:385:3: 
>> warning: cast from pointer to integer of different size 
>> [-Wpointer-to-int-cast]
      (unsigned int)header, (unsigned int)bulk_userdata);
      ^
   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_core.c:385:25: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      (unsigned int)header, (unsigned int)bulk_userdata);
                            ^
   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_core.c: In function 
'process_free_queue':
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:630:27: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
       state->id, slot_index, (unsigned int)data,
                              ^
   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_core.c:670:7: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
          (unsigned int)header, msgid,
          ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:57:39: note: 
in definition of macro 'vchiq_log_error'
      printk(VCHIQ_LOG_PREFIX fmt "\n", ##__VA_ARGS__); } while (0)
                                          ^~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:697:8: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
           (unsigned int)header,
           ^
   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_core.c:710:8: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
           (unsigned int)header,
           ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:57:39: note: 
in definition of macro 'vchiq_log_error'
      printk(VCHIQ_LOG_PREFIX fmt "\n", ##__VA_ARGS__); } while (0)
                                          ^~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:726:11: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
         pos, (unsigned int)header, msgid,
              ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:57:39: note: 
in definition of macro 'vchiq_log_error'
      printk(VCHIQ_LOG_PREFIX fmt "\n", ##__VA_ARGS__); } while (0)
                                          ^~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c: In function 
'queue_message':
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:874:4: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
       (unsigned int)header, size,
       ^
   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_core.c:941:4: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
       (unsigned int)header, size,
       ^
   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_core.c: In function 
'queue_message_sync':
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:1026:4: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
       (unsigned int)header, size,
       ^
   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_core.c:1058:4: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
       (unsigned int)header, size,
       ^
   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_core.c: In function 
'resolve_bulks':
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:1365:6: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
         (unsigned int)bulk->data,
         ^
   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_core.c:1366:6: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
         (unsigned int)bulk->remote_data);
         ^
   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_core.c:1377:6: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
         (unsigned int)bulk->data,
         ^
   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_core.c:1378:6: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
         (unsigned int)bulk->remote_data);
         ^
   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_core.c: In function 
'parse_open':
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:1515:15: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
       state->id, (unsigned int)header,
                  ^
   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_core.c: In function 
'parse_rx_slots':
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:1653:29: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      DEBUG_VALUE(PARSE_HEADER, (int)header);
                                ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:189:33: 
note: in definition of macro 'DEBUG_VALUE'
     do { debug_ptr[DEBUG_ ## d] = (v); dsb(); } while (0)
                                    ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:1690:7: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
          (unsigned int)header,
          ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:62:40: note: 
in definition of macro 'vchiq_log_warning'
       printk(VCHIQ_LOG_PREFIX fmt "\n", ##__VA_ARGS__); } while (0)
                                           ^~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:1700:6: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
         (unsigned int)header,
         ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:57:39: note: 
in definition of macro 'vchiq_log_error'
      printk(VCHIQ_LOG_PREFIX fmt "\n", ##__VA_ARGS__); } while (0)
                                          ^~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:1726:8: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      if (((unsigned int)header & VCHIQ_SLOT_MASK) + calc_stride(size)
           ^
   In file included from 
drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:34:0:
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:1731:5: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
        (unsigned int)header, (unsigned int)msgid,
        ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:57:39: note: 
in definition of macro 'vchiq_log_error'
      printk(VCHIQ_LOG_PREFIX fmt "\n", ##__VA_ARGS__); } while (0)
                                          ^~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:1751:16: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
        state->id, (unsigned int)header, size,
                   ^
   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_core.c:1769:16: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
        state->id, (unsigned int)header,
                   ^
   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_core.c:1787:16: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
        state->id, (unsigned int)header, size,
                   ^
   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_core.c:1812:16: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
        state->id, (unsigned int)header);
                   ^
   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_core.c:1841:6: 
>> warning: cast to pointer from integer of different size 
>> [-Wint-to-pointer-cast]
         (void *)((int *)header->data)[0];
         ^
   In file included from 
drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:34:0:
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:1848:6: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
         (unsigned int)header,
         ^
   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_core.c:1851:6: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
         (unsigned int)bulk->remote_data);
         ^
   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_core.c:1907:7: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
          (unsigned int)header,
          ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:57:39: note: 
in definition of macro 'vchiq_log_error'
      printk(VCHIQ_LOG_PREFIX fmt "\n", ##__VA_ARGS__); } while (0)
                                          ^~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:1926:6: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
         (unsigned int)header,
         ^
   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_core.c:1928:20: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
         bulk->actual, (unsigned int)bulk->data);
                       ^
   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_core.c:1951:16: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
        state->id, (unsigned int)header, size);
                   ^
   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_core.c:1957:16: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
        state->id, (unsigned int)header, size);
                   ^
   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_core.c:1981:16: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
        state->id, (unsigned int)header, size);
                   ^
   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_core.c:2003:23: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
        state->id, msgid, (unsigned int)header, size);
                          ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:57:39: note: 
in definition of macro 'vchiq_log_error'
      printk(VCHIQ_LOG_PREFIX fmt "\n", ##__VA_ARGS__); } while (0)
                                          ^~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c: In function 
'sync_func':
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:2171:5: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
        (unsigned int)header,
        ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:57:39: note: 
in definition of macro 'vchiq_log_error'
      printk(VCHIQ_LOG_PREFIX fmt "\n", ##__VA_ARGS__); } while (0)
                                          ^~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:2203:16: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
        state->id, (unsigned int)header, size,
                   ^
   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_core.c:2218:16: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
        state->id, (unsigned int)header, size,
                   ^
   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_core.c:2238:23: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
        state->id, msgid, (unsigned int)header, size);
                          ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:57:39: note: 
in definition of macro 'vchiq_log_error'
      printk(VCHIQ_LOG_PREFIX fmt "\n", ##__VA_ARGS__); } while (0)
                                          ^~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c: In function 
'vchiq_init_slots':
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:2271:37: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     int mem_align = (VCHIQ_SLOT_SIZE - (int)mem_base) & VCHIQ_SLOT_MASK;
                                        ^
   In file included from 
drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:34:0:
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c: In function 
'vchiq_init_state':
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:2328:4: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
       (unsigned int)slot_zero, slot_zero->magic, VCHIQ_MAGIC);
       ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:57:39: note: 
in definition of macro 'vchiq_log_error'
      printk(VCHIQ_LOG_PREFIX fmt "\n", ##__VA_ARGS__); } while (0)
                                          ^~~~~~~~~~~
>> drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:2327:3: 
>> note: in expansion of macro 'vchiq_loud_error'
      vchiq_loud_error("slot_zero=%x: magic=%x (expected %x)",
      ^~~~~~~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:2338:4: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
       (unsigned int)slot_zero, slot_zero->version,
       ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:57:39: note: 
in definition of macro 'vchiq_log_error'
      printk(VCHIQ_LOG_PREFIX fmt "\n", ##__VA_ARGS__); } while (0)
                                          ^~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:2336:3: 
note: in expansion of macro 'vchiq_loud_error'
      vchiq_loud_error("slot_zero=%x: VideoCore version=%d "
      ^~~~~~~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:2350:4: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
       (unsigned int)slot_zero, VCHIQ_VERSION,
       ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:57:39: note: 
in definition of macro 'vchiq_log_error'
      printk(VCHIQ_LOG_PREFIX fmt "\n", ##__VA_ARGS__); } while (0)
                                          ^~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:2348:3: 
note: in expansion of macro 'vchiq_loud_error'
      vchiq_loud_error("slot_zero=%x: version=%d (VideoCore "
      ^~~~~~~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:2365:5: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
        (unsigned int)slot_zero,
        ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:57:39: note: 
in definition of macro 'vchiq_log_error'
      printk(VCHIQ_LOG_PREFIX fmt "\n", ##__VA_ARGS__); } while (0)
                                          ^~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:2363:4: 
note: in expansion of macro 'vchiq_loud_error'
       vchiq_loud_error("slot_zero=%x: slot_zero_size=%x "
       ^~~~~~~~~~~~~~~~
   In file included from include/linux/printk.h:6:0,
                    from include/linux/kernel.h:13,
                    from include/asm-generic/bug.h:13,
                    from arch/arm64/include/asm/bug.h:62,
                    from include/linux/bug.h:4,
                    from include/linux/thread_info.h:11,
                    from include/asm-generic/current.h:4,
                    from ./arch/arm64/include/generated/asm/current.h:1,
                    from include/linux/mutex.h:13,
                    from 
drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:37,
                    from 
drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:34:
   include/linux/kern_levels.h:4:18: warning: format '%x' expects argument of 
type 'unsigned int', but argument 4 has type 'long unsigned int' [-Wformat=]
    #define KERN_SOH "\001"  /* ASCII Start Of Header */
                     ^
   include/linux/kern_levels.h:13:19: note: in expansion of macro 'KERN_SOH'
    #define KERN_INFO KERN_SOH "6" /* informational */
                      ^~~~~~~~
>> drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:52:28: note: 
>> in expansion of macro 'KERN_INFO'
    #define VCHIQ_LOG_PREFIX   KERN_INFO "vchiq: "
                               ^~~~~~~~~
>> drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:57:10: note: 
>> in expansion of macro 'VCHIQ_LOG_PREFIX'
      printk(VCHIQ_LOG_PREFIX fmt "\n", ##__VA_ARGS__); } while (0)
             ^~~~~~~~~~~~~~~~
>> drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:76:2: note: 
>> in expansion of macro 'vchiq_log_error'
     vchiq_log_error(vchiq_core_log_level, "===== " __VA_ARGS__)
     ^~~~~~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:2363:4: 
note: in expansion of macro 'vchiq_loud_error'
       vchiq_loud_error("slot_zero=%x: slot_zero_size=%x "
       ^~~~~~~~~~~~~~~~
   In file included from 
drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:34:0:
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:2371:5: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
        (unsigned int)slot_zero, slot_zero->slot_size,
        ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:57:39: note: 
in definition of macro 'vchiq_log_error'
      printk(VCHIQ_LOG_PREFIX fmt "\n", ##__VA_ARGS__); } while (0)
                                          ^~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:2369:4: 
note: in expansion of macro 'vchiq_loud_error'
       vchiq_loud_error("slot_zero=%x: slot_size=%d "
       ^~~~~~~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:2376:5: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
        (unsigned int)slot_zero, slot_zero->max_slots,
        ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:57:39: note: 
in definition of macro 'vchiq_log_error'
      printk(VCHIQ_LOG_PREFIX fmt "\n", ##__VA_ARGS__); } while (0)
                                          ^~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:2374:4: 
note: in expansion of macro 'vchiq_loud_error'
       vchiq_loud_error("slot_zero=%x: max_slots=%d "
       ^~~~~~~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:2381:5: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
        (unsigned int)slot_zero,
        ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:57:39: note: 
in definition of macro 'vchiq_log_error'
      printk(VCHIQ_LOG_PREFIX fmt "\n", ##__VA_ARGS__); } while (0)
                                          ^~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:2379:4: 
note: in expansion of macro 'vchiq_loud_error'
       vchiq_loud_error("slot_zero=%x: max_slots_per_side=%d "
       ^~~~~~~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c: In function 
'release_service_messages':
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:2760:7: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
          (unsigned int)header);
          ^
   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_core.c:2770:12: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
          pos, (unsigned int)header,
               ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.h:57:39: note: 
in definition of macro 'vchiq_log_error'
      printk(VCHIQ_LOG_PREFIX fmt "\n", ##__VA_ARGS__); } while (0)
                                          ^~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c: In function 
'vchiq_bulk_transfer':
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:3347:9: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      size, (unsigned int)bulk->data, (unsigned int)userdata);
            ^
   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_core.c:3347:35: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      size, (unsigned int)bulk->data, (unsigned int)userdata);
                                      ^
   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_core.c:3366:22: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      int payload[2] = { (int)bulk->data, bulk->size };
                         ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c: In function 
'vchiq_dump_state':
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:3696:3: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      (uint32_t)state->tx_data +
      ^
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_core.c:3699:3: 
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      (uint32_t)state->rx_data +
      ^
   /tmp/ccHfaMQe.s: Assembler messages:
   /tmp/ccHfaMQe.s:560: Error: missing immediate expression at operand 1 -- 
`dsb '
   /tmp/ccHfaMQe.s:7188: Error: missing immediate expression at operand 1 -- 
`dsb '
   /tmp/ccHfaMQe.s:12526: Error: missing immediate expression at operand 1 -- 
`dsb '
   /tmp/ccHfaMQe.s:13212: Error: missing immediate expression at operand 1 -- 
`dsb '
   /tmp/ccHfaMQe.s:13287: Error: missing immediate expression at operand 1 -- 
`dsb '
   /tmp/ccHfaMQe.s:13298: Error: missing immediate expression at operand 1 -- 
`dsb '
   /tmp/ccHfaMQe.s:14246: Error: missing immediate expression at operand 1 -- 
`dsb '
   /tmp/ccHfaMQe.s:14318: Error: missing immediate expression at operand 1 -- 
`dsb '
   /tmp/ccHfaMQe.s:14431: Error: missing immediate expression at operand 1 -- 
`dsb '
   /tmp/ccHfaMQe.s:14461: Error: missing immediate expression at operand 1 -- 
`dsb '
   /tmp/ccHfaMQe.s:14614: Error: missing immediate expression at operand 1 -- 
`dsb '
   /tmp/ccHfaMQe.s:14684: Error: missing immediate expression at operand 1 -- 
`dsb '
   /tmp/ccHfaMQe.s:14714: Error: missing immediate expression at operand 1 -- 
`dsb '
   /tmp/ccHfaMQe.s:14904: Error: missing immediate expression at operand 1 -- 
`dsb '
   /tmp/ccHfaMQe.s:14949: Error: missing immediate expression at operand 1 -- 
`dsb '
   /tmp/ccHfaMQe.s:14962: Error: missing immediate expression at operand 1 -- 
`dsb '
   /tmp/ccHfaMQe.s:15233: Error: missing immediate expression at operand 1 -- 
`dsb '
   /tmp/ccHfaMQe.s:15513: Error: missing immediate expression at operand 1 -- 
`dsb '
   /tmp/ccHfaMQe.s:15522: Error: missing immediate expression at operand 1 -- 
`dsb '
   /tmp/ccHfaMQe.s:15537: Error: missing immediate expression at operand 1 -- 
`dsb '
   /tmp/ccHfaMQe.s:15600: Error: missing immediate expression at operand 1 -- 
`dsb '
   /tmp/ccHfaMQe.s:16214: Error: missing immediate expression at operand 1 -- 
`dsb '
..

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

    31   * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    32   */
    33  
    34  #include <linux/kernel.h>
    35  #include <linux/types.h>
    36  #include <linux/errno.h>
  > 37  #include <linux/interrupt.h>
  > 38  #include <linux/pagemap.h>
    39  #include <linux/dma-mapping.h>
    40  #include <linux/version.h>
    41  #include <linux/io.h>
    42  #include <linux/platform_device.h>
    43  #include <linux/uaccess.h>
    44  #include <linux/of.h>
    45  #include <asm/pgtable.h>
    46  #include <soc/bcm2835/raspberrypi-firmware.h>
    47  
  > 48  #define dmac_map_area                   __glue(_CACHE,_dma_map_area)
  > 49  #define dmac_unmap_area                 __glue(_CACHE,_dma_unmap_area)
    50  
  > 51  extern void dmac_map_area(const void *, size_t, int);
  > 52  extern void dmac_unmap_area(const void *, size_t, int);
    53  
    54  #define TOTAL_SLOTS (VCHIQ_SLOT_ZERO_SLOTS + 2 * 32)
    55  
    56  #define VCHIQ_ARM_ADDRESS(x) ((void *)((char *)x + 
g_virt_to_bus_offset))
    57  
  > 58  #include "vchiq_arm.h"
    59  #include "vchiq_2835.h"
    60  #include "vchiq_connected.h"
    61  #include "vchiq_killable.h"
    62  
    63  #define MAX_FRAGMENTS (VCHIQ_NUM_CURRENT_BULKS * 2)
    64  
    65  #define BELL0   0x00
    66  #define BELL2   0x08
    67  
    68  typedef struct vchiq_2835_state_struct {
    69     int inited;
    70     VCHIQ_ARM_STATE_T arm_state;
    71  } VCHIQ_2835_ARM_STATE_T;
    72  
    73  static void __iomem *g_regs;
    74  static unsigned int g_cache_line_size = sizeof(CACHE_LINE_SIZE);
    75  static unsigned int g_fragments_size;
    76  static char *g_fragments_base;
    77  static char *g_free_fragments;
    78  static struct semaphore g_free_fragments_sema;
    79  static unsigned long g_virt_to_bus_offset;
    80  
    81  extern int vchiq_arm_log_level;
    82  
    83  static DEFINE_SEMAPHORE(g_free_fragments_mutex);
    84  
    85  static irqreturn_t
    86  vchiq_doorbell_irq(int irq, void *dev_id);
    87  
    88  static int
    89  create_pagelist(char __user *buf, size_t count, unsigned short type,
    90                  struct task_struct *task, PAGELIST_T ** ppagelist);
    91  
    92  static void
    93  free_pagelist(PAGELIST_T *pagelist, int actual);
    94  
    95  int vchiq_platform_init(struct platform_device *pdev, VCHIQ_STATE_T 
*state)
    96  {
    97          struct device *dev = &pdev->dev;
    98          struct rpi_firmware *fw = platform_get_drvdata(pdev);
    99          VCHIQ_SLOT_ZERO_T *vchiq_slot_zero;
   100          struct resource *res;
   101          void *slot_mem;
   102          dma_addr_t slot_phys;
   103          u32 channelbase;
   104          int slot_mem_size, frag_mem_size;
   105          int err, irq, i;
   106  
 > 107          g_virt_to_bus_offset = virt_to_dma(dev, (void *)0);
   108  
   109          (void)of_property_read_u32(dev->of_node, "cache-line-size",
   110                                     &g_cache_line_size);
   111          g_fragments_size = 2 * g_cache_line_size;
   112  
   113          /* Allocate space for the channels in coherent memory */
   114          slot_mem_size = PAGE_ALIGN(TOTAL_SLOTS * VCHIQ_SLOT_SIZE);
   115          frag_mem_size = PAGE_ALIGN(g_fragments_size * MAX_FRAGMENTS);
   116  
   117          slot_mem = dmam_alloc_coherent(dev, slot_mem_size + 
frag_mem_size,
   118                                         &slot_phys, GFP_KERNEL);
   119          if (!slot_mem) {
   120                  dev_err(dev, "could not allocate DMA memory\n");
   121                  return -ENOMEM;
   122          }
   123  
 > 124          WARN_ON(((int)slot_mem & (PAGE_SIZE - 1)) != 0);
   125  
   126          vchiq_slot_zero = vchiq_init_slots(slot_mem, slot_mem_size);
   127          if (!vchiq_slot_zero)

---
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
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to