tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   b0c3ba31be3e45a130e13b278cf3b90f69bda6f6
commit: 461c3ac0dc46ba7fc09628aadf63c81253c4c3de soc: fsl: qe: fix sparse 
warnings for ucc_slow.c
date:   9 weeks ago
config: arm64-randconfig-s031-20200527 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.1-240-gf0fe1cd9-dirty
        git checkout 461c3ac0dc46ba7fc09628aadf63c81253c4c3de
        # save the attached .config to linux build tree
        make W=1 C=1 ARCH=arm64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <l...@intel.com>


sparse warnings: (new ones prefixed by >>)

   drivers/tty/serial/ucc_uart.c:637:9: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got restricted __be16 * @@
   drivers/tty/serial/ucc_uart.c:637:9: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:637:9: sparse:     got restricted __be16 *
   drivers/tty/serial/ucc_uart.c:638:9: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got restricted __be32 * @@
   drivers/tty/serial/ucc_uart.c:638:9: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:638:9: sparse:     got restricted __be32 *
   drivers/tty/serial/ucc_uart.c:639:9: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got restricted __be16 * @@
   drivers/tty/serial/ucc_uart.c:639:9: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:639:9: sparse:     got restricted __be16 *
   drivers/tty/serial/ucc_uart.c:653:46: sparse: sparse: incorrect type in 
initializer (different address spaces) @@     expected struct ucc_uart_pram 
*uccup @@     got struct ucc_uart_pram [noderef] <asn:2> *uccup @@
   drivers/tty/serial/ucc_uart.c:653:46: sparse:     expected struct 
ucc_uart_pram *uccup
   drivers/tty/serial/ucc_uart.c:653:46: sparse:     got struct ucc_uart_pram 
