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

Abdurrahman Hussain abdurrahman at nexthop.ai
Sat Jan 31 18:14:58 PST 2026



> On Jan 31, 2026, at 6:35 AM, Dan Carpenter <dan.carpenter at linaro.org> wrote:
> 
> Hi Abdurrahman,
> 
> 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 at intel.com>
> | Reported-by: Dan Carpenter <dan.carpenter at linaro.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.

The following commit switched from pm_runtime_resume_and_get() to
pm_runtime_get_sync():

commit 810199f7315604b i2c: xiic: Make sure to disable clock on .remove()

Uwe, Michal, can you guys comment on this?

Regards,
Abdurrahman


More information about the linux-arm-kernel mailing list