Hi Gwan-gyeong, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v6.1-rc3 next-20221101] [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/Gwan-gyeong-Mun/bitfield-Use-argument-type-for-size-comparison-on-Bitfield-access-macros/20221029-133640 patch link: https://lore.kernel.org/r/20221029053429.38381-1-gwan-gyeong.mun%40intel.com patch subject: [PATCH] bitfield: Use argument type for size comparison on Bitfield access macros config: csky-randconfig-s031-20221031 compiler: csky-linux-gcc (GCC) 12.1.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.4-39-gce1a6720-dirty # https://github.com/intel-lab-lkp/linux/commit/91f22fce5cc0639c001bcf755c9dec0913073876 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Gwan-gyeong-Mun/bitfield-Use-argument-type-for-size-comparison-on-Bitfield-access-macros/20221029-133640 git checkout 91f22fce5cc0639c001bcf755c9dec0913073876 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=csky SHELL=/bin/bash drivers/iio/dac/ drivers/net/wireless/mediatek/mt76/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) >> drivers/iio/dac/ad7293.c:468:16: sparse: sparse: cast truncates bits from constant value (ffff0001 becomes 1) drivers/iio/dac/ad7293.c:524:40: sparse: sparse: cast truncates bits from constant value (ffff0001 becomes 1) -- drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c: note: in included file: >> drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h:1668:39: sparse: sparse: cast truncates bits from constant value (ffff0001 becomes 1) drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h:1669:39: sparse: sparse: cast truncates bits from constant value (ffff0001 becomes 1) >> drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c:2728:28: sparse: sparse: cast truncates bits from constant value (ffff0001 becomes 1) drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c:2729:28: sparse: sparse: cast truncates bits from constant value (ffff0001 becomes 1) >> drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h:1650:16: sparse: sparse: cast truncates bits from constant value (ffffff01 becomes 1) -- drivers/net/wireless/mediatek/mt76/mt7615/mcu.c: note: in included file (through drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h): >> drivers/net/wireless/mediatek/mt76/mt7615/../mt76_connac_mcu.h:1650:16: sparse: sparse: cast truncates bits from constant value (ffffff01 becomes 1) vim +468 drivers/iio/dac/ad7293.c 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 404 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 405 static int ad7293_ch_read_raw(struct ad7293_state *st, enum ad7293_ch_type type, 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 406 unsigned int ch, u16 *raw) 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 407 { 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 408 int ret; 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 409 unsigned int reg_wr, reg_rd, data_wr; 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 410 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 411 switch (type) { 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 412 case AD7293_ADC_VINX: 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 413 reg_wr = AD7293_REG_VINX_SEQ; 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 414 reg_rd = AD7293_REG_VIN0 + ch; 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 415 data_wr = BIT(ch); 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 416 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 417 break; 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 418 case AD7293_ADC_TSENSE: 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 419 reg_wr = AD7293_REG_ISENSEX_TSENSEX_SEQ; 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 420 reg_rd = AD7293_REG_TSENSE_INT + ch; 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 421 data_wr = BIT(ch); 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 422 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 423 break; 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 424 case AD7293_ADC_ISENSE: 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 425 reg_wr = AD7293_REG_ISENSEX_TSENSEX_SEQ; 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 426 reg_rd = AD7293_REG_ISENSE_0 + ch; 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 427 data_wr = BIT(ch) << 8; 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 428 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 429 break; 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 430 case AD7293_DAC: 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 431 reg_rd = AD7293_REG_UNI_VOUT0 + ch; 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 432 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 433 break; 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 434 default: 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 435 return -EINVAL; 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 436 } 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 437 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 438 mutex_lock(&st->lock); 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 439 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 440 if (type != AD7293_DAC) { 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 441 if (type == AD7293_ADC_TSENSE) { 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 442 ret = __ad7293_spi_write(st, AD7293_REG_TSENSE_BG_EN, 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 443 BIT(ch)); 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 444 if (ret) 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 445 goto exit; 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 446 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 447 usleep_range(9000, 9900); 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 448 } else if (type == AD7293_ADC_ISENSE) { 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 449 ret = __ad7293_spi_write(st, AD7293_REG_ISENSE_BG_EN, 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 450 BIT(ch)); 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 451 if (ret) 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 452 goto exit; 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 453 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 454 usleep_range(2000, 7000); 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 455 } 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 456 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 457 ret = __ad7293_spi_write(st, reg_wr, data_wr); 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 458 if (ret) 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 459 goto exit; 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 460 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 461 ret = __ad7293_spi_write(st, AD7293_REG_CONV_CMD, 0x82); 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 462 if (ret) 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 463 goto exit; 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 464 } 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 465 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 466 ret = __ad7293_spi_read(st, reg_rd, raw); 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 467 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 @468 *raw = FIELD_GET(AD7293_REG_DATA_RAW_MSK, *raw); 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 469 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 470 exit: 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 471 mutex_unlock(&st->lock); 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 472 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 473 return ret; 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 474 } 0bb12606c05fe9 Antoniu Miclaus 2021-12-02 475 -- 0-DAY CI Kernel Test Service https://01.org/lkp