From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Julia Lawall <julia.lawall@inria.fr>
Subject: drivers/power/supply/max77705_charger.c:626:7-32: WARNING: Threaded IRQ with no primary handler requested without IRQF_ONESHOT (unless it is nested IRQ)
Date: Fri, 24 Oct 2025 22:40:19 +0800 [thread overview]
Message-ID: <202510242252.UUvmZq9F-lkp@intel.com> (raw)
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Dzmitry Sankouski <dsankouski@gmail.com>
CC: Sebastian Reichel <sebastian.reichel@collabora.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 6fab32bb6508abbb8b7b1c5498e44f0c32320ed5
commit: 12a1185a06e3377af777e792ba7436862f8e528a power: supply: max77705_charger: rework interrupts
date: 5 weeks ago
:::::: branch date: 14 hours ago
:::::: commit date: 5 weeks ago
config: i386-randconfig-053-20251024 (https://download.01.org/0day-ci/archive/20251024/202510242252.UUvmZq9F-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.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 <lkp@intel.com>
| Reported-by: Julia Lawall <julia.lawall@inria.fr>
| Closes: https://lore.kernel.org/r/202510242252.UUvmZq9F-lkp@intel.com/
cocci warnings: (new ones prefixed by >>)
>> drivers/power/supply/max77705_charger.c:626:7-32: WARNING: Threaded IRQ with no primary handler requested without IRQF_ONESHOT (unless it is nested IRQ)
vim +626 drivers/power/supply/max77705_charger.c
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 565
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 566 static int max77705_charger_probe(struct i2c_client *i2c)
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 567 {
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 568 struct power_supply_config pscfg = {};
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 569 struct max77705_charger_data *chg;
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 570 struct device *dev;
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 571 struct regmap_irq_chip_data *irq_data;
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 572 int ret;
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 573
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 574 dev = &i2c->dev;
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 575
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 576 chg = devm_kzalloc(dev, sizeof(*chg), GFP_KERNEL);
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 577 if (!chg)
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 578 return -ENOMEM;
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 579
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 580 chg->dev = dev;
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 581 i2c_set_clientdata(i2c, chg);
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 582
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 583 chg->regmap = devm_regmap_init_i2c(i2c, &max77705_chg_regmap_config);
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 584 if (IS_ERR(chg->regmap))
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 585 return PTR_ERR(chg->regmap);
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 586
ef1e734dbe257c Dzmitry Sankouski 2025-09-18 587 for (int i = 0; i < MAX77705_N_REGMAP_FIELDS; i++) {
ef1e734dbe257c Dzmitry Sankouski 2025-09-18 588 chg->rfield[i] = devm_regmap_field_alloc(dev, chg->regmap,
ef1e734dbe257c Dzmitry Sankouski 2025-09-18 589 max77705_reg_field[i]);
ef1e734dbe257c Dzmitry Sankouski 2025-09-18 590 if (IS_ERR(chg->rfield[i]))
ef1e734dbe257c Dzmitry Sankouski 2025-09-18 591 return dev_err_probe(dev, PTR_ERR(chg->rfield[i]),
ef1e734dbe257c Dzmitry Sankouski 2025-09-18 592 "cannot allocate regmap field\n");
ef1e734dbe257c Dzmitry Sankouski 2025-09-18 593 }
ef1e734dbe257c Dzmitry Sankouski 2025-09-18 594
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 595 pscfg.fwnode = dev_fwnode(dev);
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 596 pscfg.drv_data = chg;
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 597
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 598 chg->psy_chg = devm_power_supply_register(dev, &max77705_charger_psy_desc, &pscfg);
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 599 if (IS_ERR(chg->psy_chg))
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 600 return PTR_ERR(chg->psy_chg);
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 601
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 602 max77705_charger_irq_chip.irq_drv_data = chg;
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 603 ret = devm_regmap_add_irq_chip(chg->dev, chg->regmap, i2c->irq,
12a1185a06e337 Dzmitry Sankouski 2025-09-18 604 IRQF_ONESHOT, 0,
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 605 &max77705_charger_irq_chip,
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 606 &irq_data);
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 607 if (ret)
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 608 return dev_err_probe(dev, ret, "failed to add irq chip\n");
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 609
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 610 chg->wqueue = create_singlethread_workqueue(dev_name(dev));
11741b8e382d34 Dan Carpenter 2025-03-21 611 if (!chg->wqueue)
c3a49515225e44 Xichao Zhao 2025-08-20 612 return -ENOMEM;
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 613
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 614 ret = devm_work_autocancel(dev, &chg->chgin_work, max77705_chgin_isr_work);
11741b8e382d34 Dan Carpenter 2025-03-21 615 if (ret) {
11741b8e382d34 Dan Carpenter 2025-03-21 616 dev_err_probe(dev, ret, "failed to initialize interrupt work\n");
11741b8e382d34 Dan Carpenter 2025-03-21 617 goto destroy_wq;
11741b8e382d34 Dan Carpenter 2025-03-21 618 }
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 619
55af7b9bb66c1c Dzmitry Sankouski 2025-09-18 620 ret = max77705_charger_initialize(chg);
55af7b9bb66c1c Dzmitry Sankouski 2025-09-18 621 if (ret) {
55af7b9bb66c1c Dzmitry Sankouski 2025-09-18 622 dev_err_probe(dev, ret, "failed to initialize charger IC\n");
55af7b9bb66c1c Dzmitry Sankouski 2025-09-18 623 goto destroy_wq;
55af7b9bb66c1c Dzmitry Sankouski 2025-09-18 624 }
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 625
12a1185a06e337 Dzmitry Sankouski 2025-09-18 @626 ret = devm_request_threaded_irq(dev, regmap_irq_get_virq(irq_data, MAX77705_CHGIN_I),
12a1185a06e337 Dzmitry Sankouski 2025-09-18 627 NULL, max77705_chgin_irq,
12a1185a06e337 Dzmitry Sankouski 2025-09-18 628 IRQF_TRIGGER_NONE,
12a1185a06e337 Dzmitry Sankouski 2025-09-18 629 "chgin-irq", chg);
12a1185a06e337 Dzmitry Sankouski 2025-09-18 630 if (ret) {
12a1185a06e337 Dzmitry Sankouski 2025-09-18 631 dev_err_probe(dev, ret, "Failed to Request chgin IRQ\n");
12a1185a06e337 Dzmitry Sankouski 2025-09-18 632 goto destroy_wq;
12a1185a06e337 Dzmitry Sankouski 2025-09-18 633 }
12a1185a06e337 Dzmitry Sankouski 2025-09-18 634
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 635 ret = max77705_charger_enable(chg);
11741b8e382d34 Dan Carpenter 2025-03-21 636 if (ret) {
11741b8e382d34 Dan Carpenter 2025-03-21 637 dev_err_probe(dev, ret, "failed to enable charge\n");
11741b8e382d34 Dan Carpenter 2025-03-21 638 goto destroy_wq;
11741b8e382d34 Dan Carpenter 2025-03-21 639 }
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 640
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 641 return devm_add_action_or_reset(dev, max77705_charger_disable, chg);
11741b8e382d34 Dan Carpenter 2025-03-21 642
11741b8e382d34 Dan Carpenter 2025-03-21 643 destroy_wq:
11741b8e382d34 Dan Carpenter 2025-03-21 644 destroy_workqueue(chg->wqueue);
11741b8e382d34 Dan Carpenter 2025-03-21 645 return ret;
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 646 }
a6a494c8e3ce1f Dzmitry Sankouski 2025-01-23 647
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2025-10-24 14:41 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-24 14:40 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2026-01-02 14:04 drivers/power/supply/max77705_charger.c:626:7-32: WARNING: Threaded IRQ with no primary handler requested without IRQF_ONESHOT (unless it is nested IRQ) kernel test robot
2026-02-21 7:07 kernel test robot
2026-03-30 14:47 kernel test robot
2026-06-04 22:54 kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202510242252.UUvmZq9F-lkp@intel.com \
--to=lkp@intel.com \
--cc=julia.lawall@inria.fr \
--cc=oe-kbuild@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.