tree:
https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git
randconfig-5.17-next
head: fdcc9acc26de65e7b1b8cebc3089b7666be25681
commit: 5de8ac6b8ccee6f1f892b4fa6dc16781de0c3ba8 [148/205] replace most of_gpio_get
config: powerpc-randconfig-p001-20211207
(
https://download.01.org/0day-ci/archive/20211209/202112090049.RctnOUxU-lk...)
compiler: powerpc-linux-gcc (GCC) 11.2.0
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://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git/commi...
git remote add arnd-playground
https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git
git fetch --no-tags arnd-playground randconfig-5.17-next
git checkout 5de8ac6b8ccee6f1f892b4fa6dc16781de0c3ba8
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir
ARCH=powerpc SHELL=/bin/bash drivers/spi/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/spi/spi-mpc52xx.c: In function 'mpc52xx_spi_probe':
> drivers/spi/spi-mpc52xx.c:441:29: error: invalid use of flexible
array member
441 | ms->gpio_cs =
kmalloc_array(ms->gpio_cs_count,
| ^
> drivers/spi/spi-mpc52xx.c:497:17: error: implicit declaration of
function 'gpio_put'; did you mean 'gpiod_put'?
[-Werror=implicit-function-declaration]
497 |
gpio_put(ms->gpio_cs[i]);
| ^~~~~~~~
| gpiod_put
cc1: some warnings being treated as errors
vim +441 drivers/spi/spi-mpc52xx.c
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 377
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 378 /*
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 379 * OF
Platform Bus Binding
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 380 */
fd4a319bc933ae drivers/spi/spi-mpc52xx.c Grant Likely 2012-12-07 381 static int
mpc52xx_spi_probe(struct platform_device *op)
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 382 {
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 383 struct
spi_master *master;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 384 struct
mpc52xx_spi *ms;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 385 void __iomem
*regs;
4a495b1c43ed2e drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 386 u8 ctrl1;
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 387 int rc, i =
0;
5de8ac6b8ccee6 drivers/spi/spi-mpc52xx.c Arnd Bergmann 2021-11-08 388 struct
gpio_desc *gpio_cs;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 389
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 390 /* MMIO
registers */
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 391
dev_dbg(&op->dev, "probing mpc5200 SPI device\n");
61c7a080a5a061 drivers/spi/mpc52xx_spi.c Grant Likely 2010-04-13 392 regs =
of_iomap(op->dev.of_node, 0);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 393 if (!regs)
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 394 return
-ENODEV;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 395
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 396 /*
initialize the device */
4a495b1c43ed2e drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 397 ctrl1 =
SPI_CTRL1_SPIE | SPI_CTRL1_SPE | SPI_CTRL1_MSTR;
4a495b1c43ed2e drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 398 out_8(regs +
SPI_CTRL1, ctrl1);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 399 out_8(regs +
SPI_CTRL2, 0x0);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 400 out_8(regs +
SPI_DATADIR, 0xe); /* Set output pins */
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 401 out_8(regs +
SPI_PORTDATA, 0x8); /* Deassert /SS signal */
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 402
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 403 /* Clear the
status register and re-read it to check for a MODF
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 404 * failure.
This driver cannot currently handle multiple masters
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 405 * on the
SPI bus. This fault will also occur if the SPI signals
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 406 * are not
connected to any pins (port_config setting) */
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 407 in_8(regs +
SPI_STATUS);
4a495b1c43ed2e drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 408 out_8(regs +
SPI_CTRL1, ctrl1);
4a495b1c43ed2e drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 409
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 410 in_8(regs +
SPI_DATA);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 411 if
(in_8(regs + SPI_STATUS) & SPI_STATUS_MODF) {
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 412
dev_err(&op->dev, "mode fault; is port_config correct?\n");
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 413 rc = -EIO;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 414 goto
err_init;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 415 }
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 416
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 417
dev_dbg(&op->dev, "allocating spi_master struct\n");
ac7357ac769e3b drivers/spi/spi-mpc52xx.c Zhiqi Song 2021-05-18 418 master =
spi_alloc_master(&op->dev, sizeof(*ms));
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 419 if (!master)
{
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 420 rc =
-ENOMEM;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 421 goto
err_alloc;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 422 }
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 423
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 424
master->transfer = mpc52xx_spi_transfer;
d65aea99bd9e1d drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 425
master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_LSB_FIRST;
5c5989ccd32c37 drivers/spi/spi-mpc52xx.c Axel Lin 2014-03-28 426
master->bits_per_word_mask = SPI_BPW_MASK(8);
12b15e83289bc7 drivers/spi/mpc52xx_spi.c Anatolij Gustschin 2010-07-27 427
master->dev.of_node = op->dev.of_node;
d65aea99bd9e1d drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 428
24b5a82cf5709a drivers/spi/spi-mpc52xx.c Jingoo Han 2013-05-23 429
platform_set_drvdata(op, master);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 430
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 431 ms =
spi_master_get_devdata(master);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 432
ms->master = master;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 433 ms->regs
= regs;
61c7a080a5a061 drivers/spi/mpc52xx_spi.c Grant Likely 2010-04-13 434 ms->irq0
= irq_of_parse_and_map(op->dev.of_node, 0);
61c7a080a5a061 drivers/spi/mpc52xx_spi.c Grant Likely 2010-04-13 435 ms->irq1
= irq_of_parse_and_map(op->dev.of_node, 1);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 436 ms->state
= mpc52xx_spi_fsmstate_idle;
61c7a080a5a061 drivers/spi/mpc52xx_spi.c Grant Likely 2010-04-13 437
ms->ipb_freq = mpc5xxx_get_bus_frequency(op->dev.of_node);
61c7a080a5a061 drivers/spi/mpc52xx_spi.c Grant Likely 2010-04-13 438
ms->gpio_cs_count = of_gpio_count(op->dev.of_node);
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 439 if
(ms->gpio_cs_count > 0) {
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 440
master->num_chipselect = ms->gpio_cs_count;
8b6c8955b5dc21 drivers/spi/spi-mpc52xx.c Markus Elfring 2017-01-13 @441
ms->gpio_cs = kmalloc_array(ms->gpio_cs_count,
8b6c8955b5dc21 drivers/spi/spi-mpc52xx.c Markus Elfring 2017-01-13 442
sizeof(*ms->gpio_cs),
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 443
GFP_KERNEL);
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 444 if
(!ms->gpio_cs) {
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 445 rc =
-ENOMEM;
866c0f25d2dc89 drivers/spi/spi-mpc52xx.c Guenter Roeck 2012-08-18 446 goto
err_alloc_gpio;
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 447 }
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 448
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 449 for (i = 0;
i < ms->gpio_cs_count; i++) {
5de8ac6b8ccee6 drivers/spi/spi-mpc52xx.c Arnd Bergmann 2021-11-08 450 gpio_cs =
gpiod_get_index(&op->dev, NULL, i, GPIOD_OUT_LOW);
5de8ac6b8ccee6 drivers/spi/spi-mpc52xx.c Arnd Bergmann 2021-11-08 451 if
(IS_ERR(gpio_cs)) {
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 452
dev_err(&op->dev,
5de8ac6b8ccee6 drivers/spi/spi-mpc52xx.c Arnd Bergmann 2021-11-08 453
"can't request spi cs gpio #%d on gpio line\n", i);
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 454 goto
err_gpio;
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 455 }
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 456
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 457
ms->gpio_cs[i] = gpio_cs;
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 458 }
937041e21634ff drivers/spi/mpc52xx_spi.c Wolfram Sang 2009-11-24 459 }
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 460
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 461
spin_lock_init(&ms->lock);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 462
INIT_LIST_HEAD(&ms->queue);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 463
INIT_WORK(&ms->work, mpc52xx_spi_wq);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 464
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 465 /* Decide if
interrupts can be used */
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 466 if
(ms->irq0 && ms->irq1) {
937041e21634ff drivers/spi/mpc52xx_spi.c Wolfram Sang 2009-11-24 467 rc =
request_irq(ms->irq0, mpc52xx_spi_irq, 0,
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 468
"mpc5200-spi-modf", ms);
937041e21634ff drivers/spi/mpc52xx_spi.c Wolfram Sang 2009-11-24 469 rc |=
request_irq(ms->irq1, mpc52xx_spi_irq, 0,
937041e21634ff drivers/spi/mpc52xx_spi.c Wolfram Sang 2009-11-24 470
"mpc5200-spi-spif", ms);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 471 if (rc) {
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 472
free_irq(ms->irq0, ms);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 473
free_irq(ms->irq1, ms);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 474
ms->irq0 = ms->irq1 = 0;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 475 }
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 476 } else {
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 477 /* operate
in polled mode */
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 478 ms->irq0
= ms->irq1 = 0;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 479 }
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 480
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 481 if
(!ms->irq0)
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 482
dev_info(&op->dev, "using polled mode\n");
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 483
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 484
dev_dbg(&op->dev, "registering spi_master struct\n");
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 485 rc =
spi_register_master(master);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 486 if (rc)
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 487 goto
err_register;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 488
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 489
dev_info(&ms->master->dev, "registered MPC5200 SPI bus\n");
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 490
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 491 return rc;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 492
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 493
err_register:
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 494
dev_err(&ms->master->dev, "initialization failed\n");
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 495 err_gpio:
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 496 while (i--
> 0)
5de8ac6b8ccee6 drivers/spi/spi-mpc52xx.c Arnd Bergmann 2021-11-08 @497
gpio_put(ms->gpio_cs[i]);
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 498
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu 2009-11-13 499
kfree(ms->gpio_cs);
866c0f25d2dc89 drivers/spi/spi-mpc52xx.c Guenter Roeck 2012-08-18 500
err_alloc_gpio:
866c0f25d2dc89 drivers/spi/spi-mpc52xx.c Guenter Roeck 2012-08-18 501
spi_master_put(master);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 502 err_alloc:
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 503 err_init:
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 504
iounmap(regs);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 505 return rc;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 506 }
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely 2009-11-04 507
:::::: The code at line 441 was first introduced by commit
:::::: 8b6c8955b5dc21358cb1f67cadc5514d2353375d spi/mpc52xx: Use kmalloc_array() in
mpc52xx_spi_probe()
:::::: TO: Markus Elfring <elfring(a)users.sourceforge.net>
:::::: CC: Mark Brown <broonie(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org