All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-stable-rc:linux-5.4.y 342/3218] drivers/tty/serial/mxs-auart.c:1753:24: sparse: sparse: incorrect type in argument 1 (different address spaces)
@ 2020-11-17  0:18 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-11-17  0:18 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 7406 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.4.y
head:   a3e34830d91255b6038c86c49a880c59a1aba945
commit: 2cd065b916811dc197b0d0069cec2f64f7203af0 [342/3218] serial: mxs-auart: add missed iounmap() in probe failure and remove
config: openrisc-randconfig-s031-20201116 (attached as .config)
compiler: or1k-linux-gcc (GCC) 9.3.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.3-107-gaf3512a6-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/commit/?id=2cd065b916811dc197b0d0069cec2f64f7203af0
        git remote add linux-stable-rc https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
        git fetch --no-tags linux-stable-rc linux-5.4.y
        git checkout 2cd065b916811dc197b0d0069cec2f64f7203af0
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=openrisc 

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


"sparse warnings: (new ones prefixed by >>)"
>> drivers/tty/serial/mxs-auart.c:1753:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *addr @@     got unsigned char [noderef] <asn:2> *membase @@
   drivers/tty/serial/mxs-auart.c:1753:24: sparse:     expected void *addr
>> drivers/tty/serial/mxs-auart.c:1753:24: sparse:     got unsigned char [noderef] <asn:2> *membase
   drivers/tty/serial/mxs-auart.c:1770:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *addr @@     got unsigned char [noderef] <asn:2> *membase @@
   drivers/tty/serial/mxs-auart.c:1770:24: sparse:     expected void *addr
   drivers/tty/serial/mxs-auart.c:1770:24: sparse:     got unsigned char [noderef] <asn:2> *membase
   drivers/tty/serial/mxs-auart.c: note: in included file (through arch/openrisc/include/asm/io.h, include/linux/io.h, include/linux/irq.h, ...):
   include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] value @@     got restricted __le32 [usertype] @@
   include/asm-generic/io.h:299:22: sparse:     expected unsigned int [usertype] value
   include/asm-generic/io.h:299:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] value @@     got restricted __le32 [usertype] @@
   include/asm-generic/io.h:299:22: sparse:     expected unsigned int [usertype] value
   include/asm-generic/io.h:299:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] value @@     got restricted __le32 [usertype] @@
   include/asm-generic/io.h:299:22: sparse:     expected unsigned int [usertype] value
   include/asm-generic/io.h:299:22: sparse:     got restricted __le32 [usertype]

vim +1753 drivers/tty/serial/mxs-auart.c

  1643	
  1644	static int mxs_auart_probe(struct platform_device *pdev)
  1645	{
  1646		const struct of_device_id *of_id =
  1647				of_match_device(mxs_auart_dt_ids, &pdev->dev);
  1648		struct mxs_auart_port *s;
  1649		u32 version;
  1650		int ret, irq;
  1651		struct resource *r;
  1652	
  1653		s = devm_kzalloc(&pdev->dev, sizeof(*s), GFP_KERNEL);
  1654		if (!s)
  1655			return -ENOMEM;
  1656	
  1657		s->port.dev = &pdev->dev;
  1658		s->dev = &pdev->dev;
  1659	
  1660		ret = serial_mxs_probe_dt(s, pdev);
  1661		if (ret > 0)
  1662			s->port.line = pdev->id < 0 ? 0 : pdev->id;
  1663		else if (ret < 0)
  1664			return ret;
  1665		if (s->port.line >= ARRAY_SIZE(auart_port)) {
  1666			dev_err(&pdev->dev, "serial%d out of range\n", s->port.line);
  1667			return -EINVAL;
  1668		}
  1669	
  1670		if (of_id) {
  1671			pdev->id_entry = of_id->data;
  1672			s->devtype = pdev->id_entry->driver_data;
  1673		}
  1674	
  1675		ret = mxs_get_clks(s, pdev);
  1676		if (ret)
  1677			return ret;
  1678	
  1679		r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
  1680		if (!r) {
  1681			ret = -ENXIO;
  1682			goto out_disable_clks;
  1683		}
  1684	
  1685		s->port.mapbase = r->start;
  1686		s->port.membase = ioremap(r->start, resource_size(r));
  1687		if (!s->port.membase) {
  1688			ret = -ENOMEM;
  1689			goto out_disable_clks;
  1690		}
  1691		s->port.ops = &mxs_auart_ops;
  1692		s->port.iotype = UPIO_MEM;
  1693		s->port.fifosize = MXS_AUART_FIFO_SIZE;
  1694		s->port.uartclk = clk_get_rate(s->clk);
  1695		s->port.type = PORT_IMX;
  1696	
  1697		mxs_init_regs(s);
  1698	
  1699		s->mctrl_prev = 0;
  1700	
  1701		irq = platform_get_irq(pdev, 0);
  1702		if (irq < 0) {
  1703			ret = irq;
  1704			goto out_iounmap;
  1705		}
  1706	
  1707		s->port.irq = irq;
  1708		ret = devm_request_irq(&pdev->dev, irq, mxs_auart_irq_handle, 0,
  1709				       dev_name(&pdev->dev), s);
  1710		if (ret)
  1711			goto out_iounmap;
  1712	
  1713		platform_set_drvdata(pdev, s);
  1714	
  1715		ret = mxs_auart_init_gpios(s, &pdev->dev);
  1716		if (ret) {
  1717			dev_err(&pdev->dev, "Failed to initialize GPIOs.\n");
  1718			goto out_iounmap;
  1719		}
  1720	
  1721		/*
  1722		 * Get the GPIO lines IRQ
  1723		 */
  1724		ret = mxs_auart_request_gpio_irq(s);
  1725		if (ret)
  1726			goto out_iounmap;
  1727	
  1728		auart_port[s->port.line] = s;
  1729	
  1730		mxs_auart_reset_deassert(s);
  1731	
  1732		ret = uart_add_one_port(&auart_driver, &s->port);
  1733		if (ret)
  1734			goto out_free_qpio_irq;
  1735	
  1736		/* ASM9260 don't have version reg */
  1737		if (is_asm9260_auart(s)) {
  1738			dev_info(&pdev->dev, "Found APPUART ASM9260\n");
  1739		} else {
  1740			version = mxs_read(s, REG_VERSION);
  1741			dev_info(&pdev->dev, "Found APPUART %d.%d.%d\n",
  1742				 (version >> 24) & 0xff,
  1743				 (version >> 16) & 0xff, version & 0xffff);
  1744		}
  1745	
  1746		return 0;
  1747	
  1748	out_free_qpio_irq:
  1749		mxs_auart_free_gpio_irq(s);
  1750		auart_port[pdev->id] = NULL;
  1751	
  1752	out_iounmap:
> 1753		iounmap(s->port.membase);
  1754	
  1755	out_disable_clks:
  1756		if (is_asm9260_auart(s)) {
  1757			clk_disable_unprepare(s->clk);
  1758			clk_disable_unprepare(s->clk_ahb);
  1759		}
  1760		return ret;
  1761	}
  1762	

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 23330 bytes --]

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

only message in thread, other threads:[~2020-11-17  0:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-17  0:18 [linux-stable-rc:linux-5.4.y 342/3218] drivers/tty/serial/mxs-auart.c:1753:24: sparse: sparse: incorrect type in argument 1 (different address spaces) 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.