Hi Jerome, First bad commit (maybe != root cause): tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: ca39c4daa6f7f770b1329ffb46f1e4a6bcc3f291 commit: 74c17a0a49a6ad3b32cb130f25196d1f8d5d560e [13259/15277] mfd: tps65219: Add driver for TI TPS65219 PMIC config: openrisc-randconfig-m041-20221216 compiler: or1k-linux-gcc (GCC) 12.1.0 If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot smatch warnings: drivers/regulator/tps65219-regulator.c:370 tps65219_regulator_probe() warn: unsigned 'rdev' is never less than zero. vim +/rdev +370 drivers/regulator/tps65219-regulator.c c12ac5fc3e0af2 Jerome Neanne 2022-08-05 322 c12ac5fc3e0af2 Jerome Neanne 2022-08-05 323 static int tps65219_regulator_probe(struct platform_device *pdev) c12ac5fc3e0af2 Jerome Neanne 2022-08-05 324 { c12ac5fc3e0af2 Jerome Neanne 2022-08-05 325 struct tps65219 *tps = dev_get_drvdata(pdev->dev.parent); c12ac5fc3e0af2 Jerome Neanne 2022-08-05 326 struct regulator_dev *rdev; c12ac5fc3e0af2 Jerome Neanne 2022-08-05 327 struct regulator_config config = { }; c12ac5fc3e0af2 Jerome Neanne 2022-08-05 328 int i; c12ac5fc3e0af2 Jerome Neanne 2022-08-05 329 int error; c12ac5fc3e0af2 Jerome Neanne 2022-08-05 330 int irq; c12ac5fc3e0af2 Jerome Neanne 2022-08-05 331 struct tps65219_regulator_irq_data *irq_data; c12ac5fc3e0af2 Jerome Neanne 2022-08-05 332 struct tps65219_regulator_irq_type *irq_type; c12ac5fc3e0af2 Jerome Neanne 2022-08-05 333 struct regulator_dev *rdevtbl[7]; c12ac5fc3e0af2 Jerome Neanne 2022-08-05 334 c12ac5fc3e0af2 Jerome Neanne 2022-08-05 335 config.dev = tps->dev; c12ac5fc3e0af2 Jerome Neanne 2022-08-05 336 config.driver_data = tps; c12ac5fc3e0af2 Jerome Neanne 2022-08-05 337 config.regmap = tps->regmap; c12ac5fc3e0af2 Jerome Neanne 2022-08-05 338 c12ac5fc3e0af2 Jerome Neanne 2022-08-05 339 for (i = 0; i < ARRAY_SIZE(regulators); i++) { c12ac5fc3e0af2 Jerome Neanne 2022-08-05 340 dev_dbg(tps->dev, "%s regul i= %d START", __func__, i); c12ac5fc3e0af2 Jerome Neanne 2022-08-05 341 rdev = devm_regulator_register(&pdev->dev, ®ulators[i], c12ac5fc3e0af2 Jerome Neanne 2022-08-05 342 &config); c12ac5fc3e0af2 Jerome Neanne 2022-08-05 343 if (IS_ERR(rdev)) { c12ac5fc3e0af2 Jerome Neanne 2022-08-05 344 dev_err(tps->dev, "failed to register %s regulator\n", c12ac5fc3e0af2 Jerome Neanne 2022-08-05 345 pdev->name); c12ac5fc3e0af2 Jerome Neanne 2022-08-05 346 return PTR_ERR(rdev); c12ac5fc3e0af2 Jerome Neanne 2022-08-05 347 } c12ac5fc3e0af2 Jerome Neanne 2022-08-05 348 rdevtbl[i] = rdev; c12ac5fc3e0af2 Jerome Neanne 2022-08-05 349 dev_dbg(tps->dev, "%s regul i= %d COMPLETED", __func__, i); c12ac5fc3e0af2 Jerome Neanne 2022-08-05 350 } c12ac5fc3e0af2 Jerome Neanne 2022-08-05 351 c12ac5fc3e0af2 Jerome Neanne 2022-08-05 352 irq_data = devm_kmalloc(tps->dev, c12ac5fc3e0af2 Jerome Neanne 2022-08-05 353 ARRAY_SIZE(tps65219_regulator_irq_types) * c12ac5fc3e0af2 Jerome Neanne 2022-08-05 354 sizeof(struct tps65219_regulator_irq_data), c12ac5fc3e0af2 Jerome Neanne 2022-08-05 355 GFP_KERNEL); c12ac5fc3e0af2 Jerome Neanne 2022-08-05 356 if (!irq_data) c12ac5fc3e0af2 Jerome Neanne 2022-08-05 357 return -ENOMEM; c12ac5fc3e0af2 Jerome Neanne 2022-08-05 358 c12ac5fc3e0af2 Jerome Neanne 2022-08-05 359 for (i = 0; i < ARRAY_SIZE(tps65219_regulator_irq_types); ++i) { c12ac5fc3e0af2 Jerome Neanne 2022-08-05 360 irq_type = &tps65219_regulator_irq_types[i]; c12ac5fc3e0af2 Jerome Neanne 2022-08-05 361 c12ac5fc3e0af2 Jerome Neanne 2022-08-05 362 irq = platform_get_irq_byname(pdev, irq_type->irq_name); d46f737208a45d Yang Li 2022-08-25 363 if (irq < 0) c12ac5fc3e0af2 Jerome Neanne 2022-08-05 364 return -EINVAL; d46f737208a45d Yang Li 2022-08-25 365 c12ac5fc3e0af2 Jerome Neanne 2022-08-05 366 irq_data[i].dev = tps->dev; c12ac5fc3e0af2 Jerome Neanne 2022-08-05 367 irq_data[i].type = irq_type; c12ac5fc3e0af2 Jerome Neanne 2022-08-05 368 c12ac5fc3e0af2 Jerome Neanne 2022-08-05 369 tps65219_get_rdev_by_name(irq_type->regulator_name, rdevtbl, rdev); c12ac5fc3e0af2 Jerome Neanne 2022-08-05 @370 if (rdev < 0) { c12ac5fc3e0af2 Jerome Neanne 2022-08-05 371 dev_err(tps->dev, "Failed to get rdev for %s\n", c12ac5fc3e0af2 Jerome Neanne 2022-08-05 372 irq_type->regulator_name); c12ac5fc3e0af2 Jerome Neanne 2022-08-05 373 return -EINVAL; c12ac5fc3e0af2 Jerome Neanne 2022-08-05 374 } c12ac5fc3e0af2 Jerome Neanne 2022-08-05 375 irq_data[i].rdev = rdev; c12ac5fc3e0af2 Jerome Neanne 2022-08-05 376 c12ac5fc3e0af2 Jerome Neanne 2022-08-05 377 error = devm_request_threaded_irq(tps->dev, irq, NULL, c12ac5fc3e0af2 Jerome Neanne 2022-08-05 378 tps65219_regulator_irq_handler, c12ac5fc3e0af2 Jerome Neanne 2022-08-05 379 IRQF_ONESHOT, c12ac5fc3e0af2 Jerome Neanne 2022-08-05 380 irq_type->irq_name, c12ac5fc3e0af2 Jerome Neanne 2022-08-05 381 &irq_data[i]); c12ac5fc3e0af2 Jerome Neanne 2022-08-05 382 if (error) { c12ac5fc3e0af2 Jerome Neanne 2022-08-05 383 dev_err(tps->dev, "failed to request %s IRQ %d: %d\n", c12ac5fc3e0af2 Jerome Neanne 2022-08-05 384 irq_type->irq_name, irq, error); c12ac5fc3e0af2 Jerome Neanne 2022-08-05 385 return error; c12ac5fc3e0af2 Jerome Neanne 2022-08-05 386 } c12ac5fc3e0af2 Jerome Neanne 2022-08-05 387 } c12ac5fc3e0af2 Jerome Neanne 2022-08-05 388 c12ac5fc3e0af2 Jerome Neanne 2022-08-05 389 return 0; c12ac5fc3e0af2 Jerome Neanne 2022-08-05 390 } c12ac5fc3e0af2 Jerome Neanne 2022-08-05 391 :::::: The code at line 370 was first introduced by commit :::::: c12ac5fc3e0af29851785e557e243663b4fc7f4b regulator: drivers: Add TI TPS65219 PMIC regulators support :::::: TO: Jerome Neanne :::::: CC: Mark Brown -- 0-DAY CI Kernel Test Service https://01.org/lkp