Re: [PATCH v3 2/2] iio: imu: Add i2c driver for bmi270 imu

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 9 Sep 2024 23:21:52 -0400
Alex Lanzano <lanzano.alex@xxxxxxxxx> wrote:

> On Tue, Sep 10, 2024 at 01:03:04AM GMT, kernel test robot wrote:
> > Hi Alex,
> > 
> > kernel test robot noticed the following build errors:
> > 
> > [auto build test ERROR on jic23-iio/togreg]
> > [also build test ERROR on robh/for-next linus/master v6.11-rc7 next-20240909]
> > [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/Alex-Lanzano/dt-bindings-iio-imu-add-bmi270-bindings/20240909-123509
> > base:   https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
> > patch link:    https://lore.kernel.org/r/20240909043254.611589-3-lanzano.alex%40gmail.com
> > patch subject: [PATCH v3 2/2] iio: imu: Add i2c driver for bmi270 imu
> > config: m68k-allmodconfig (https://download.01.org/0day-ci/archive/20240910/202409100026.17N3K11W-lkp@xxxxxxxxx/config)
> > compiler: m68k-linux-gcc (GCC) 14.1.0
> > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240910/202409100026.17N3K11W-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/202409100026.17N3K11W-lkp@xxxxxxxxx/
> > 
> > All errors (new ones prefixed by >>):
> > 
> >    drivers/iio/imu/bmi270/bmi270_core.c: In function 'bmi270_configure_imu':  
> > >> drivers/iio/imu/bmi270/bmi270_core.c:180:31: error: implicit declaration of function 'FIELD_PREP' [-Wimplicit-function-declaration]  
> >      180 |                               FIELD_PREP(BMI270_ACC_CONF_ODR_MSK,
> >          |                               ^~~~~~~~~~
> > 
> > 
> > vim +/FIELD_PREP +180 drivers/iio/imu/bmi270/bmi270_core.c
> > 
> >    165	
> >    166	static int bmi270_configure_imu(struct bmi270_data *bmi270_device)
> >    167	{
> >    168		int ret;
> >    169		struct device *dev = bmi270_device->dev;
> >    170		struct regmap *regmap = bmi270_device->regmap;
> >    171	
> >    172		ret = regmap_set_bits(regmap, BMI270_PWR_CTRL_REG,
> >    173				      BMI270_PWR_CTRL_AUX_EN_MSK |
> >    174				      BMI270_PWR_CTRL_GYR_EN_MSK |
> >    175				      BMI270_PWR_CTRL_ACCEL_EN_MSK);
> >    176		if (ret)
> >    177			return dev_err_probe(dev, ret, "Failed to enable accelerometer and gyroscope");
> >    178	
> >    179		ret = regmap_set_bits(regmap, BMI270_ACC_CONF_REG,  
> >  > 180				      FIELD_PREP(BMI270_ACC_CONF_ODR_MSK,  
> >    181						 BMI270_ACC_CONF_ODR_100HZ) |
> >    182				      FIELD_PREP(BMI270_ACC_CONF_BWP_MSK,
> >    183						 BMI270_ACC_CONF_BWP_NORMAL_MODE) |
> >    184				      BMI270_PWR_CONF_ADV_PWR_SAVE_MSK);
> >    185		if (ret)
> >    186			return dev_err_probe(dev, ret, "Failed to configure accelerometer");
> >    187	
> >    188		ret = regmap_set_bits(regmap, BMI270_GYR_CONF_REG,
> >    189				      FIELD_PREP(BMI270_GYR_CONF_ODR_MSK,
> >    190						 BMI270_GYR_CONF_ODR_200HZ) |
> >    191				      FIELD_PREP(BMI270_GYR_CONF_BWP_MSK,
> >    192						 BMI270_GYR_CONF_BWP_NORMAL_MODE) |
> >    193				      BMI270_PWR_CONF_ADV_PWR_SAVE_MSK);
> >    194		if (ret)
> >    195			return dev_err_probe(dev, ret, "Failed to configure gyroscope");
> >    196	
> >    197		/* Enable FIFO_WKUP, Disable ADV_PWR_SAVE and FUP_EN */
> >    198		ret = regmap_write(regmap, BMI270_PWR_CONF_REG,
> >    199				   BMI270_PWR_CONF_FIFO_WKUP_MSK);
> >    200		if (ret)
> >    201			return dev_err_probe(dev, ret, "Failed to set power configuration");
> >    202	
> >    203		return 0;
> >    204	}
> >    205	
> > 
> > -- 
> > 0-DAY CI Kernel Test Service
> > https://github.com/intel/lkp-tests/wiki  
> 
> I am having trouble reproducing this build error on both jic23-iio/togreg and
> linus/master v6.11.rc7 on an aarch64 box with the same compiler version.
> Maybe a config option is causing this?
> 
> However, I will add #include <linux/bitfield.h> to remedy this issue if
> some edge case is being hit.
Makes sense anyways roughly speaking we should aim for "include what you use"
for headers to avoid this sort of subtle build issue.
There are exceptions for one or two headers that are always included via
another path, but bitfield.h isn't one of those.

Jonathan

> 
> Best regards,
> Alex





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux