All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Hugo Villeneuve <hugo@hugovil.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: Re: [RFC PATCH] Revert "sc16is7xx: Separate GPIOs from modem control lines"
Date: Tue, 16 May 2023 14:20:51 +0800	[thread overview]
Message-ID: <202305161450.DFSDFYLS-lkp@intel.com> (raw)
In-Reply-To: <20230515160206.2801991-1-hugo@hugovil.com>

Hi Hugo,

[This is a private test report for your RFC patch.]
kernel test robot noticed the following build errors:

[auto build test ERROR on tty/tty-testing]
[also build test ERROR on tty/tty-next tty/tty-linus linus/master v6.4-rc2 next-20230516]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Hugo-Villeneuve/Revert-sc16is7xx-Separate-GPIOs-from-modem-control-lines/20230516-022330
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tty-testing
patch link:    https://lore.kernel.org/r/20230515160206.2801991-1-hugo%40hugovil.com
patch subject: [RFC PATCH] Revert "sc16is7xx: Separate GPIOs from modem control lines"
config: i386-randconfig-i053-20230515 (https://download.01.org/0day-ci/archive/20230516/202305161450.DFSDFYLS-lkp@intel.com/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/intel-lab-lkp/linux/commit/07f35c5b5f2d204418ea211f585d140c9df5506b
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Hugo-Villeneuve/Revert-sc16is7xx-Separate-GPIOs-from-modem-control-lines/20230516-022330
        git checkout 07f35c5b5f2d204418ea211f585d140c9df5506b
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/tty/serial/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202305161450.DFSDFYLS-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/tty/serial/sc16is7xx.c:1454:16: error: no member named 'has_mctrl' in 'struct sc16is7xx_devtype'
                   if (devtype->has_mctrl)
                       ~~~~~~~  ^
   1 error generated.


vim +1454 drivers/tty/serial/sc16is7xx.c

267913ecf73745 Ilpo Järvinen       2022-06-06  1352  
dfeae619d781de Jon Ringle          2014-04-24  1353  static int sc16is7xx_probe(struct device *dev,
68be64ca7e2adc Jakub Kicinski      2015-07-31  1354  			   const struct sc16is7xx_devtype *devtype,
37f3965d74d5b5 Daniel Mack         2020-05-21  1355  			   struct regmap *regmap, int irq)
dfeae619d781de Jon Ringle          2014-04-24  1356  {
24bc6e68efa00f Andy Shevchenko     2019-03-18  1357  	unsigned long freq = 0, *pfreq = dev_get_platdata(dev);
2aa916e67db3e6 Daniel Mack         2020-05-21  1358  	unsigned int val;
24bc6e68efa00f Andy Shevchenko     2019-03-18  1359  	u32 uartclk = 0;
dfeae619d781de Jon Ringle          2014-04-24  1360  	int i, ret;
dfeae619d781de Jon Ringle          2014-04-24  1361  	struct sc16is7xx_port *s;
dfeae619d781de Jon Ringle          2014-04-24  1362  
dfeae619d781de Jon Ringle          2014-04-24  1363  	if (IS_ERR(regmap))
dfeae619d781de Jon Ringle          2014-04-24  1364  		return PTR_ERR(regmap);
dfeae619d781de Jon Ringle          2014-04-24  1365  
2aa916e67db3e6 Daniel Mack         2020-05-21  1366  	/*
2aa916e67db3e6 Daniel Mack         2020-05-21  1367  	 * This device does not have an identification register that would
2aa916e67db3e6 Daniel Mack         2020-05-21  1368  	 * tell us if we are really connected to the correct device.
2aa916e67db3e6 Daniel Mack         2020-05-21  1369  	 * The best we can do is to check if communication is at all possible.
2aa916e67db3e6 Daniel Mack         2020-05-21  1370  	 */
2aa916e67db3e6 Daniel Mack         2020-05-21  1371  	ret = regmap_read(regmap,
2aa916e67db3e6 Daniel Mack         2020-05-21  1372  			  SC16IS7XX_LSR_REG << SC16IS7XX_REG_SHIFT, &val);
2aa916e67db3e6 Daniel Mack         2020-05-21  1373  	if (ret < 0)
158e800e0fde91 Annaliese McDermond 2021-03-29  1374  		return -EPROBE_DEFER;
2aa916e67db3e6 Daniel Mack         2020-05-21  1375  
dfeae619d781de Jon Ringle          2014-04-24  1376  	/* Alloc port structure */
84f1c5c0174ace Gustavo A. R. Silva 2019-01-04  1377  	s = devm_kzalloc(dev, struct_size(s, p, devtype->nr_uart), GFP_KERNEL);
dfeae619d781de Jon Ringle          2014-04-24  1378  	if (!s) {
dfeae619d781de Jon Ringle          2014-04-24  1379  		dev_err(dev, "Error allocating port structure\n");
dfeae619d781de Jon Ringle          2014-04-24  1380  		return -ENOMEM;
dfeae619d781de Jon Ringle          2014-04-24  1381  	}
dfeae619d781de Jon Ringle          2014-04-24  1382  
24bc6e68efa00f Andy Shevchenko     2019-03-18  1383  	/* Always ask for fixed clock rate from a property. */
24bc6e68efa00f Andy Shevchenko     2019-03-18  1384  	device_property_read_u32(dev, "clock-frequency", &uartclk);
24bc6e68efa00f Andy Shevchenko     2019-03-18  1385  
cb1b206cff461d Andy Shevchenko     2021-05-17  1386  	s->clk = devm_clk_get_optional(dev, NULL);
cb1b206cff461d Andy Shevchenko     2021-05-17  1387  	if (IS_ERR(s->clk))
cb1b206cff461d Andy Shevchenko     2021-05-17  1388  		return PTR_ERR(s->clk);
cb1b206cff461d Andy Shevchenko     2021-05-17  1389  
cb1b206cff461d Andy Shevchenko     2021-05-17  1390  	ret = clk_prepare_enable(s->clk);
cb1b206cff461d Andy Shevchenko     2021-05-17  1391  	if (ret)
cb1b206cff461d Andy Shevchenko     2021-05-17  1392  		return ret;
cb1b206cff461d Andy Shevchenko     2021-05-17  1393  
cb1b206cff461d Andy Shevchenko     2021-05-17  1394  	freq = clk_get_rate(s->clk);
cb1b206cff461d Andy Shevchenko     2021-05-17  1395  	if (freq == 0) {
24bc6e68efa00f Andy Shevchenko     2019-03-18  1396  		if (uartclk)
24bc6e68efa00f Andy Shevchenko     2019-03-18  1397  			freq = uartclk;
dfeae619d781de Jon Ringle          2014-04-24  1398  		if (pfreq)
dfeae619d781de Jon Ringle          2014-04-24  1399  			freq = *pfreq;
24bc6e68efa00f Andy Shevchenko     2019-03-18  1400  		if (freq)
24bc6e68efa00f Andy Shevchenko     2019-03-18  1401  			dev_dbg(dev, "Clock frequency: %luHz\n", freq);
dfeae619d781de Jon Ringle          2014-04-24  1402  		else
cb1b206cff461d Andy Shevchenko     2021-05-17  1403  			return -EINVAL;
dfeae619d781de Jon Ringle          2014-04-24  1404  	}
dfeae619d781de Jon Ringle          2014-04-24  1405  
dfeae619d781de Jon Ringle          2014-04-24  1406  	s->regmap = regmap;
dfeae619d781de Jon Ringle          2014-04-24  1407  	s->devtype = devtype;
dfeae619d781de Jon Ringle          2014-04-24  1408  	dev_set_drvdata(dev, s);
30ec514d440cf2 Phil Elwell         2018-09-12  1409  	mutex_init(&s->efr_lock);
dfeae619d781de Jon Ringle          2014-04-24  1410  
3989144f863ac5 Petr Mladek         2016-10-11  1411  	kthread_init_worker(&s->kworker);
9e6f4ca3e567d5 Jakub Kicinski      2015-05-29  1412  	s->kworker_task = kthread_run(kthread_worker_fn, &s->kworker,
9e6f4ca3e567d5 Jakub Kicinski      2015-05-29  1413  				      "sc16is7xx");
9e6f4ca3e567d5 Jakub Kicinski      2015-05-29  1414  	if (IS_ERR(s->kworker_task)) {
9e6f4ca3e567d5 Jakub Kicinski      2015-05-29  1415  		ret = PTR_ERR(s->kworker_task);
c64349722d1417 Jakub Kicinski      2015-07-31  1416  		goto out_clk;
9e6f4ca3e567d5 Jakub Kicinski      2015-05-29  1417  	}
28d2f209cd1620 Peter Zijlstra      2020-04-21  1418  	sched_set_fifo(s->kworker_task);
9e6f4ca3e567d5 Jakub Kicinski      2015-05-29  1419  
43c51bb573aab6 Florian Vallee      2016-07-19  1420  	/* reset device, purging any pending irq / data */
43c51bb573aab6 Florian Vallee      2016-07-19  1421  	regmap_write(s->regmap, SC16IS7XX_IOCONTROL_REG << SC16IS7XX_REG_SHIFT,
43c51bb573aab6 Florian Vallee      2016-07-19  1422  			SC16IS7XX_IOCONTROL_SRESET_BIT);
43c51bb573aab6 Florian Vallee      2016-07-19  1423  
dfeae619d781de Jon Ringle          2014-04-24  1424  	for (i = 0; i < devtype->nr_uart; ++i) {
e92a886bf7841c Jakub Kicinski      2015-07-31  1425  		s->p[i].line		= i;
dfeae619d781de Jon Ringle          2014-04-24  1426  		/* Initialize port data */
dfeae619d781de Jon Ringle          2014-04-24  1427  		s->p[i].port.dev	= dev;
dfeae619d781de Jon Ringle          2014-04-24  1428  		s->p[i].port.irq	= irq;
dfeae619d781de Jon Ringle          2014-04-24  1429  		s->p[i].port.type	= PORT_SC16IS7XX;
dfeae619d781de Jon Ringle          2014-04-24  1430  		s->p[i].port.fifosize	= SC16IS7XX_FIFO_SIZE;
dfeae619d781de Jon Ringle          2014-04-24  1431  		s->p[i].port.flags	= UPF_FIXED_TYPE | UPF_LOW_LATENCY;
5da6b1c079e680 Daniel Mack         2020-09-01  1432  		s->p[i].port.iobase	= i;
dfeae619d781de Jon Ringle          2014-04-24  1433  		s->p[i].port.iotype	= UPIO_PORT;
dfeae619d781de Jon Ringle          2014-04-24  1434  		s->p[i].port.uartclk	= freq;
b57d15fe8b37fe Ricardo Ribalda     2014-11-06  1435  		s->p[i].port.rs485_config = sc16is7xx_config_rs485;
0139da50dc53f0 Ilpo Järvinen       2022-07-04  1436  		s->p[i].port.rs485_supported = sc16is7xx_rs485_supported;
dfeae619d781de Jon Ringle          2014-04-24  1437  		s->p[i].port.ops	= &sc16is7xx_ops;
21144bab4f1191 Tomasz Moń          2022-03-01  1438  		s->p[i].old_mctrl	= 0;
c64349722d1417 Jakub Kicinski      2015-07-31  1439  		s->p[i].port.line	= sc16is7xx_alloc_line();
21144bab4f1191 Tomasz Moń          2022-03-01  1440  
c64349722d1417 Jakub Kicinski      2015-07-31  1441  		if (s->p[i].port.line >= SC16IS7XX_MAX_DEVS) {
c64349722d1417 Jakub Kicinski      2015-07-31  1442  			ret = -ENOMEM;
c64349722d1417 Jakub Kicinski      2015-07-31  1443  			goto out_ports;
c64349722d1417 Jakub Kicinski      2015-07-31  1444  		}
c64349722d1417 Jakub Kicinski      2015-07-31  1445  
dfeae619d781de Jon Ringle          2014-04-24  1446  		/* Disable all interrupts */
dfeae619d781de Jon Ringle          2014-04-24  1447  		sc16is7xx_port_write(&s->p[i].port, SC16IS7XX_IER_REG, 0);
dfeae619d781de Jon Ringle          2014-04-24  1448  		/* Disable TX/RX */
dfeae619d781de Jon Ringle          2014-04-24  1449  		sc16is7xx_port_write(&s->p[i].port, SC16IS7XX_EFCR_REG,
dfeae619d781de Jon Ringle          2014-04-24  1450  				     SC16IS7XX_EFCR_RXDISABLE_BIT |
dfeae619d781de Jon Ringle          2014-04-24  1451  				     SC16IS7XX_EFCR_TXDISABLE_BIT);
21144bab4f1191 Tomasz Moń          2022-03-01  1452  
21144bab4f1191 Tomasz Moń          2022-03-01  1453  		/* Use GPIO lines as modem status registers */
21144bab4f1191 Tomasz Moń          2022-03-01 @1454  		if (devtype->has_mctrl)
21144bab4f1191 Tomasz Moń          2022-03-01  1455  			sc16is7xx_port_write(&s->p[i].port,
21144bab4f1191 Tomasz Moń          2022-03-01  1456  					     SC16IS7XX_IOCONTROL_REG,
21144bab4f1191 Tomasz Moń          2022-03-01  1457  					     SC16IS7XX_IOCONTROL_MODEM_BIT);
21144bab4f1191 Tomasz Moń          2022-03-01  1458  
a0104085362ff9 Jakub Kicinski      2015-05-29  1459  		/* Initialize kthread work structs */
3989144f863ac5 Petr Mladek         2016-10-11  1460  		kthread_init_work(&s->p[i].tx_work, sc16is7xx_tx_proc);
3989144f863ac5 Petr Mladek         2016-10-11  1461  		kthread_init_work(&s->p[i].reg_work, sc16is7xx_reg_proc);
21144bab4f1191 Tomasz Moń          2022-03-01  1462  		kthread_init_delayed_work(&s->p[i].ms_work, sc16is7xx_ms_proc);
dfeae619d781de Jon Ringle          2014-04-24  1463  		/* Register port */
c64349722d1417 Jakub Kicinski      2015-07-31  1464  		uart_add_one_port(&sc16is7xx_uart, &s->p[i].port);
43c51bb573aab6 Florian Vallee      2016-07-19  1465  
43c51bb573aab6 Florian Vallee      2016-07-19  1466  		/* Enable EFR */
43c51bb573aab6 Florian Vallee      2016-07-19  1467  		sc16is7xx_port_write(&s->p[i].port, SC16IS7XX_LCR_REG,
43c51bb573aab6 Florian Vallee      2016-07-19  1468  				     SC16IS7XX_LCR_CONF_MODE_B);
43c51bb573aab6 Florian Vallee      2016-07-19  1469  
43c51bb573aab6 Florian Vallee      2016-07-19  1470  		regcache_cache_bypass(s->regmap, true);
43c51bb573aab6 Florian Vallee      2016-07-19  1471  
43c51bb573aab6 Florian Vallee      2016-07-19  1472  		/* Enable write access to enhanced features */
43c51bb573aab6 Florian Vallee      2016-07-19  1473  		sc16is7xx_port_write(&s->p[i].port, SC16IS7XX_EFR_REG,
43c51bb573aab6 Florian Vallee      2016-07-19  1474  				     SC16IS7XX_EFR_ENABLE_BIT);
43c51bb573aab6 Florian Vallee      2016-07-19  1475  
43c51bb573aab6 Florian Vallee      2016-07-19  1476  		regcache_cache_bypass(s->regmap, false);
43c51bb573aab6 Florian Vallee      2016-07-19  1477  
43c51bb573aab6 Florian Vallee      2016-07-19  1478  		/* Restore access to general registers */
43c51bb573aab6 Florian Vallee      2016-07-19  1479  		sc16is7xx_port_write(&s->p[i].port, SC16IS7XX_LCR_REG, 0x00);
43c51bb573aab6 Florian Vallee      2016-07-19  1480  
dfeae619d781de Jon Ringle          2014-04-24  1481  		/* Go to suspend mode */
dfeae619d781de Jon Ringle          2014-04-24  1482  		sc16is7xx_power(&s->p[i].port, 0);
dfeae619d781de Jon Ringle          2014-04-24  1483  	}
dfeae619d781de Jon Ringle          2014-04-24  1484  
9eb90d57b55a0a Pascal Huerst       2020-05-29  1485  	if (dev->of_node) {
9eb90d57b55a0a Pascal Huerst       2020-05-29  1486  		struct property *prop;
9eb90d57b55a0a Pascal Huerst       2020-05-29  1487  		const __be32 *p;
9eb90d57b55a0a Pascal Huerst       2020-05-29  1488  		u32 u;
9eb90d57b55a0a Pascal Huerst       2020-05-29  1489  
9eb90d57b55a0a Pascal Huerst       2020-05-29  1490  		of_property_for_each_u32(dev->of_node, "irda-mode-ports",
9eb90d57b55a0a Pascal Huerst       2020-05-29  1491  					 prop, p, u)
9eb90d57b55a0a Pascal Huerst       2020-05-29  1492  			if (u < devtype->nr_uart)
9eb90d57b55a0a Pascal Huerst       2020-05-29  1493  				s->p[u].irda_mode = true;
9eb90d57b55a0a Pascal Huerst       2020-05-29  1494  	}
9eb90d57b55a0a Pascal Huerst       2020-05-29  1495  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

      parent reply	other threads:[~2023-05-16  6:21 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-15 16:02 [RFC PATCH] Revert "sc16is7xx: Separate GPIOs from modem control lines" Hugo Villeneuve
2023-05-15 16:20 ` Greg Kroah-Hartman
2023-05-15 16:51   ` Hugo Villeneuve
2023-05-16  8:50     ` Lech Perczak
2023-05-16 15:59       ` Hugo Villeneuve
2023-05-16 22:09         ` Hugo Villeneuve
2023-05-17  9:18           ` Lech Perczak
2023-05-17 13:58             ` Hugo Villeneuve
2023-05-16  5:18 ` kernel test robot
2023-05-16  6:20 ` kernel test robot [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202305161450.DFSDFYLS-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=hugo@hugovil.com \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.