Re: [PATCH 3/5] spi: Add support for Renesas CSI

From: kernel test robot
Date: Thu Jun 22 2023 - 01:54:41 EST


Hi Fabrizio,

kernel test robot noticed the following build errors:

[auto build test ERROR on broonie-spi/for-next]
[also build test ERROR on robh/for-next geert-renesas-drivers/renesas-clk geert-renesas-devel/next arm64/for-next/core linus/master v6.4-rc7 next-20230621]
[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/Fabrizio-Castro/spi-dt-bindings-Add-bindings-for-RZ-V2M-CSI/20230621-221233
base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next
patch link: https://lore.kernel.org/r/20230621140944.257352-4-fabrizio.castro.jz%40renesas.com
patch subject: [PATCH 3/5] spi: Add support for Renesas CSI
config: riscv-allyesconfig (https://download.01.org/0day-ci/archive/20230622/202306221354.9ZWHS3y1-lkp@xxxxxxxxx/config)
compiler: riscv64-linux-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230622/202306221354.9ZWHS3y1-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202306221354.9ZWHS3y1-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

drivers/spi/spi-rzv2m-csi.c: In function 'rzv2m_csi_probe':
>> drivers/spi/spi-rzv2m-csi.c:608:15: error: implicit declaration of function 'devm_request_irq'; did you mean 'devm_request_region'? [-Werror=implicit-function-declaration]
608 | ret = devm_request_irq(dev, irq, rzv2m_csi_irq_handler, 0,
| ^~~~~~~~~~~~~~~~
| devm_request_region
cc1: some warnings being treated as errors

Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for IOMMU_IO_PGTABLE_LPAE
Depends on [n]: IOMMU_SUPPORT [=y] && (ARM || ARM64 || COMPILE_TEST [=n]) && !GENERIC_ATOMIC64 [=n]
Selected by [y]:
- IPMMU_VMSA [=y] && IOMMU_SUPPORT [=y] && (ARCH_RENESAS [=y] || COMPILE_TEST [=n]) && !GENERIC_ATOMIC64 [=n]


vim +608 drivers/spi/spi-rzv2m-csi.c

557
558 static int rzv2m_csi_probe(struct platform_device *pdev)
559 {
560 struct spi_controller *controller;
561 struct device *dev = &pdev->dev;
562 struct rzv2m_csi_priv *csi;
563 struct reset_control *rstc;
564 int irq;
565 int ret;
566
567 controller = devm_spi_alloc_master(dev, sizeof(*csi));
568 if (!controller)
569 return -ENOMEM;
570
571 csi = spi_controller_get_devdata(controller);
572 platform_set_drvdata(pdev, csi);
573
574 csi->dev = dev;
575 csi->controller = controller;
576
577 csi->base = devm_platform_ioremap_resource(pdev, 0);
578 if (IS_ERR(csi->base))
579 return PTR_ERR(csi->base);
580
581 irq = platform_get_irq(pdev, 0);
582 if (irq < 0)
583 return irq;
584
585 csi->csiclk = devm_clk_get(dev, "csiclk");
586 if (IS_ERR(csi->csiclk))
587 return dev_err_probe(dev, PTR_ERR(csi->csiclk),
588 "could not get csiclk\n");
589
590 csi->pclk = devm_clk_get(dev, "pclk");
591 if (IS_ERR(csi->pclk))
592 return dev_err_probe(dev, PTR_ERR(csi->pclk),
593 "could not get pclk\n");
594
595 rstc = devm_reset_control_get_shared(dev, NULL);
596 if (IS_ERR(rstc))
597 return dev_err_probe(dev, PTR_ERR(rstc), "Missing reset ctrl\n");
598
599 init_waitqueue_head(&csi->wait);
600
601 controller->mode_bits = SPI_CPOL | SPI_CPHA | SPI_LSB_FIRST;
602 controller->dev.of_node = pdev->dev.of_node;
603 controller->bits_per_word_mask = SPI_BPW_MASK(16) | SPI_BPW_MASK(8);
604 controller->setup = rzv2m_csi_setup;
605 controller->transfer_one = rzv2m_csi_transfer_one;
606 controller->use_gpio_descriptors = true;
607
> 608 ret = devm_request_irq(dev, irq, rzv2m_csi_irq_handler, 0,
609 dev_name(dev), csi);
610 if (ret)
611 return dev_err_probe(dev, ret, "cannot request IRQ\n");
612
613 /*
614 * The reset also affects other HW that is not under the control
615 * of Linux. Therefore, all we can do is make sure the reset is
616 * deasserted.
617 */
618 reset_control_deassert(rstc);
619
620 /* Make sure the IP is in SW reset state */
621 ret = rzv2m_csi_sw_reset(csi, 1);
622 if (ret)
623 return ret;
624
625 ret = clk_prepare_enable(csi->csiclk);
626 if (ret)
627 return dev_err_probe(dev, ret, "could not enable csiclk\n");
628
629 ret = spi_register_controller(controller);
630 if (ret) {
631 clk_disable_unprepare(csi->csiclk);
632 return dev_err_probe(dev, ret, "register controller failed\n");
633 }
634
635 return 0;
636 }
637

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