All of lore.kernel.org
 help / color / mirror / Atom feed
* [asahilinux:bluetooth-v2 5/5] drivers/bluetooth/hci_bcm4377.c:1603:36: sparse: sparse: incorrect type in assignment (different base types)
@ 2022-09-08  0:45 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-09-08  0:45 UTC (permalink / raw)
  To: Sven Peter; +Cc: kbuild-all, linux-kernel

tree:   https://github.com/AsahiLinux/linux bluetooth-v2
head:   ff2f8e18dcd6c6a316c37431de67c7374fe6ca5f
commit: ff2f8e18dcd6c6a316c37431de67c7374fe6ca5f [5/5] Bluetooth: hci_bcm4377: Add new driver for BCM4377 PCI boards
config: sparc-randconfig-s051-20220907 (https://download.01.org/0day-ci/archive/20220908/202209080834.nKZYsCt2-lkp@intel.com/config)
compiler: sparc-linux-gcc (GCC) 12.1.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.4-39-gce1a6720-dirty
        # https://github.com/AsahiLinux/linux/commit/ff2f8e18dcd6c6a316c37431de67c7374fe6ca5f
        git remote add asahilinux https://github.com/AsahiLinux/linux
        git fetch --no-tags asahilinux bluetooth-v2
        git checkout ff2f8e18dcd6c6a316c37431de67c7374fe6ca5f
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=sparc SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

sparse warnings: (new ones prefixed by >>)
>> drivers/bluetooth/hci_bcm4377.c:1603:36: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [usertype] enabled_caps @@     got restricted __le16 [usertype] @@
   drivers/bluetooth/hci_bcm4377.c:1603:36: sparse:     expected restricted __le32 [usertype] enabled_caps
   drivers/bluetooth/hci_bcm4377.c:1603:36: sparse:     got restricted __le16 [usertype]

vim +1603 drivers/bluetooth/hci_bcm4377.c

  1582	
  1583	static int bcm4377_init_context(struct bcm4377_data *bcm4377)
  1584	{
  1585		struct device *dev = &bcm4377->pdev->dev;
  1586		dma_addr_t peripheral_info_dma;
  1587	
  1588		bcm4377->ctx = dmam_alloc_coherent(dev, sizeof(*bcm4377->ctx),
  1589						   &bcm4377->ctx_dma, GFP_KERNEL);
  1590		if (!bcm4377->ctx)
  1591			return -ENOMEM;
  1592		memset(bcm4377->ctx, 0, sizeof(*bcm4377->ctx));
  1593	
  1594		bcm4377->ring_state =
  1595			dmam_alloc_coherent(dev, sizeof(*bcm4377->ring_state),
  1596					    &bcm4377->ring_state_dma, GFP_KERNEL);
  1597		if (!bcm4377->ring_state)
  1598			return -ENOMEM;
  1599		memset(bcm4377->ring_state, 0, sizeof(*bcm4377->ring_state));
  1600	
  1601		bcm4377->ctx->version = cpu_to_le16(1);
  1602		bcm4377->ctx->size = cpu_to_le16(sizeof(*bcm4377->ctx));
> 1603		bcm4377->ctx->enabled_caps = cpu_to_le16(2);
  1604	
  1605		/*
  1606		 * The BT device will write 0x20 bytes of data to this buffer but
  1607		 * the exact contents are unknown. It only needs to exist for BT
  1608		 * to work such that we can just allocate and then ignore it.
  1609		 */
  1610		if (!dmam_alloc_coherent(&bcm4377->pdev->dev, 0x20,
  1611					 &peripheral_info_dma, GFP_KERNEL))
  1612			return -ENOMEM;
  1613		bcm4377->ctx->peripheral_info_addr = cpu_to_le64(peripheral_info_dma);
  1614	
  1615		bcm4377->ctx->xfer_ring_heads_addr = cpu_to_le64(
  1616			bcm4377->ring_state_dma +
  1617			offsetof(struct bcm4377_ring_state, xfer_ring_head));
  1618		bcm4377->ctx->xfer_ring_tails_addr = cpu_to_le64(
  1619			bcm4377->ring_state_dma +
  1620			offsetof(struct bcm4377_ring_state, xfer_ring_tail));
  1621		bcm4377->ctx->completion_ring_heads_addr = cpu_to_le64(
  1622			bcm4377->ring_state_dma +
  1623			offsetof(struct bcm4377_ring_state, completion_ring_head));
  1624		bcm4377->ctx->completion_ring_tails_addr = cpu_to_le64(
  1625			bcm4377->ring_state_dma +
  1626			offsetof(struct bcm4377_ring_state, completion_ring_tail));
  1627	
  1628		bcm4377->ctx->n_completion_rings =
  1629			cpu_to_le16(BCM4377_N_COMPLETION_RINGS);
  1630		bcm4377->ctx->n_xfer_rings = cpu_to_le16(BCM4377_N_TRANSFER_RINGS);
  1631	
  1632		bcm4377->ctx->control_completion_ring_addr =
  1633			cpu_to_le64(bcm4377->control_ack_ring.ring_dma);
  1634		bcm4377->ctx->control_completion_ring_n_entries =
  1635			cpu_to_le16(bcm4377->control_ack_ring.n_entries);
  1636		bcm4377->ctx->control_completion_ring_doorbell = cpu_to_le16(0xffff);
  1637		bcm4377->ctx->control_completion_ring_msi = 0;
  1638		bcm4377->ctx->control_completion_ring_header_size = 0;
  1639		bcm4377->ctx->control_completion_ring_footer_size = 0;
  1640	
  1641		bcm4377->ctx->control_xfer_ring_addr =
  1642			cpu_to_le64(bcm4377->control_h2d_ring.ring_dma);
  1643		bcm4377->ctx->control_xfer_ring_n_entries =
  1644			cpu_to_le16(bcm4377->control_h2d_ring.n_entries);
  1645		bcm4377->ctx->control_xfer_ring_doorbell =
  1646			cpu_to_le16(bcm4377->control_h2d_ring.doorbell);
  1647		bcm4377->ctx->control_xfer_ring_msi = 0;
  1648		bcm4377->ctx->control_xfer_ring_header_size = 0;
  1649		bcm4377->ctx->control_xfer_ring_footer_size =
  1650			bcm4377->control_h2d_ring.payload_size / 4;
  1651	
  1652		dev_dbg(&bcm4377->pdev->dev, "context initialized at IOVA %pad",
  1653			&bcm4377->ctx_dma);
  1654	
  1655		return 0;
  1656	}
  1657	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-09-08  0:46 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-08  0:45 [asahilinux:bluetooth-v2 5/5] drivers/bluetooth/hci_bcm4377.c:1603:36: sparse: sparse: incorrect type in assignment (different base types) kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.