[noderef] <asn:2> *uccup
   drivers/tty/serial/ucc_uart.c:661:9: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got unsigned char * @@
   drivers/tty/serial/ucc_uart.c:661:9: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:661:9: sparse:     got unsigned char *
   drivers/tty/serial/ucc_uart.c:662:9: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got unsigned char * @@
   drivers/tty/serial/ucc_uart.c:662:9: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:662:9: sparse:     got unsigned char *
   drivers/tty/serial/ucc_uart.c:663:9: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got restricted __be16 * @@
   drivers/tty/serial/ucc_uart.c:663:9: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:663:9: sparse:     got restricted __be16 *
   drivers/tty/serial/ucc_uart.c:664:9: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got restricted __be16 * @@
   drivers/tty/serial/ucc_uart.c:664:9: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:664:9: sparse:     got restricted __be16 *
   drivers/tty/serial/ucc_uart.c:665:9: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got restricted __be16 * @@
   drivers/tty/serial/ucc_uart.c:665:9: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:665:9: sparse:     got restricted __be16 *
   drivers/tty/serial/ucc_uart.c:666:9: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got restricted __be16 * @@
   drivers/tty/serial/ucc_uart.c:666:9: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:666:9: sparse:     got restricted __be16 *
   drivers/tty/serial/ucc_uart.c:667:9: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got restricted __be16 * @@
   drivers/tty/serial/ucc_uart.c:667:9: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:667:9: sparse:     got restricted __be16 *
   drivers/tty/serial/ucc_uart.c:668:9: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got restricted __be16 * @@
   drivers/tty/serial/ucc_uart.c:668:9: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:668:9: sparse:     got restricted __be16 *
   drivers/tty/serial/ucc_uart.c:669:9: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got restricted __be16 * @@
   drivers/tty/serial/ucc_uart.c:669:9: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:669:9: sparse:     got restricted __be16 *
   drivers/tty/serial/ucc_uart.c:670:9: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got restricted __be16 * @@
   drivers/tty/serial/ucc_uart.c:670:9: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:670:9: sparse:     got restricted __be16 *
   drivers/tty/serial/ucc_uart.c:671:9: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got restricted __be16 * @@
   drivers/tty/serial/ucc_uart.c:671:9: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:671:9: sparse:     got restricted __be16 *
   drivers/tty/serial/ucc_uart.c:672:9: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got restricted __be16 * @@
   drivers/tty/serial/ucc_uart.c:672:9: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:672:9: sparse:     got restricted __be16 *
   drivers/tty/serial/ucc_uart.c:674:17: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got restricted __be16 * @@
   drivers/tty/serial/ucc_uart.c:674:17: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:674:17: sparse:     got restricted __be16 *
   drivers/tty/serial/ucc_uart.c:675:9: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got restricted __be16 * @@
   drivers/tty/serial/ucc_uart.c:675:9: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:675:9: sparse:     got restricted __be16 *
   drivers/tty/serial/ucc_uart.c:713:17: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got restricted __be16 * @@
   drivers/tty/serial/ucc_uart.c:713:17: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:713:17: sparse:     got restricted __be16 *
   drivers/tty/serial/ucc_uart.c:714:17: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got restricted __be16 * @@
   drivers/tty/serial/ucc_uart.c:714:17: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:714:17: sparse:     got restricted __be16 *
   drivers/tty/serial/ucc_uart.c:715:17: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got restricted __be32 * @@
   drivers/tty/serial/ucc_uart.c:715:17: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:715:17: sparse:     got restricted __be32 *
   drivers/tty/serial/ucc_uart.c:716:17: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got restricted __be32 * @@
   drivers/tty/serial/ucc_uart.c:716:17: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:716:17: sparse:     got restricted __be32 *
   drivers/tty/serial/ucc_uart.c:717:17: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got unsigned char * @@
   drivers/tty/serial/ucc_uart.c:717:17: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:717:17: sparse:     got unsigned char *
   drivers/tty/serial/ucc_uart.c:718:17: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got unsigned char * @@
   drivers/tty/serial/ucc_uart.c:718:17: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:718:17: sparse:     got unsigned char *
   drivers/tty/serial/ucc_uart.c:719:17: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got restricted __be32 * @@
   drivers/tty/serial/ucc_uart.c:719:17: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:719:17: sparse:     got restricted __be32 *
   drivers/tty/serial/ucc_uart.c:720:17: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got unsigned char * @@
   drivers/tty/serial/ucc_uart.c:720:17: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:720:17: sparse:     got unsigned char *
   drivers/tty/serial/ucc_uart.c:721:17: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got restricted __be32 * @@
   drivers/tty/serial/ucc_uart.c:721:17: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:721:17: sparse:     got restricted __be32 *
   drivers/tty/serial/ucc_uart.c:722:17: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got unsigned char * @@
   drivers/tty/serial/ucc_uart.c:722:17: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:722:17: sparse:     got unsigned char *
   drivers/tty/serial/ucc_uart.c:724:17: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got unsigned char * @@
   drivers/tty/serial/ucc_uart.c:724:17: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:724:17: sparse:     got unsigned char *
   drivers/tty/serial/ucc_uart.c:726:17: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got restricted __be16 * @@
   drivers/tty/serial/ucc_uart.c:726:17: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:726:17: sparse:     got restricted __be16 *
   drivers/tty/serial/ucc_uart.c:727:17: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got unsigned char * @@
   drivers/tty/serial/ucc_uart.c:727:17: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:727:17: sparse:     got unsigned char *
   drivers/tty/serial/ucc_uart.c:728:17: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
<asn:2> *addr @@     got restricted __be16 * @@
   drivers/tty/serial/ucc_uart.c:728:17: sparse:     expected void volatile 
[noderef] <asn:2> *addr
   drivers/tty/serial/ucc_uart.c:728:17: sparse:     got restricted __be16 *
   drivers/tty/serial/ucc_uart.c:1000:27: sparse: sparse: cast removes address 
space '<asn:2>' of expression
   drivers/tty/serial/ucc_uart.c:1000:24: sparse: sparse: incorrect type in 
assignment (different address spaces) @@     expected struct ucc_uart_pram 
[noderef] <asn:2> *uccup @@     got struct ucc_uart_pram * @@
   drivers/tty/serial/ucc_uart.c:1000:24: sparse:     expected struct 
ucc_uart_pram [noderef] <asn:2> *uccup
   drivers/tty/serial/ucc_uart.c:1000:24: sparse:     got struct ucc_uart_pram *
