Hi Ryan, 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 v6.14-rc4 next-20250227] [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/Ryan-Chen/dt-bindings-i2c-aspeed-support-for-AST2600-i2cv2/20250224-140221 base: https://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux.git i2c/i2c-host patch link: https://lore.kernel.org/r/20250224055936.1804279-3-ryan_chen%40aspeedtech.com patch subject: [PATCH v16 2/3] i2c: aspeed: support AST2600 i2c new register mode driver config: mips-allyesconfig (https://download.01.org/0day-ci/archive/20250228/202502280902.U0gLDhve-lkp@xxxxxxxxx/config) compiler: mips-linux-gcc (GCC) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250228/202502280902.U0gLDhve-lkp@xxxxxxxxx/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 <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202502280902.U0gLDhve-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): drivers/i2c/busses/i2c-ast2600.c: In function 'ast2600_i2c_recover_bus': >> drivers/i2c/busses/i2c-ast2600.c:345:32: warning: unsigned conversion from 'int' to 'u8' {aka 'unsigned char'} changes value from '-145' to '111' [-Woverflow] 345 | return -ETIMEDOUT; | ^ vim +345 drivers/i2c/busses/i2c-ast2600.c 315 316 static u8 ast2600_i2c_recover_bus(struct ast2600_i2c_bus *i2c_bus) 317 { 318 u32 state = readl(i2c_bus->reg_base + AST2600_I2CC_STS_AND_BUFF); 319 int ret = 0; 320 u32 ctrl; 321 int r; 322 323 dev_dbg(i2c_bus->dev, "%d-bus recovery bus [%x]\n", i2c_bus->adap.nr, state); 324 325 ctrl = readl(i2c_bus->reg_base + AST2600_I2CC_FUN_CTRL); 326 327 /* Disable controller */ 328 writel(ctrl & ~(AST2600_I2CC_MASTER_EN | AST2600_I2CC_SLAVE_EN), 329 i2c_bus->reg_base + AST2600_I2CC_FUN_CTRL); 330 331 writel(readl(i2c_bus->reg_base + AST2600_I2CC_FUN_CTRL) | AST2600_I2CC_MASTER_EN, 332 i2c_bus->reg_base + AST2600_I2CC_FUN_CTRL); 333 334 reinit_completion(&i2c_bus->cmd_complete); 335 i2c_bus->cmd_err = 0; 336 337 /* Check 0x14's SDA and SCL status */ 338 state = readl(i2c_bus->reg_base + AST2600_I2CC_STS_AND_BUFF); 339 if (!(state & AST2600_I2CC_SDA_LINE_STS) && (state & AST2600_I2CC_SCL_LINE_STS)) { 340 writel(AST2600_I2CM_RECOVER_CMD_EN, i2c_bus->reg_base + AST2600_I2CM_CMD_STS); 341 r = wait_for_completion_timeout(&i2c_bus->cmd_complete, i2c_bus->adap.timeout); 342 if (r == 0) { 343 dev_dbg(i2c_bus->dev, "recovery timed out\n"); 344 writel(ctrl, i2c_bus->reg_base + AST2600_I2CC_FUN_CTRL); > 345 return -ETIMEDOUT; 346 } else if (i2c_bus->cmd_err) { 347 dev_dbg(i2c_bus->dev, "recovery error\n"); 348 ret = -EPROTO; 349 } 350 } 351 352 /* Recovery done */ 353 state = readl(i2c_bus->reg_base + AST2600_I2CC_STS_AND_BUFF); 354 if (state & AST2600_I2CC_BUS_BUSY_STS) { 355 dev_dbg(i2c_bus->dev, "Can't recover bus [%x]\n", state); 356 ret = -EPROTO; 357 } 358 359 /* restore original controller setting */ 360 writel(ctrl, i2c_bus->reg_base + AST2600_I2CC_FUN_CTRL); 361 return ret; 362 } 363 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki