Re: [vhost:vhost 22/23] drivers/firmware/qemu_fw_cfg.c:130:36: sparse: incorrect type in initializer (different base types)

2018-02-13 Thread Michael S. Tsirkin
On Wed, Feb 14, 2018 at 08:46:46AM +0800, kbuild test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git vhost
> head:   3d22d7c1190db3209b644b8a13a75a9802b4587f
> commit: b3a8771f409b74c42deee28aee3092fc5d2c8dab [22/23] fw_cfg: write 
> vmcoreinfo details
> reproduce:
> # apt-get install sparse
> git checkout b3a8771f409b74c42deee28aee3092fc5d2c8dab
> make ARCH=x86_64 allmodconfig
> make C=1 CF=-D__CHECK_ENDIAN__

Please make sure there are no sparse warnings when you build
a driver.


> 
> sparse warnings: (new ones prefixed by >>)
> 
>drivers/firmware/qemu_fw_cfg.c:108:28: sparse: cast to restricted __be32
>drivers/firmware/qemu_fw_cfg.c:108:28: sparse: cast to restricted __be32
>drivers/firmware/qemu_fw_cfg.c:108:28: sparse: cast to restricted __be32
>drivers/firmware/qemu_fw_cfg.c:108:28: sparse: cast to restricted __be32
>drivers/firmware/qemu_fw_cfg.c:108:28: sparse: cast to restricted __be32
>drivers/firmware/qemu_fw_cfg.c:108:28: sparse: cast to restricted __be32
> >> drivers/firmware/qemu_fw_cfg.c:130:36: sparse: incorrect type in 
> >> initializer (different base types) @@ expected unsigned long long address 
> >> @@ got gned] address @@
>drivers/firmware/qemu_fw_cfg.c:130:36: expected unsigned long long address
>drivers/firmware/qemu_fw_cfg.c:130:36: got restricted __be64
>drivers/firmware/qemu_fw_cfg.c:131:27: sparse: incorrect type in 
> initializer (different base types) @@ expected unsigned int length @@ got ed 
> int length @@
>drivers/firmware/qemu_fw_cfg.c:131:27: expected unsigned int length
>drivers/firmware/qemu_fw_cfg.c:131:27: got restricted __be32 
>drivers/firmware/qemu_fw_cfg.c:132:28: sparse: incorrect type in 
> initializer (different base types) @@ expected unsigned int control @@ got ed 
> int control @@
>drivers/firmware/qemu_fw_cfg.c:132:28: expected unsigned int control
>drivers/firmware/qemu_fw_cfg.c:132:28: got restricted __be32 
>drivers/firmware/qemu_fw_cfg.c:142:13: sparse: cast to restricted __be32
>drivers/firmware/qemu_fw_cfg.c:142:13: sparse: cast to restricted __be32
>drivers/firmware/qemu_fw_cfg.c:142:13: sparse: cast to restricted __be32
>drivers/firmware/qemu_fw_cfg.c:142:13: sparse: cast to restricted __be32
>drivers/firmware/qemu_fw_cfg.c:142:13: sparse: cast to restricted __be32
>drivers/firmware/qemu_fw_cfg.c:142:13: sparse: cast to restricted __be32
>drivers/firmware/qemu_fw_cfg.c:96:33: sparse: restricted __be16 degrades 
> to integer
>drivers/firmware/qemu_fw_cfg.c:96:52: sparse: restricted __le16 degrades 
> to integer
>drivers/firmware/qemu_fw_cfg.c:96:33: sparse: restricted __be16 degrades 
> to integer
>drivers/firmware/qemu_fw_cfg.c:96:52: sparse: restricted __le16 degrades 
> to integer
>drivers/firmware/qemu_fw_cfg.c:96:33: sparse: restricted __be16 degrades 
> to integer
>drivers/firmware/qemu_fw_cfg.c:96:52: sparse: restricted __le16 degrades 
> to integer
>drivers/firmware/qemu_fw_cfg.c:96:33: sparse: restricted __be16 degrades 
> to integer
>drivers/firmware/qemu_fw_cfg.c:96:52: sparse: restricted __le16 degrades 
> to integer
>drivers/firmware/qemu_fw_cfg.c:660:17: sparse: cast to restricted __be32
>drivers/firmware/qemu_fw_cfg.c:660:17: sparse: cast to restricted __be32
>drivers/firmware/qemu_fw_cfg.c:660:17: sparse: cast to restricted __be32
>drivers/firmware/qemu_fw_cfg.c:660:17: sparse: cast to restricted __be32
>drivers/firmware/qemu_fw_cfg.c:660:17: sparse: cast to restricted __be32
>drivers/firmware/qemu_fw_cfg.c:660:17: sparse: cast to restricted __be32
>drivers/firmware/qemu_fw_cfg.c:96:33: sparse: restricted __be16 degrades 
> to integer
>drivers/firmware/qemu_fw_cfg.c:96:52: sparse: restricted __le16 degrades 
> to integer
>drivers/firmware/qemu_fw_cfg.c:670:31: sparse: cast to restricted __be32
>drivers/firmware/qemu_fw_cfg.c:670:31: sparse: cast to restricted __be32
>drivers/firmware/qemu_fw_cfg.c:670:31: sparse: cast to restricted __be32
>drivers/firmware/qemu_fw_cfg.c:670:31: sparse: cast to restricted __be32
>drivers/firmware/qemu_fw_cfg.c:670:31: sparse: cast to restricted __be32
>drivers/firmware/qemu_fw_cfg.c:670:31: sparse: cast to restricted __be32
>drivers/firmware/qemu_fw_cfg.c:671:33: sparse: cast to restricted __be16
>drivers/firmware/qemu_fw_cfg.c:671:33: sparse: cast to restricted __be16
>drivers/firmware/qemu_fw_cfg.c:671:33: sparse: cast to restricted __be16
>drivers/firmware/qemu_fw_cfg.c:671:33: sparse: cast to restricted __be16
>drivers/firmware/qemu_fw_cfg.c:96:33: sparse: restricted __be16 degrades 
> to integer
>drivers/firmware/qemu_fw_cfg.c:96:52: sparse: restricted __le16 degrades 
> to integer
>drivers/firmware/qemu_fw_cfg.c:717:22: sparse: cast to restricted __le32
> 
> vim +130 drivers/firmware/qemu_fw_cfg.c
> 
>103
>104

[vhost:vhost 22/23] drivers/firmware/qemu_fw_cfg.c:130:36: sparse: incorrect type in initializer (different base types)

2018-02-13 Thread kbuild test robot
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git vhost
head:   3d22d7c1190db3209b644b8a13a75a9802b4587f
commit: b3a8771f409b74c42deee28aee3092fc5d2c8dab [22/23] fw_cfg: write 
vmcoreinfo details
reproduce:
# apt-get install sparse
git checkout b3a8771f409b74c42deee28aee3092fc5d2c8dab
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

   drivers/firmware/qemu_fw_cfg.c:108:28: sparse: cast to restricted __be32
   drivers/firmware/qemu_fw_cfg.c:108:28: sparse: cast to restricted __be32
   drivers/firmware/qemu_fw_cfg.c:108:28: sparse: cast to restricted __be32
   drivers/firmware/qemu_fw_cfg.c:108:28: sparse: cast to restricted __be32
   drivers/firmware/qemu_fw_cfg.c:108:28: sparse: cast to restricted __be32
   drivers/firmware/qemu_fw_cfg.c:108:28: sparse: cast to restricted __be32
>> drivers/firmware/qemu_fw_cfg.c:130:36: sparse: incorrect type in initializer 
>> (different base types) @@ expected unsigned long long address @@ got gned] 
>> address @@
   drivers/firmware/qemu_fw_cfg.c:130:36: expected unsigned long long address
   drivers/firmware/qemu_fw_cfg.c:130:36: got restricted __be64
   drivers/firmware/qemu_fw_cfg.c:131:27: sparse: incorrect type in initializer 
(different base types) @@ expected unsigned int length @@ got ed int length @@
   drivers/firmware/qemu_fw_cfg.c:131:27: expected unsigned int length
   drivers/firmware/qemu_fw_cfg.c:131:27: got restricted __be32 
   drivers/firmware/qemu_fw_cfg.c:132:28: sparse: incorrect type in initializer 
(different base types) @@ expected unsigned int control @@ got ed int control @@
   drivers/firmware/qemu_fw_cfg.c:132:28: expected unsigned int control
   drivers/firmware/qemu_fw_cfg.c:132:28: got restricted __be32 
   drivers/firmware/qemu_fw_cfg.c:142:13: sparse: cast to restricted __be32
   drivers/firmware/qemu_fw_cfg.c:142:13: sparse: cast to restricted __be32
   drivers/firmware/qemu_fw_cfg.c:142:13: sparse: cast to restricted __be32
   drivers/firmware/qemu_fw_cfg.c:142:13: sparse: cast to restricted __be32
   drivers/firmware/qemu_fw_cfg.c:142:13: sparse: cast to restricted __be32
   drivers/firmware/qemu_fw_cfg.c:142:13: sparse: cast to restricted __be32
   drivers/firmware/qemu_fw_cfg.c:96:33: sparse: restricted __be16 degrades to 
integer
   drivers/firmware/qemu_fw_cfg.c:96:52: sparse: restricted __le16 degrades to 
integer
   drivers/firmware/qemu_fw_cfg.c:96:33: sparse: restricted __be16 degrades to 
integer
   drivers/firmware/qemu_fw_cfg.c:96:52: sparse: restricted __le16 degrades to 
integer
   drivers/firmware/qemu_fw_cfg.c:96:33: sparse: restricted __be16 degrades to 
integer
   drivers/firmware/qemu_fw_cfg.c:96:52: sparse: restricted __le16 degrades to 
integer
   drivers/firmware/qemu_fw_cfg.c:96:33: sparse: restricted __be16 degrades to 
integer
   drivers/firmware/qemu_fw_cfg.c:96:52: sparse: restricted __le16 degrades to 
integer
   drivers/firmware/qemu_fw_cfg.c:660:17: sparse: cast to restricted __be32
   drivers/firmware/qemu_fw_cfg.c:660:17: sparse: cast to restricted __be32
   drivers/firmware/qemu_fw_cfg.c:660:17: sparse: cast to restricted __be32
   drivers/firmware/qemu_fw_cfg.c:660:17: sparse: cast to restricted __be32
   drivers/firmware/qemu_fw_cfg.c:660:17: sparse: cast to restricted __be32
   drivers/firmware/qemu_fw_cfg.c:660:17: sparse: cast to restricted __be32
   drivers/firmware/qemu_fw_cfg.c:96:33: sparse: restricted __be16 degrades to 
integer
   drivers/firmware/qemu_fw_cfg.c:96:52: sparse: restricted __le16 degrades to 
integer
   drivers/firmware/qemu_fw_cfg.c:670:31: sparse: cast to restricted __be32
   drivers/firmware/qemu_fw_cfg.c:670:31: sparse: cast to restricted __be32
   drivers/firmware/qemu_fw_cfg.c:670:31: sparse: cast to restricted __be32
   drivers/firmware/qemu_fw_cfg.c:670:31: sparse: cast to restricted __be32
   drivers/firmware/qemu_fw_cfg.c:670:31: sparse: cast to restricted __be32
   drivers/firmware/qemu_fw_cfg.c:670:31: sparse: cast to restricted __be32
   drivers/firmware/qemu_fw_cfg.c:671:33: sparse: cast to restricted __be16
   drivers/firmware/qemu_fw_cfg.c:671:33: sparse: cast to restricted __be16
   drivers/firmware/qemu_fw_cfg.c:671:33: sparse: cast to restricted __be16
   drivers/firmware/qemu_fw_cfg.c:671:33: sparse: cast to restricted __be16
   drivers/firmware/qemu_fw_cfg.c:96:33: sparse: restricted __be16 degrades to 
integer
   drivers/firmware/qemu_fw_cfg.c:96:52: sparse: restricted __le16 degrades to 
integer
   drivers/firmware/qemu_fw_cfg.c:717:22: sparse: cast to restricted __le32

vim +130 drivers/firmware/qemu_fw_cfg.c

   103  
   104  /* qemu fw_cfg device is sync today, but spec says it may become async 
*/
   105  static void fw_cfg_wait_for_control(struct fw_cfg_dma *d)
   106  {
   107  do {
 > 108  u32 ctrl = be32_to_cpu(READ_ONCE(d->control));
   109  
   110  if ((ctrl & ~FW_CFG_DMA_CTL_ERROR) == 0)
   111