Thread (24 messages) 24 messages, 7 authors, 2026-02-02

Re: [PATCH v7 5/6] i2c: xiic: cosmetic cleanup

From: Abdurrahman Hussain <abdurrahman@nexthop.ai>
Date: 2026-02-02 02:06:35
Also in: linux-devicetree, linux-i2c, lkml, oe-kbuild, oe-kbuild-all

On Sun Feb 1, 2026 at 10:23 PM UTC, Uwe Kleine-König wrote:
quoted hunk ↗ jump to hunk
Hello,

On Sat, Jan 31, 2026 at 06:14:58PM -0800, Abdurrahman Hussain wrote:
quoted
quoted
On Jan 31, 2026, at 6:35 AM, Dan Carpenter [off-list ref] wrote:
kernel test robot noticed the following build warnings:

url:    https://github.com/intel-lab-lkp/linux/commits/Abdurrahman-Hussain-via-B4-Relay/i2c-xiic-skip-input-clock-setup-on-non-OF-systems/20260130-054653
base:   63804fed149a6750ffd28610c5c1c98cce6bd377
patch link:    https://lore.kernel.org/r/20260129-i2c-xiic-v7-5-727e434897ef%40nexthop.ai
patch subject: [PATCH v7 5/6] i2c: xiic: cosmetic cleanup
config: i386-randconfig-141-20260130 (https://download.01.org/0day-ci/archive/20260131/202601311615.10yziOui-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
smatch version: v0.5.0-8994-gd50c5a4c

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 [off-list ref]
| Reported-by: Dan Carpenter [off-list ref]
| Closes: https://lore.kernel.org/r/202601311615.10yziOui-lkp@intel.com/ (local)

smatch warnings:
drivers/i2c/busses/i2c-xiic.c:1539 xiic_i2c_remove() warn: pm_runtime_get_sync() also returns 1 on success

vim +1539 drivers/i2c/busses/i2c-xiic.c

e190a0c389e601 Uwe Kleine-König    2023-05-08  1529  static void xiic_i2c_remove(struct platform_device *pdev)
e1d5b6598cdc33 Richard Röjfors     2010-02-11  1530  {
2557b4ba04df79 Abdurrahman Hussain 2026-01-29  1531   struct device *dev = &pdev->dev;
e1d5b6598cdc33 Richard Röjfors     2010-02-11  1532   struct xiic_i2c *i2c = platform_get_drvdata(pdev);
36ecbcab84d023 Shubhrajyoti Datta  2016-03-02  1533   int ret;
e1d5b6598cdc33 Richard Röjfors     2010-02-11  1534
e1d5b6598cdc33 Richard Röjfors     2010-02-11  1535   /* remove adapter & data */
e1d5b6598cdc33 Richard Röjfors     2010-02-11  1536   i2c_del_adapter(&i2c->adap);
e1d5b6598cdc33 Richard Röjfors     2010-02-11  1537
2557b4ba04df79 Abdurrahman Hussain 2026-01-29  1538   ret = pm_runtime_get_sync(dev);
2557b4ba04df79 Abdurrahman Hussain 2026-01-29 @1539   if (ret)
2557b4ba04df79 Abdurrahman Hussain 2026-01-29  1540   dev_warn(dev, "Failed to activate device for removal (%pe)\n",
810199f7315604 Uwe Kleine-König    2022-10-19  1541   ERR_PTR(ret));


pm_runtime_get_sync() can return 1 on success.  Perhaps use
pm_runtime_resume_and_get()?

810199f7315604 Uwe Kleine-König    2022-10-19  1542   else
e1d5b6598cdc33 Richard Röjfors     2010-02-11  1543   xiic_deinit(i2c);
810199f7315604 Uwe Kleine-König    2022-10-19  1544
2557b4ba04df79 Abdurrahman Hussain 2026-01-29  1545   pm_runtime_put_sync(dev);
2557b4ba04df79 Abdurrahman Hussain 2026-01-29  1546   pm_runtime_dont_use_autosuspend(dev);
e1d5b6598cdc33 Richard Röjfors     2010-02-11  1547  }

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
This maybe a false positive.
It's not.

The blamed commit 2557b4ba04df ("i2c: xiic: cosmetic cleanup") has:

-       ret = pm_runtime_get_sync(i2c->dev);
-
-       if (ret < 0)
-               dev_warn(&pdev->dev, "Failed to activate device for removal (%pe)\n",
+       ret = pm_runtime_get_sync(dev);
+       if (ret)
+               dev_warn(dev, "Failed to activate device for removal (%pe)\n",
                         ERR_PTR(ret));

So we need
diff --git a/drivers/i2c/busses/i2c-xiic.c b/drivers/i2c/busses/i2c-xiic.c
index 37a15065db60..a5334b7c46d8 100644
--- a/drivers/i2c/busses/i2c-xiic.c
+++ b/drivers/i2c/busses/i2c-xiic.c
@@ -1536,7 +1536,7 @@ static void xiic_i2c_remove(struct platform_device *pdev)
 	i2c_del_adapter(&i2c->adap);

 	ret = pm_runtime_get_sync(dev);
-	if (ret)
+	if (ret < 0)
 		dev_warn(dev, "Failed to activate device for removal (%pe)\n",
 			 ERR_PTR(ret));
 	else
Best regards
Uwe
Hi Uwe,

Yes, indeed, I missed that. Thanks for pointing it out!

Best regards,
Abdurrahman
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help