>> drivers/tty/serial/ucc_uart.c:1001:29: sparse: sparse: incorrect type in 
>> assignment (different address spaces) @@     expected struct qe_bd 
>> *rx_bd_base @@     got struct qe_bd [noderef] <asn:2> *rx_bd @@
   drivers/tty/serial/ucc_uart.c:1001:29: sparse:     expected struct qe_bd 
*rx_bd_base
   drivers/tty/serial/ucc_uart.c:1001:29: sparse:     got struct qe_bd 
[noderef] <asn:2> *rx_bd
>> drivers/tty/serial/ucc_uart.c:1002:29: sparse: sparse: incorrect type in 
>> assignment (different address spaces) @@     expected struct qe_bd 
>> *tx_bd_base @@     got struct qe_bd [noderef] <asn:2> *tx_bd @@
   drivers/tty/serial/ucc_uart.c:1002:29: sparse:     expected struct qe_bd 
*tx_bd_base
   drivers/tty/serial/ucc_uart.c:1002:29: sparse:     got struct qe_bd 
[noderef] <asn:2> *tx_bd

vim +1001 drivers/tty/serial/ucc_uart.c

d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15   976  
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15   977  /*
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15   978   * 
Allocate any memory and I/O resources required by the port.
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15   979   */
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15   980  static 
int qe_uart_request_port(struct uart_port *port)
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15   981  {
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15   982   int ret;
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15   983   struct 
uart_qe_port *qe_port =
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15   984           
container_of(port, struct uart_qe_port, port);
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15   985   struct 
ucc_slow_info *us_info = &qe_port->us_info;
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15   986   struct 
ucc_slow_private *uccs;
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15   987   
unsigned int rx_size, tx_size;
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15   988   void 
*bd_virt;
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15   989   
dma_addr_t bd_dma_addr = 0;
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15   990  
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15   991   ret = 
ucc_slow_init(us_info, &uccs);
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15   992   if 
(ret) {
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15   993           
dev_err(port->dev, "could not initialize UCC%u\n",
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15   994           
       qe_port->ucc_num);
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15   995           
return ret;
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15   996   }
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15   997  
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15   998   
qe_port->us_private = uccs;
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15   999   
qe_port->uccp = uccs->us_regs;
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1000   
qe_port->uccup = (struct ucc_uart_pram *) uccs->us_pram;
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15 @1001   
qe_port->rx_bd_base = uccs->rx_bd;
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15 @1002   
qe_port->tx_bd_base = uccs->tx_bd;
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1003  
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1004   /*
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1005    * 
Allocate the transmit and receive data buffers.
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1006    */
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1007  
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1008   rx_size 
= L1_CACHE_ALIGN(qe_port->rx_nrfifos * qe_port->rx_fifosize);
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1009   tx_size 
= L1_CACHE_ALIGN(qe_port->tx_nrfifos * qe_port->tx_fifosize);
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1010  
8b05cefca73bfb drivers/serial/ucc_uart.c Becky Bruce 2008-09-12  1011   bd_virt 
= dma_alloc_coherent(port->dev, rx_size + tx_size, &bd_dma_addr,
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1012           
GFP_KERNEL);
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1013   if 
(!bd_virt) {
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1014           
dev_err(port->dev, "could not allocate buffer descriptors\n");
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1015           
return -ENOMEM;
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1016   }
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1017  
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1018   
qe_port->bd_virt = bd_virt;
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1019   
qe_port->bd_dma_addr = bd_dma_addr;
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1020   
qe_port->bd_size = rx_size + tx_size;
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1021  
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1022   
qe_port->rx_buf = bd_virt;
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1023   
qe_port->tx_buf = qe_port->rx_buf + rx_size;
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1024  
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1025   return 
0;
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1026  }
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi  2008-01-15  1027  

:::::: The code at line 1001 was first introduced by commit
:::::: d7584ed2b994a572326650b0c4d2c25961e6f49d [POWERPC] qe-uart: add support 
for Freescale QUICCEngine UART

:::::: TO: Timur Tabi <ti...@freescale.com>
:::::: CC: Kumar Gala <ga...@kernel.crashing.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

Reply via email to