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-rc2 next-20221028] [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: s390-randconfig-s042-20221029 compiler: s390-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=s390 SHELL=/bin/bash drivers/iio/accel/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) >> drivers/iio/accel/bma400_core.c:1654:13: sparse: sparse: cast truncates bits from constant value (ffff0001 becomes 1) drivers/iio/accel/bma400_core.c:1660:13: sparse: sparse: cast truncates bits from constant value (ffff0001 becomes 1) drivers/iio/accel/bma400_core.c:1668:13: sparse: sparse: cast truncates bits from constant value (ffff0001 becomes 1) drivers/iio/accel/bma400_core.c:1676:13: sparse: sparse: cast truncates bits from constant value (ffff0001 becomes 1) drivers/iio/accel/bma400_core.c:1679:13: sparse: sparse: cast truncates bits from constant value (ffff0001 becomes 1) drivers/iio/accel/bma400_core.c:1690:13: sparse: sparse: cast truncates bits from constant value (ffff0001 becomes 1) drivers/iio/accel/bma400_core.c:1712:13: sparse: sparse: cast truncates bits from constant value (ffff0001 becomes 1) vim +1654 drivers/iio/accel/bma400_core.c ffe0ab6a96988d Jagath Jog J 2022-05-05 1629 ffe0ab6a96988d Jagath Jog J 2022-05-05 1630 static irqreturn_t bma400_interrupt(int irq, void *private) ffe0ab6a96988d Jagath Jog J 2022-05-05 1631 { ffe0ab6a96988d Jagath Jog J 2022-05-05 1632 struct iio_dev *indio_dev = private; ffe0ab6a96988d Jagath Jog J 2022-05-05 1633 struct bma400_data *data = iio_priv(indio_dev); d024af5b3970b9 Jagath Jog J 2022-05-05 1634 s64 timestamp = iio_get_time_ns(indio_dev); 3cf122c20bf835 Jagath Jog J 2022-05-05 1635 unsigned int act, ev_dir = IIO_EV_DIR_NONE; ffe0ab6a96988d Jagath Jog J 2022-05-05 1636 int ret; ffe0ab6a96988d Jagath Jog J 2022-05-05 1637 ffe0ab6a96988d Jagath Jog J 2022-05-05 1638 /* Lock to protect the data->status */ ffe0ab6a96988d Jagath Jog J 2022-05-05 1639 mutex_lock(&data->mutex); ffe0ab6a96988d Jagath Jog J 2022-05-05 1640 ret = regmap_bulk_read(data->regmap, BMA400_INT_STAT0_REG, ffe0ab6a96988d Jagath Jog J 2022-05-05 1641 &data->status, ffe0ab6a96988d Jagath Jog J 2022-05-05 1642 sizeof(data->status)); ffe0ab6a96988d Jagath Jog J 2022-05-05 1643 /* ffe0ab6a96988d Jagath Jog J 2022-05-05 1644 * if none of the bit is set in the status register then it is ffe0ab6a96988d Jagath Jog J 2022-05-05 1645 * spurious interrupt. ffe0ab6a96988d Jagath Jog J 2022-05-05 1646 */ ffe0ab6a96988d Jagath Jog J 2022-05-05 1647 if (ret || !data->status) ffe0ab6a96988d Jagath Jog J 2022-05-05 1648 goto unlock_err; ffe0ab6a96988d Jagath Jog J 2022-05-05 1649 961db2da159d51 Jagath Jog J 2022-08-31 1650 /* 961db2da159d51 Jagath Jog J 2022-08-31 1651 * Disable all advance interrupts if interrupt engine overrun occurs. 961db2da159d51 Jagath Jog J 2022-08-31 1652 * See section 4.7 "Interrupt engine overrun" in datasheet v1.2. 961db2da159d51 Jagath Jog J 2022-08-31 1653 */ 961db2da159d51 Jagath Jog J 2022-08-31 @1654 if (FIELD_GET(BMA400_INT_ENG_OVRUN_MSK, le16_to_cpu(data->status))) { 961db2da159d51 Jagath Jog J 2022-08-31 1655 bma400_disable_adv_interrupt(data); 961db2da159d51 Jagath Jog J 2022-08-31 1656 dev_err(data->dev, "Interrupt engine overrun\n"); 961db2da159d51 Jagath Jog J 2022-08-31 1657 goto unlock_err; 961db2da159d51 Jagath Jog J 2022-08-31 1658 } 961db2da159d51 Jagath Jog J 2022-08-31 1659 961db2da159d51 Jagath Jog J 2022-08-31 1660 if (FIELD_GET(BMA400_INT_S_TAP_MSK, le16_to_cpu(data->status))) 961db2da159d51 Jagath Jog J 2022-08-31 1661 iio_push_event(indio_dev, 961db2da159d51 Jagath Jog J 2022-08-31 1662 IIO_MOD_EVENT_CODE(IIO_ACCEL, 0, 961db2da159d51 Jagath Jog J 2022-08-31 1663 IIO_MOD_X_OR_Y_OR_Z, 961db2da159d51 Jagath Jog J 2022-08-31 1664 IIO_EV_TYPE_GESTURE, 961db2da159d51 Jagath Jog J 2022-08-31 1665 IIO_EV_DIR_SINGLETAP), 961db2da159d51 Jagath Jog J 2022-08-31 1666 timestamp); 961db2da159d51 Jagath Jog J 2022-08-31 1667 961db2da159d51 Jagath Jog J 2022-08-31 1668 if (FIELD_GET(BMA400_INT_D_TAP_MSK, le16_to_cpu(data->status))) 961db2da159d51 Jagath Jog J 2022-08-31 1669 iio_push_event(indio_dev, 961db2da159d51 Jagath Jog J 2022-08-31 1670 IIO_MOD_EVENT_CODE(IIO_ACCEL, 0, 961db2da159d51 Jagath Jog J 2022-08-31 1671 IIO_MOD_X_OR_Y_OR_Z, 961db2da159d51 Jagath Jog J 2022-08-31 1672 IIO_EV_TYPE_GESTURE, 961db2da159d51 Jagath Jog J 2022-08-31 1673 IIO_EV_DIR_DOUBLETAP), 961db2da159d51 Jagath Jog J 2022-08-31 1674 timestamp); 961db2da159d51 Jagath Jog J 2022-08-31 1675 3cf122c20bf835 Jagath Jog J 2022-05-05 1676 if (FIELD_GET(BMA400_INT_GEN1_MSK, le16_to_cpu(data->status))) 3cf122c20bf835 Jagath Jog J 2022-05-05 1677 ev_dir = IIO_EV_DIR_RISING; 3cf122c20bf835 Jagath Jog J 2022-05-05 1678 3cf122c20bf835 Jagath Jog J 2022-05-05 1679 if (FIELD_GET(BMA400_INT_GEN2_MSK, le16_to_cpu(data->status))) 3cf122c20bf835 Jagath Jog J 2022-05-05 1680 ev_dir = IIO_EV_DIR_FALLING; 3cf122c20bf835 Jagath Jog J 2022-05-05 1681 3cf122c20bf835 Jagath Jog J 2022-05-05 1682 if (ev_dir != IIO_EV_DIR_NONE) { 3cf122c20bf835 Jagath Jog J 2022-05-05 1683 iio_push_event(indio_dev, 3cf122c20bf835 Jagath Jog J 2022-05-05 1684 IIO_MOD_EVENT_CODE(IIO_ACCEL, 0, 3cf122c20bf835 Jagath Jog J 2022-05-05 1685 IIO_MOD_X_OR_Y_OR_Z, 3cf122c20bf835 Jagath Jog J 2022-05-05 1686 IIO_EV_TYPE_MAG, ev_dir), 3cf122c20bf835 Jagath Jog J 2022-05-05 1687 timestamp); 3cf122c20bf835 Jagath Jog J 2022-05-05 1688 } 3cf122c20bf835 Jagath Jog J 2022-05-05 1689 d024af5b3970b9 Jagath Jog J 2022-05-05 1690 if (FIELD_GET(BMA400_STEP_STAT_MASK, le16_to_cpu(data->status))) { d024af5b3970b9 Jagath Jog J 2022-05-05 1691 iio_push_event(indio_dev, d024af5b3970b9 Jagath Jog J 2022-05-05 1692 IIO_MOD_EVENT_CODE(IIO_STEPS, 0, IIO_NO_MOD, d024af5b3970b9 Jagath Jog J 2022-05-05 1693 IIO_EV_TYPE_CHANGE, d024af5b3970b9 Jagath Jog J 2022-05-05 1694 IIO_EV_DIR_NONE), d024af5b3970b9 Jagath Jog J 2022-05-05 1695 timestamp); 00ee658ff58177 Jagath Jog J 2022-05-05 1696 00ee658ff58177 Jagath Jog J 2022-05-05 1697 if (data->activity_event_en) { 00ee658ff58177 Jagath Jog J 2022-05-05 1698 ret = regmap_read(data->regmap, BMA400_STEP_STAT_REG, 00ee658ff58177 Jagath Jog J 2022-05-05 1699 &act); 00ee658ff58177 Jagath Jog J 2022-05-05 1700 if (ret) 00ee658ff58177 Jagath Jog J 2022-05-05 1701 goto unlock_err; 00ee658ff58177 Jagath Jog J 2022-05-05 1702 00ee658ff58177 Jagath Jog J 2022-05-05 1703 iio_push_event(indio_dev, 00ee658ff58177 Jagath Jog J 2022-05-05 1704 IIO_MOD_EVENT_CODE(IIO_ACTIVITY, 0, 00ee658ff58177 Jagath Jog J 2022-05-05 1705 bma400_act_to_mod(act), 00ee658ff58177 Jagath Jog J 2022-05-05 1706 IIO_EV_TYPE_CHANGE, 00ee658ff58177 Jagath Jog J 2022-05-05 1707 IIO_EV_DIR_NONE), 00ee658ff58177 Jagath Jog J 2022-05-05 1708 timestamp); 00ee658ff58177 Jagath Jog J 2022-05-05 1709 } d024af5b3970b9 Jagath Jog J 2022-05-05 1710 } d024af5b3970b9 Jagath Jog J 2022-05-05 1711 ffe0ab6a96988d Jagath Jog J 2022-05-05 1712 if (FIELD_GET(BMA400_INT_DRDY_MSK, le16_to_cpu(data->status))) { ffe0ab6a96988d Jagath Jog J 2022-05-05 1713 mutex_unlock(&data->mutex); ffe0ab6a96988d Jagath Jog J 2022-05-05 1714 iio_trigger_poll_chained(data->trig); ffe0ab6a96988d Jagath Jog J 2022-05-05 1715 return IRQ_HANDLED; ffe0ab6a96988d Jagath Jog J 2022-05-05 1716 } ffe0ab6a96988d Jagath Jog J 2022-05-05 1717 d024af5b3970b9 Jagath Jog J 2022-05-05 1718 mutex_unlock(&data->mutex); d024af5b3970b9 Jagath Jog J 2022-05-05 1719 return IRQ_HANDLED; d024af5b3970b9 Jagath Jog J 2022-05-05 1720 ffe0ab6a96988d Jagath Jog J 2022-05-05 1721 unlock_err: ffe0ab6a96988d Jagath Jog J 2022-05-05 1722 mutex_unlock(&data->mutex); ffe0ab6a96988d Jagath Jog J 2022-05-05 1723 return IRQ_NONE; ffe0ab6a96988d Jagath Jog J 2022-05-05 1724 } ffe0ab6a96988d Jagath Jog J 2022-05-05 1725 -- 0-DAY CI Kernel Test Service https://01.org/lkp