Re: [PATCH] i2c: hisi: Add I2C bus recovery support

kernel test robot <[email protected]>
Newsgroups dev.linux.lists.oe-kbuild-all,org.kernel.vger.linux-i2c,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
Hi Bowen,

kernel test robot noticed the following build warnings:

[auto build test WARNING on andi-shyti/i2c/i2c-host]
[also build test WARNING on linus/master v7.2 next-20260824]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Bowen-Yu/i2c-hisi-Add-I2C-bus-recovery-support/20260825-113125
base:   https://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux.git i2c/i2c-host
patch link:    https://lore.kernel.org/r/20260825033125.1893253-1-yubowen8%40huawei.com
patch subject: [PATCH] i2c: hisi: Add I2C bus recovery support
config: sparc64-randconfig-001-20260826 (https://download.01.org/0day-ci/archive/20260826/[email protected]/config)
compiler: sparc64-linux-gcc (GCC) 13.4.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260826/[email protected]/reproduce)

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 <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All warnings (new ones prefixed by >>):

   drivers/i2c/busses/i2c-hisi.c: In function 'hisi_i2c_unprepare_recovery':
   drivers/i2c/busses/i2c-hisi.c:236:34: error: implicit declaration of function 'acpi_has_method'; did you mean 'acpi_has_watchdog'? [-Werror=implicit-function-declaration]
     236 |         if (ctlr->acpi_handle && acpi_has_method(ctlr->acpi_handle, "_RST")) {
         |                                  ^~~~~~~~~~~~~~~
         |                                  acpi_has_watchdog
   In file included from include/linux/device.h:15,
                    from include/linux/acpi.h:15,
                    from drivers/i2c/busses/i2c-hisi.c:8:
>> drivers/i2c/busses/i2c-hisi.c:241:44: warning: '%s' directive argument is null [-Wformat-overflow=]
     241 |                         dev_err(ctlr->dev, "_RST method failed: %s\n",
         |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/dev_printk.h:110:30: note: in definition of macro 'dev_printk_index_wrap'
     110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
         |                              ^~~
   include/linux/dev_printk.h:154:56: note: in expansion of macro 'dev_fmt'
     154 |         dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
         |                                                        ^~~~~~~
   drivers/i2c/busses/i2c-hisi.c:241:25: note: in expansion of macro 'dev_err'
     241 |                         dev_err(ctlr->dev, "_RST method failed: %s\n",
         |                         ^~~~~~~
   drivers/i2c/busses/i2c-hisi.c:241:65: note: format string is defined here
     241 |                         dev_err(ctlr->dev, "_RST method failed: %s\n",
         |                                                                 ^~
   cc1: some warnings being treated as errors


vim +241 drivers/i2c/busses/i2c-hisi.c

   221	
   222	static void hisi_i2c_unprepare_recovery(struct i2c_adapter *adap)
   223	{
   224		struct hisi_i2c_controller *ctlr = i2c_get_adapdata(adap);
   225		u32 reg;
   226	
   227		reg = readl(ctlr->sctrl_addr);
   228		reg &= ~(HISI_I2C_CTRL_SCL_CFG_EN | HISI_I2C_CTRL_DAT_CFG_EN);
   229		writel(reg, ctlr->sctrl_addr);
   230	
   231		/*
   232		 * Invokes the specific ACPI method "_RST" for trigger a soft
   233		 * reset of I2C controller in order to help on I2C controller recover from
   234		 * the abnormal state after bus recovery process.
   235		 */
   236		if (ctlr->acpi_handle && acpi_has_method(ctlr->acpi_handle, "_RST")) {
   237			acpi_status status;
   238	
   239			status = acpi_evaluate_object(ctlr->acpi_handle, "_RST", NULL, NULL);
   240			if (ACPI_FAILURE(status))
 > 241				dev_err(ctlr->dev, "_RST method failed: %s\n",
   242					acpi_format_exception(status));
   243		}
   244	
   245		hisi_i2c_configure_bus(ctlr);
   246	}
   247	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.