Hi Jonathan, I love your patch! Yet something to improve: [auto build test ERROR on iio/togreg] [also build test ERROR on v5.12-rc6 next-20210401] [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] url: https://github.com/0day-ci/linux/commits/Jonathan-Cameron/iio-adc-ad7476-Regulator-support-and-binding-doc/20210406-002735 base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg config: riscv-randconfig-r004-20210405 (attached as .config) compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 2760a808b9916a2839513b7fd7314a464f52481e) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install riscv cross compiling tool for clang build # apt-get install binutils-riscv64-linux-gnu # https://github.com/0day-ci/linux/commit/0c18d053103b05b990e986b54c77a32db4f3f9f4 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Jonathan-Cameron/iio-adc-ad7476-Regulator-support-and-binding-doc/20210406-002735 git checkout 0c18d053103b05b990e986b54c77a32db4f3f9f4 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): >> drivers/iio/adc/ad7476.c:418:24: error: no member named 'reg' in 'struct ad7476_state' regulator_disable(st->reg); ~~ ^ 1 error generated. vim +418 drivers/iio/adc/ad7476.c 4bb2b8f94ace32 drivers/iio/adc/ad7476.c Beniamin Bia 2020-03-11 304 fc52692c49969e drivers/iio/adc/ad7476.c Greg Kroah-Hartman 2012-12-21 305 static int ad7476_probe(struct spi_device *spi) 349282d82e929e drivers/staging/iio/adc/ad7476_core.c Michael Hennerich 2010-10-11 306 { 349282d82e929e drivers/staging/iio/adc/ad7476_core.c Michael Hennerich 2010-10-11 307 struct ad7476_state *st; 67688105af8376 drivers/staging/iio/adc/ad7476_core.c Jonathan Cameron 2011-06-27 308 struct iio_dev *indio_dev; 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 309 struct regulator *reg; cb093e444fede7 drivers/staging/iio/adc/ad7476_core.c Lars-Peter Clausen 2012-09-10 310 int ret; 349282d82e929e drivers/staging/iio/adc/ad7476_core.c Michael Hennerich 2010-10-11 311 4ea454d2c1a38d drivers/iio/adc/ad7476.c Sachin Kamat 2013-07-23 312 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); 4ea454d2c1a38d drivers/iio/adc/ad7476.c Sachin Kamat 2013-07-23 313 if (!indio_dev) 4ea454d2c1a38d drivers/iio/adc/ad7476.c Sachin Kamat 2013-07-23 314 return -ENOMEM; 4ea454d2c1a38d drivers/iio/adc/ad7476.c Sachin Kamat 2013-07-23 315 67688105af8376 drivers/staging/iio/adc/ad7476_core.c Jonathan Cameron 2011-06-27 316 st = iio_priv(indio_dev); cb093e444fede7 drivers/staging/iio/adc/ad7476_core.c Lars-Peter Clausen 2012-09-10 317 st->chip_info = cb093e444fede7 drivers/staging/iio/adc/ad7476_core.c Lars-Peter Clausen 2012-09-10 318 &ad7476_chip_info_tbl[spi_get_device_id(spi)->driver_data]; cb093e444fede7 drivers/staging/iio/adc/ad7476_core.c Lars-Peter Clausen 2012-09-10 319 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 320 reg = devm_regulator_get(&spi->dev, "vcc"); 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 321 if (IS_ERR(reg)) 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 322 return PTR_ERR(reg); 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 323 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 324 ret = regulator_enable(reg); 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 325 if (ret) 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 326 return ret; 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 327 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 328 ret = devm_add_action_or_reset(&spi->dev, ad7476_reg_disable, reg); 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 329 if (ret) 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 330 return ret; 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 331 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 332 /* Either vcc or vref (below) as appropriate */ 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 333 st->ref_reg = reg; 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 334 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 335 if (st->chip_info->has_vref) { 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 336 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 337 /* If a device has an internal reference vref is optional */ 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 338 if (st->chip_info->int_vref_uv) { 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 339 reg = devm_regulator_get_optional(&spi->dev, "vref"); 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 340 } else { 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 341 reg = devm_regulator_get(&spi->dev, "vref"); 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 342 if (IS_ERR(reg)) 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 343 return PTR_ERR(reg); 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 344 } cb093e444fede7 drivers/staging/iio/adc/ad7476_core.c Lars-Peter Clausen 2012-09-10 345 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 346 if (!IS_ERR(reg)) { 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 347 ret = regulator_enable(reg); 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 348 if (ret) 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 349 return ret; 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 350 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 351 ret = devm_add_action_or_reset(&spi->dev, 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 352 ad7476_reg_disable, 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 353 reg); 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 354 if (ret) 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 355 return ret; 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 356 st->ref_reg = reg; 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 357 st->force_ext_vref = true; 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 358 } 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 359 } 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 360 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 361 if (st->chip_info->has_vdrive) { 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 362 reg = devm_regulator_get(&spi->dev, "vdrive"); 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 363 if (IS_ERR(reg)) 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 364 return PTR_ERR(reg); 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 365 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 366 ret = regulator_enable(reg); 349282d82e929e drivers/staging/iio/adc/ad7476_core.c Michael Hennerich 2010-10-11 367 if (ret) 4ea454d2c1a38d drivers/iio/adc/ad7476.c Sachin Kamat 2013-07-23 368 return ret; 349282d82e929e drivers/staging/iio/adc/ad7476_core.c Michael Hennerich 2010-10-11 369 4bb2b8f94ace32 drivers/iio/adc/ad7476.c Beniamin Bia 2020-03-11 370 ret = devm_add_action_or_reset(&spi->dev, ad7476_reg_disable, 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 371 reg); 4bb2b8f94ace32 drivers/iio/adc/ad7476.c Beniamin Bia 2020-03-11 372 if (ret) 4bb2b8f94ace32 drivers/iio/adc/ad7476.c Beniamin Bia 2020-03-11 373 return ret; 0c18d053103b05 drivers/iio/adc/ad7476.c Jonathan Cameron 2021-04-05 374 } 4bb2b8f94ace32 drivers/iio/adc/ad7476.c Beniamin Bia 2020-03-11 375 af37e4703d00ce drivers/iio/adc/ad7476.c Dragos Bogdan 2020-03-11 376 st->convst_gpio = devm_gpiod_get_optional(&spi->dev, af37e4703d00ce drivers/iio/adc/ad7476.c Dragos Bogdan 2020-03-11 377 "adi,conversion-start", af37e4703d00ce drivers/iio/adc/ad7476.c Dragos Bogdan 2020-03-11 378 GPIOD_OUT_LOW); af37e4703d00ce drivers/iio/adc/ad7476.c Dragos Bogdan 2020-03-11 379 if (IS_ERR(st->convst_gpio)) af37e4703d00ce drivers/iio/adc/ad7476.c Dragos Bogdan 2020-03-11 380 return PTR_ERR(st->convst_gpio); af37e4703d00ce drivers/iio/adc/ad7476.c Dragos Bogdan 2020-03-11 381 38f71aa905c20c drivers/staging/iio/adc/ad7476_core.c Jonathan Cameron 2011-07-13 382 spi_set_drvdata(spi, indio_dev); 349282d82e929e drivers/staging/iio/adc/ad7476_core.c Michael Hennerich 2010-10-11 383 349282d82e929e drivers/staging/iio/adc/ad7476_core.c Michael Hennerich 2010-10-11 384 st->spi = spi; 349282d82e929e drivers/staging/iio/adc/ad7476_core.c Michael Hennerich 2010-10-11 385 67688105af8376 drivers/staging/iio/adc/ad7476_core.c Jonathan Cameron 2011-06-27 386 indio_dev->name = spi_get_device_id(spi)->name; 67688105af8376 drivers/staging/iio/adc/ad7476_core.c Jonathan Cameron 2011-06-27 387 indio_dev->modes = INDIO_DIRECT_MODE; 67688105af8376 drivers/staging/iio/adc/ad7476_core.c Jonathan Cameron 2011-06-27 388 indio_dev->channels = st->chip_info->channel; 67688105af8376 drivers/staging/iio/adc/ad7476_core.c Jonathan Cameron 2011-06-27 389 indio_dev->num_channels = 2; 67688105af8376 drivers/staging/iio/adc/ad7476_core.c Jonathan Cameron 2011-06-27 390 indio_dev->info = &ad7476_info; 3a6af93dd66eba drivers/iio/adc/ad7476.c Dragos Bogdan 2020-03-11 391 a66904b209b6d8 drivers/iio/adc/ad7476.c Colin Ian King 2020-04-24 392 if (st->convst_gpio) 3a6af93dd66eba drivers/iio/adc/ad7476.c Dragos Bogdan 2020-03-11 393 indio_dev->channels = st->chip_info->convst_channel; 349282d82e929e drivers/staging/iio/adc/ad7476_core.c Michael Hennerich 2010-10-11 394 /* Setup default message */ 349282d82e929e drivers/staging/iio/adc/ad7476_core.c Michael Hennerich 2010-10-11 395 349282d82e929e drivers/staging/iio/adc/ad7476_core.c Michael Hennerich 2010-10-11 396 st->xfer.rx_buf = &st->data; c5e0819e2d82c7 drivers/staging/iio/adc/ad7476_core.c Jonathan Cameron 2011-05-18 397 st->xfer.len = st->chip_info->channel[0].scan_type.storagebits / 8; 349282d82e929e drivers/staging/iio/adc/ad7476_core.c Michael Hennerich 2010-10-11 398 349282d82e929e drivers/staging/iio/adc/ad7476_core.c Michael Hennerich 2010-10-11 399 spi_message_init(&st->msg); 349282d82e929e drivers/staging/iio/adc/ad7476_core.c Michael Hennerich 2010-10-11 400 spi_message_add_tail(&st->xfer, &st->msg); 349282d82e929e drivers/staging/iio/adc/ad7476_core.c Michael Hennerich 2010-10-11 401 7a28fe3c93d6cd drivers/staging/iio/adc/ad7476.c Lars-Peter Clausen 2012-09-10 402 ret = iio_triggered_buffer_setup(indio_dev, NULL, 7a28fe3c93d6cd drivers/staging/iio/adc/ad7476.c Lars-Peter Clausen 2012-09-10 403 &ad7476_trigger_handler, NULL); 349282d82e929e drivers/staging/iio/adc/ad7476_core.c Michael Hennerich 2010-10-11 404 if (ret) 67688105af8376 drivers/staging/iio/adc/ad7476_core.c Jonathan Cameron 2011-06-27 405 goto error_disable_reg; 349282d82e929e drivers/staging/iio/adc/ad7476_core.c Michael Hennerich 2010-10-11 406 87c5b10fd97937 drivers/iio/adc/ad7476.c Lars-Peter Clausen 2012-09-17 407 if (st->chip_info->reset) 87c5b10fd97937 drivers/iio/adc/ad7476.c Lars-Peter Clausen 2012-09-17 408 st->chip_info->reset(st); 87c5b10fd97937 drivers/iio/adc/ad7476.c Lars-Peter Clausen 2012-09-17 409 26d25ae3f0d8ff drivers/staging/iio/adc/ad7476_core.c Jonathan Cameron 2011-09-02 410 ret = iio_device_register(indio_dev); 26d25ae3f0d8ff drivers/staging/iio/adc/ad7476_core.c Jonathan Cameron 2011-09-02 411 if (ret) 26d25ae3f0d8ff drivers/staging/iio/adc/ad7476_core.c Jonathan Cameron 2011-09-02 412 goto error_ring_unregister; 349282d82e929e drivers/staging/iio/adc/ad7476_core.c Michael Hennerich 2010-10-11 413 return 0; 349282d82e929e drivers/staging/iio/adc/ad7476_core.c Michael Hennerich 2010-10-11 414 26d25ae3f0d8ff drivers/staging/iio/adc/ad7476_core.c Jonathan Cameron 2011-09-02 415 error_ring_unregister: 7a28fe3c93d6cd drivers/staging/iio/adc/ad7476.c Lars-Peter Clausen 2012-09-10 416 iio_triggered_buffer_cleanup(indio_dev); 349282d82e929e drivers/staging/iio/adc/ad7476_core.c Michael Hennerich 2010-10-11 417 error_disable_reg: 349282d82e929e drivers/staging/iio/adc/ad7476_core.c Michael Hennerich 2010-10-11 @418 regulator_disable(st->reg); 26d25ae3f0d8ff drivers/staging/iio/adc/ad7476_core.c Jonathan Cameron 2011-09-02 419 349282d82e929e drivers/staging/iio/adc/ad7476_core.c Michael Hennerich 2010-10-11 420 return ret; 349282d82e929e drivers/staging/iio/adc/ad7476_core.c Michael Hennerich 2010-10-11 421 } 349282d82e929e drivers/staging/iio/adc/ad7476_core.c Michael Hennerich 2010-10-11 422 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org