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: expand[flat|nested] mbox.gz Atom feed
[parent not found: <20230515160206.2801991-1-hugo@hugovil.com>]
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).