All of lore.kernel.org
 help / color / mirror / Atom feed
* [spi:topic/a3700 4/4] drivers/spi/spi-armada-3700.c:759:33: sparse: incorrect type in assignment (different base types)
@ 2018-01-18 15:55 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2018-01-18 15:55 UTC (permalink / raw)
  To: Maxime Chevallier
  Cc: kbuild-all-JC7UmRfGjtg, linux-spi-u79uwXL29TY76Z2rM5mHXA, Mark Brown

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git topic/a3700
head:   f68a7dcb91b7957c5bb1c3e347775332af719519
commit: f68a7dcb91b7957c5bb1c3e347775332af719519 [4/4] spi: a3700: Add full-duplex support
reproduce:
        # apt-get install sparse
        git checkout f68a7dcb91b7957c5bb1c3e347775332af719519
        make ARCH=x86_64 allmodconfig
        make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

   drivers/spi/spi-armada-3700.c:496:21: sparse: incorrect type in assignment (different base types) @@ expected unsigned int val @@ got ed int val @@
   drivers/spi/spi-armada-3700.c:496:21: expected unsigned int val
   drivers/spi/spi-armada-3700.c:496:21: got restricted __le32 <noident>
   drivers/spi/spi-armada-3700.c:519:36: sparse: cast to restricted __le32
>> drivers/spi/spi-armada-3700.c:759:33: sparse: incorrect type in assignment (different base types) @@ expected unsigned int val_out @@ got igned] val_out @@
   drivers/spi/spi-armada-3700.c:759:33: expected unsigned int val_out
   drivers/spi/spi-armada-3700.c:759:33: got restricted __le32 <noident>
   drivers/spi/spi-armada-3700.c:768:26: sparse: cast to restricted __le32

vim +759 drivers/spi/spi-armada-3700.c

   737	
   738	static int a3700_spi_transfer_one_full_duplex(struct spi_master *master,
   739					  struct spi_device *spi,
   740					  struct spi_transfer *xfer)
   741	{
   742		struct a3700_spi *a3700_spi = spi_master_get_devdata(master);
   743		u32 val_in, val_out;
   744	
   745		/* Disable FIFO mode */
   746		a3700_spi_fifo_mode_set(a3700_spi, false);
   747	
   748		while (a3700_spi->buf_len) {
   749	
   750			/* When we have less than 4 bytes to transfer, switch to 1 byte
   751			 * mode. This is reset after each transfer
   752			 */
   753			if (a3700_spi->buf_len < 4)
   754				a3700_spi_bytelen_set(a3700_spi, 1);
   755	
   756			if (a3700_spi->byte_len == 1)
   757				val_out = *a3700_spi->tx_buf;
   758			else
 > 759				val_out = cpu_to_le32(*(u32 *)a3700_spi->tx_buf);
   760	
   761			spireg_write(a3700_spi, A3700_SPI_DATA_OUT_REG, val_out);
   762	
   763			/* Wait for all the data to be shifted in / out */
   764			while (!(spireg_read(a3700_spi, A3700_SPI_IF_CTRL_REG) &
   765					A3700_SPI_XFER_DONE))
   766				cpu_relax();
   767	
   768			val_in = le32_to_cpu(spireg_read(a3700_spi,
   769							 A3700_SPI_DATA_IN_REG));
   770	
   771			memcpy(a3700_spi->rx_buf, &val_in, a3700_spi->byte_len);
   772	
   773			a3700_spi->buf_len -= a3700_spi->byte_len;
   774			a3700_spi->tx_buf += a3700_spi->byte_len;
   775			a3700_spi->rx_buf += a3700_spi->byte_len;
   776	
   777		}
   778	
   779		spi_finalize_current_transfer(master);
   780	
   781		return 0;
   782	}
   783	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

only message in thread, other threads:[~2018-01-18 15:55 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-18 15:55 [spi:topic/a3700 4/4] drivers/spi/spi-armada-3700.c:759:33: sparse: incorrect type in assignment (different base types) kbuild 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.