Hi Binbin, kernel test robot noticed the following build warnings:
url: https://github.com/intel-lab-lkp/linux/commits/Binbin-Zhou/mfd-ls2kbmc-Introduce-Loongson-2K-BMC-core-driver/20250812-200258 base: 006aa8f57f55dd5bf68c4ada1e0d3f4e59027d71 patch link: https://lore.kernel.org/r/1809103a948545df93b7b439df46ca6393995aa1.1754999365.git.zhoubinbin%40loongson.cn patch subject: [PATCH v9 2/3] mfd: ls2kbmc: Add Loongson-2K BMC reset function support config: loongarch-randconfig-r073-20250818 (https://download.01.org/0day-ci/archive/20250819/202508191519.ut5io1jk-...@intel.com/config) compiler: loongarch64-linux-gcc (GCC) 15.1.0 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 <l...@intel.com> | Reported-by: Dan Carpenter <dan.carpen...@linaro.org> | Closes: https://lore.kernel.org/r/202508191519.ut5io1jk-...@intel.com/ smatch warnings: drivers/mfd/ls2k-bmc-core.c:389 ls2k_bmc_pdata_initial() warn: passing zero to 'PTR_ERR' vim +/PTR_ERR +389 drivers/mfd/ls2k-bmc-core.c 71ff6b050ad788 Binbin Zhou 2025-08-12 360 static int ls2k_bmc_pdata_initial(struct ls2k_bmc_pdata *ddata) 71ff6b050ad788 Binbin Zhou 2025-08-12 361 { 71ff6b050ad788 Binbin Zhou 2025-08-12 362 struct pci_dev *pdev = to_pci_dev(ddata->dev); 71ff6b050ad788 Binbin Zhou 2025-08-12 363 int gsi = 16 + (LS2K_BMC_RESET_GPIO & 7); 71ff6b050ad788 Binbin Zhou 2025-08-12 364 void __iomem *gpio_base; 71ff6b050ad788 Binbin Zhou 2025-08-12 365 int irq, ret, val; 71ff6b050ad788 Binbin Zhou 2025-08-12 366 71ff6b050ad788 Binbin Zhou 2025-08-12 367 ls2k_bmc_save_pci_data(pdev, ddata); 71ff6b050ad788 Binbin Zhou 2025-08-12 368 71ff6b050ad788 Binbin Zhou 2025-08-12 369 INIT_WORK(&ddata->bmc_reset_work, ls2k_bmc_events_fn); 71ff6b050ad788 Binbin Zhou 2025-08-12 370 71ff6b050ad788 Binbin Zhou 2025-08-12 371 ret = devm_request_irq(&pdev->dev, pdev->irq, ls2k_bmc_interrupt, 71ff6b050ad788 Binbin Zhou 2025-08-12 372 IRQF_SHARED | IRQF_TRIGGER_FALLING, "ls2kbmc pcie", ddata); 71ff6b050ad788 Binbin Zhou 2025-08-12 373 if (ret) { 71ff6b050ad788 Binbin Zhou 2025-08-12 374 dev_err(ddata->dev, "Failed to request LS2KBMC PCI-E IRQ %d.\n", pdev->irq); 71ff6b050ad788 Binbin Zhou 2025-08-12 375 return ret; 71ff6b050ad788 Binbin Zhou 2025-08-12 376 } 71ff6b050ad788 Binbin Zhou 2025-08-12 377 71ff6b050ad788 Binbin Zhou 2025-08-12 378 /* 71ff6b050ad788 Binbin Zhou 2025-08-12 379 * Since gpio_chip->to_irq is not implemented in the Loongson-3 GPIO driver, 71ff6b050ad788 Binbin Zhou 2025-08-12 380 * acpi_register_gsi() is used to obtain the GPIO IRQ. The GPIO interrupt is a 71ff6b050ad788 Binbin Zhou 2025-08-12 381 * watchdog interrupt that is triggered when the BMC resets. 71ff6b050ad788 Binbin Zhou 2025-08-12 382 */ 71ff6b050ad788 Binbin Zhou 2025-08-12 383 irq = acpi_register_gsi(NULL, gsi, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW); 71ff6b050ad788 Binbin Zhou 2025-08-12 384 if (irq < 0) 71ff6b050ad788 Binbin Zhou 2025-08-12 385 return irq; 71ff6b050ad788 Binbin Zhou 2025-08-12 386 71ff6b050ad788 Binbin Zhou 2025-08-12 387 gpio_base = ioremap(LOONGSON_GPIO_REG_BASE, LOONGSON_GPIO_REG_SIZE); 71ff6b050ad788 Binbin Zhou 2025-08-12 388 if (!gpio_base) { 71ff6b050ad788 Binbin Zhou 2025-08-12 @389 ret = PTR_ERR(gpio_base); This PTR_ERR(NULL) is success. It should be "ret = -ENOMEM;" 71ff6b050ad788 Binbin Zhou 2025-08-12 390 goto acpi_failed; 71ff6b050ad788 Binbin Zhou 2025-08-12 391 } 71ff6b050ad788 Binbin Zhou 2025-08-12 392 71ff6b050ad788 Binbin Zhou 2025-08-12 393 /* Disable GPIO output */ 71ff6b050ad788 Binbin Zhou 2025-08-12 394 val = readl(gpio_base + LOONGSON_GPIO_OEN); 71ff6b050ad788 Binbin Zhou 2025-08-12 395 writel(val | BIT(LS2K_BMC_RESET_GPIO), gpio_base + LOONGSON_GPIO_OEN); 71ff6b050ad788 Binbin Zhou 2025-08-12 396 71ff6b050ad788 Binbin Zhou 2025-08-12 397 /* Enable GPIO functionality */ 71ff6b050ad788 Binbin Zhou 2025-08-12 398 val = readl(gpio_base + LOONGSON_GPIO_FUNC); 71ff6b050ad788 Binbin Zhou 2025-08-12 399 writel(val & ~BIT(LS2K_BMC_RESET_GPIO), gpio_base + LOONGSON_GPIO_FUNC); 71ff6b050ad788 Binbin Zhou 2025-08-12 400 71ff6b050ad788 Binbin Zhou 2025-08-12 401 /* Set GPIO interrupts to low-level active */ 71ff6b050ad788 Binbin Zhou 2025-08-12 402 val = readl(gpio_base + LOONGSON_GPIO_INTPOL); 71ff6b050ad788 Binbin Zhou 2025-08-12 403 writel(val & ~BIT(LS2K_BMC_RESET_GPIO), gpio_base + LOONGSON_GPIO_INTPOL); 71ff6b050ad788 Binbin Zhou 2025-08-12 404 71ff6b050ad788 Binbin Zhou 2025-08-12 405 /* Enable GPIO interrupts */ 71ff6b050ad788 Binbin Zhou 2025-08-12 406 val = readl(gpio_base + LOONGSON_GPIO_INTEN); 71ff6b050ad788 Binbin Zhou 2025-08-12 407 writel(val | BIT(LS2K_BMC_RESET_GPIO), gpio_base + LOONGSON_GPIO_INTEN); 71ff6b050ad788 Binbin Zhou 2025-08-12 408 71ff6b050ad788 Binbin Zhou 2025-08-12 409 ret = devm_request_irq(ddata->dev, irq, ls2k_bmc_interrupt, 71ff6b050ad788 Binbin Zhou 2025-08-12 410 IRQF_SHARED | IRQF_TRIGGER_FALLING, "ls2kbmc gpio", ddata); 71ff6b050ad788 Binbin Zhou 2025-08-12 411 if (ret) 71ff6b050ad788 Binbin Zhou 2025-08-12 412 dev_err(ddata->dev, "Failed to request LS2KBMC GPIO IRQ %d.\n", irq); 71ff6b050ad788 Binbin Zhou 2025-08-12 413 71ff6b050ad788 Binbin Zhou 2025-08-12 414 iounmap(gpio_base); 71ff6b050ad788 Binbin Zhou 2025-08-12 415 71ff6b050ad788 Binbin Zhou 2025-08-12 416 acpi_failed: 71ff6b050ad788 Binbin Zhou 2025-08-12 417 acpi_unregister_gsi(gsi); 71ff6b050ad788 Binbin Zhou 2025-08-12 418 return ret; 71ff6b050ad788 Binbin Zhou 2025-08-12 419 } -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki _______________________________________________ Openipmi-developer mailing list Openipmi-developer@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openipmi-developer