[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <r2qkeep6jf7xxjzckn72z4avgx3qiqh4g2fkvzeyu2p2o54bff@xs4kzlong7cn>
Date: Sun, 1 Feb 2026 23:23:34 +0100
From: Uwe Kleine-König <u.kleine-koenig@...libre.com>
To: Abdurrahman Hussain <abdurrahman@...thop.ai>
Cc: Dan Carpenter <dan.carpenter@...aro.org>, oe-kbuild@...ts.linux.dev,
Abdurrahman Hussain via B4 Relay <devnull+abdurrahman.nexthop.ai@...nel.org>, Michal Simek <monstr@...str.eu>,
Andi Shyti <andi.shyti@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk@...nel.org>, Conor Dooley <conor+dt@...nel.org>, lkp@...el.com,
oe-kbuild-all@...ts.linux.dev, Andy Shevchenko <andriy.shevchenko@...el.com>,
linux-arm-kernel@...ts.infradead.org, linux-i2c@...r.kernel.org, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org
Subject: Re: [PATCH v7 5/6] i2c: xiic: cosmetic cleanup
Hello,
On Sat, Jan 31, 2026 at 06:14:58PM -0800, Abdurrahman Hussain wrote:
> > On Jan 31, 2026, at 6:35 AM, Dan Carpenter <dan.carpenter@...aro.org> 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 <lkp@...el.com>
> > | Reported-by: Dan Carpenter <dan.carpenter@...aro.org>
> > | Closes: https://lore.kernel.org/r/202601311615.10yziOui-lkp@intel.com/
> >
> > 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
Download attachment "signature.asc" of type "application/pgp-signature" (489 bytes)
Powered by blists - more mailing lists