drivers/power/supply/max77759_charger.c:533:8-33: WARNING: Threaded IRQ with no primary handler requested without IRQF_ONESHOT (unless it is nested IRQ)

kernel test robot <[email protected]> Wed, 22 Jul 2026 14:34:00 +0800
Newsgroups dev.linux.lists.oe-kbuild
Message-ID <[email protected]>
BCC: [email protected]
CC: [email protected]
CC: [email protected]
TO: Amit Sunil Dhamne <[email protected]>
CC: "AndrĂ© Draszik" <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   248951ddc14de84de3910f9b13f51491a8cd91df
commit: 70d7dd27f6dc9bada652c3a84ba7e6688a96f8db power: supply: max77759: add charger driver
date:   4 months ago
:::::: branch date: 15 hours ago
:::::: commit date: 4 months ago
config: powerpc64-randconfig-r064-20260716 (https://download.01.org/0day-ci/archive/20260722/[email protected]/config)
compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project b3e6e6dabdc02153552a64fc74ff5c7532447eed)

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
| Fixes: 70d7dd27f6dc ("power: supply: max77759: add charger driver")
| Reported-by: kernel test robot <[email protected]>
| Reported-by: Julia Lawall <[email protected]>
| Closes: https://lore.kernel.org/r/[email protected]/

cocci warnings: (new ones prefixed by >>)
>> drivers/power/supply/max77759_charger.c:533:8-33: WARNING: Threaded IRQ with no primary handler requested without IRQF_ONESHOT (unless it is nested IRQ)

vim +533 drivers/power/supply/max77759_charger.c

70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  504  
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  505  static int max77759_init_irqhandler(struct max77759_charger *chg)
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  506  {
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  507  	struct device *dev = chg->dev;
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  508  	irq_handler_t thread_fn;
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  509  	char *name;
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  510  	int i, ret;
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  511  
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  512  	for (i = 0; i < ARRAY_SIZE(chgr_irqs_str); i++) {
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  513  		ret = platform_get_irq_byname(to_platform_device(dev),
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  514  					      chgr_irqs_str[i]);
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  515  		if (ret < 0)
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  516  			return dev_err_probe(dev, ret,
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  517  					     "Failed to get irq resource for %s\n",
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  518  					     chgr_irqs_str[i]);
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  519  
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  520  		chg->irqs[i] = ret;
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  521  		name = devm_kasprintf(dev, GFP_KERNEL, "%s:%s", dev_name(dev),
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  522  				      chgr_irqs_str[i]);
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  523  		if (!name)
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  524  			return dev_err_probe(dev, -ENOMEM,
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  525  					     "Failed to allocate space for irqname: %s\n",
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  526  					     chgr_irqs_str[i]);
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  527  
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  528  		if (i == BAT_OILO)
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  529  			thread_fn = bat_oilo_irq_handler;
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  530  		else
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  531  			thread_fn = irq_handler;
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  532  
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25 @533  		ret = devm_request_threaded_irq(dev, chg->irqs[i], NULL,
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  534  						thread_fn, 0, name, chg);
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  535  		if (ret)
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  536  			return dev_err_probe(dev, ret,
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  537  					     "Unable to register irq handler for %s\n",
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  538  					     chgr_irqs_str[i]);
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  539  	}
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  540  
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  541  	return 0;
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  542  }
70d7dd27f6dc9b Amit Sunil Dhamne 2026-03-25  543  

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