Re: [PATCH 3/3] iio: addac: add AD74413R driver

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

 



Hi Cosmin,

I love your patch! Yet something to improve:

[auto build test ERROR on jic23-iio/togreg]
[also build test ERROR on robh/for-next linus/master v5.15-rc7 next-20211029]
[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/Cosmin-Tanislav/iio-add-adddac-subdirectory/20211028-225639
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
config: i386-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
        # https://github.com/0day-ci/linux/commit/94ef24d0c0f35d99ddebc9dda85e262b70ea87db
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Cosmin-Tanislav/iio-add-adddac-subdirectory/20211028-225639
        git checkout 94ef24d0c0f35d99ddebc9dda85e262b70ea87db
        # save the attached .config to linux build tree
        mkdir build_dir
        make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

   drivers/iio/addac/ad74413r.c: In function 'ad74413r_probe':
>> drivers/iio/addac/ad74413r.c:1289:72: error: 'struct iio_dev' has no member named 'id'
    1289 |  st->trig = devm_iio_trigger_alloc(st->dev, "%s-dev%d", name, indio_dev->id);
         |                                                                        ^~


vim +1289 drivers/iio/addac/ad74413r.c

  1202	
  1203	static int ad74413r_probe(struct spi_device *spi)
  1204	{
  1205		struct ad74413r_state *st;
  1206		struct iio_dev *indio_dev;
  1207		unsigned int sillicon_rev_id;
  1208		const char *name;
  1209		int ret;
  1210	
  1211		indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
  1212		if (indio_dev == NULL)
  1213			return -ENOMEM;
  1214	
  1215		st = iio_priv(indio_dev);
  1216		spi_set_drvdata(spi, st);
  1217	
  1218		st->spi = spi;
  1219		st->dev = &spi->dev;
  1220		st->config = of_device_get_match_data(&spi->dev);
  1221		st->indio_dev = indio_dev;
  1222		mutex_init(&st->lock);
  1223		init_completion(&st->adc_data_completion);
  1224	
  1225		name = dev_name(st->dev);
  1226	
  1227		st->regmap = devm_regmap_init(st->dev, NULL, &spi->dev, &ad74413r_regmap_config);
  1228		if (IS_ERR(st->regmap)) {
  1229			ret = PTR_ERR(st->regmap);
  1230			dev_err(st->dev, "Failed to create regmap: %d\n", ret);
  1231			return ret;
  1232		}
  1233	
  1234		ret = regmap_read(st->regmap, AD74413R_REG_SILLICON_REV, &sillicon_rev_id);
  1235		if (ret) {
  1236			dev_err(st->dev, "Failed to read sillicon rev: %d\n", ret);
  1237			return ret;
  1238		}
  1239	
  1240		sillicon_rev_id = FIELD_GET(AD74413R_SILLICON_REV_ID_MASK, sillicon_rev_id);
  1241		if (sillicon_rev_id != AD74413R_SILLICON_REV_ID_EXPECTED) {
  1242			dev_err(st->dev, "Read sillicon rev id %d does not match expected rev id %d\n",
  1243				sillicon_rev_id, AD74413R_SILLICON_REV_ID_EXPECTED);
  1244			return -EINVAL;
  1245		}
  1246	
  1247		st->refin_reg = devm_regulator_get(st->dev, "refin");
  1248		if (IS_ERR(st->refin_reg)) {
  1249			dev_err(st->dev, "Failed to get refin regulator: %d\n", ret);
  1250			return PTR_ERR(st->refin_reg);
  1251		}
  1252	
  1253		ret = regulator_enable(st->refin_reg);
  1254		if (ret) {
  1255			dev_err(st->dev, "Failed to enable refin regulator: %d\n", ret);
  1256			return ret;
  1257		}
  1258	
  1259		ret = devm_add_action_or_reset(st->dev, ad74413r_regulator_disable,
  1260					       st->refin_reg);
  1261		if (ret) {
  1262			dev_err(st->dev, "Failed to add refin regulator disable action: %d\n", ret);
  1263			return ret;
  1264		}
  1265	
  1266		ret = of_property_read_u32(st->dev->of_node, "adi,rsense-resistance-ohms",
  1267					   &st->rsense_resistance_ohms);
  1268		if (ret) {
  1269			dev_err(st->dev, "Failed to get rsense resistance: %d\n", ret);
  1270			return ret;
  1271		}
  1272	
  1273		st->gpiochip.label = name;
  1274		st->gpiochip.base = -1;
  1275		st->gpiochip.ngpio = AD74413R_CHANNEL_MAX;
  1276		st->gpiochip.parent = st->dev;
  1277		st->gpiochip.can_sleep = true;
  1278		st->gpiochip.set = ad74413r_gpio_set;
  1279		st->gpiochip.set_multiple = ad74413r_gpio_set_multiple;
  1280		st->gpiochip.owner = THIS_MODULE;
  1281		st->gpiochip.get = ad74413r_gpio_get;
  1282	
  1283		ret = devm_gpiochip_add_data(st->dev, &st->gpiochip, st);
  1284		if (ret) {
  1285			dev_err(st->dev, "Failed to add gpio chip: %d\n", ret);
  1286			return ret;
  1287		}
  1288	
> 1289		st->trig = devm_iio_trigger_alloc(st->dev, "%s-dev%d", name, indio_dev->id);
  1290		if (!st->trig)
  1291			return -ENOMEM;
  1292	
  1293		st->trig->ops = &ad74413r_trigger_ops;
  1294		st->trig->dev.parent = st->dev;
  1295		iio_trigger_set_drvdata(st->trig, st);
  1296	
  1297		ret = devm_iio_trigger_register(st->dev, st->trig);
  1298		if (ret)
  1299			return ret;
  1300	
  1301		indio_dev->dev.parent = st->dev;
  1302		indio_dev->name = name;
  1303		indio_dev->modes = INDIO_DIRECT_MODE | INDIO_BUFFER_SOFTWARE;
  1304		indio_dev->info = &ad74413r_info;
  1305		indio_dev->trig = iio_trigger_get(st->trig);
  1306	
  1307		ret = ad74413r_parse_channel_configs(st);
  1308		if (ret)
  1309			return ret;
  1310	
  1311		ret = ad74413r_count_iio_channels(st);
  1312		if (ret)
  1313			return ret;
  1314	
  1315		ret = ad74413r_setup_iio_channels(st);
  1316		if (ret) {
  1317			dev_err(st->dev, "Failed to setup iio channels: %d\n", ret);
  1318			return ret;
  1319		}
  1320	
  1321		ret = ad74413r_set_adc_conv_seq(st, AD74413R_CONV_SEQ_OFF);
  1322		if (ret)
  1323			return ret;
  1324	
  1325		ret = devm_request_irq(st->dev, spi->irq, ad74413r_adc_data_interrupt,
  1326				       IRQF_TRIGGER_FALLING, name, st);
  1327		if (ret) {
  1328			dev_err(st->dev, "Failed to request threaded irq: %d\n", ret);
  1329			return ret;
  1330		}
  1331	
  1332		ret = devm_iio_triggered_buffer_setup(st->dev, indio_dev, &iio_pollfunc_store_time,
  1333						      &ad74413r_trigger_handler, &ad74413r_buffer_ops);
  1334		if (ret) {
  1335			dev_err(st->dev, "Failed to setup triggered buffer: %d\n", ret);
  1336			return ret;
  1337		}
  1338	
  1339		return devm_iio_device_register(st->dev, indio_dev);
  1340	}
  1341	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip


[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