* [jic23-iio:fixes-togreg 31/32] drivers/iio/potentiostat/lmp91000.c:353 lmp91000_probe() warn: missing unwind goto?
@ 2026-05-13 7:02 ` Dan Carpenter
0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2026-05-12 20:35 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp, Dan Carpenter
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: Salah Triki <salah.triki@gmail.com>
CC: Jonathan Cameron <jic23@kernel.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git fixes-togreg
head: 2ec11ebb4d0dea4aa9604f8336cd1e1c390d5dcb
commit: 82764dcb3643c70649f14fe8e92e667955574a8c [31/32] iio: potentiostat: lmp91000: fix probe order and cleanup paths
:::::: branch date: 27 hours ago
:::::: commit date: 27 hours ago
config: i386-randconfig-141-20260512 (https://download.01.org/0day-ci/archive/20260513/202605130437.SgMZ43gQ-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
smatch: v0.5.0-9065-ge9cc34fd
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@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202605130437.SgMZ43gQ-lkp@intel.com/
smatch warnings:
drivers/iio/potentiostat/lmp91000.c:353 lmp91000_probe() warn: missing unwind goto?
vim +353 drivers/iio/potentiostat/lmp91000.c
67e17300dc1d760 Matt Ranostay 2016-09-24 294
7d8b3e100abeeff Uwe Kleine-König 2022-11-18 295 static int lmp91000_probe(struct i2c_client *client)
67e17300dc1d760 Matt Ranostay 2016-09-24 296 {
67e17300dc1d760 Matt Ranostay 2016-09-24 297 struct device *dev = &client->dev;
67e17300dc1d760 Matt Ranostay 2016-09-24 298 struct lmp91000_data *data;
67e17300dc1d760 Matt Ranostay 2016-09-24 299 struct iio_dev *indio_dev;
67e17300dc1d760 Matt Ranostay 2016-09-24 300 int ret;
67e17300dc1d760 Matt Ranostay 2016-09-24 301
67e17300dc1d760 Matt Ranostay 2016-09-24 302 indio_dev = devm_iio_device_alloc(dev, sizeof(*data));
67e17300dc1d760 Matt Ranostay 2016-09-24 303 if (!indio_dev)
67e17300dc1d760 Matt Ranostay 2016-09-24 304 return -ENOMEM;
67e17300dc1d760 Matt Ranostay 2016-09-24 305
67e17300dc1d760 Matt Ranostay 2016-09-24 306 indio_dev->info = &lmp91000_info;
67e17300dc1d760 Matt Ranostay 2016-09-24 307 indio_dev->channels = lmp91000_channels;
67e17300dc1d760 Matt Ranostay 2016-09-24 308 indio_dev->num_channels = ARRAY_SIZE(lmp91000_channels);
67e17300dc1d760 Matt Ranostay 2016-09-24 309 indio_dev->name = LMP91000_DRV_NAME;
67e17300dc1d760 Matt Ranostay 2016-09-24 310 indio_dev->modes = INDIO_DIRECT_MODE;
67e17300dc1d760 Matt Ranostay 2016-09-24 311 i2c_set_clientdata(client, indio_dev);
67e17300dc1d760 Matt Ranostay 2016-09-24 312
67e17300dc1d760 Matt Ranostay 2016-09-24 313 data = iio_priv(indio_dev);
67e17300dc1d760 Matt Ranostay 2016-09-24 314 data->dev = dev;
67e17300dc1d760 Matt Ranostay 2016-09-24 315 data->regmap = devm_regmap_init_i2c(client, &lmp91000_regmap_config);
67e17300dc1d760 Matt Ranostay 2016-09-24 316 if (IS_ERR(data->regmap)) {
67e17300dc1d760 Matt Ranostay 2016-09-24 317 dev_err(dev, "regmap initialization failed.\n");
67e17300dc1d760 Matt Ranostay 2016-09-24 318 return PTR_ERR(data->regmap);
67e17300dc1d760 Matt Ranostay 2016-09-24 319 }
67e17300dc1d760 Matt Ranostay 2016-09-24 320
4d031666560da23 Gwendal Grignou 2021-03-09 321 data->trig = devm_iio_trigger_alloc(dev, "%s-mux%d",
15ea2878bfb2550 Jonathan Cameron 2021-04-26 322 indio_dev->name,
15ea2878bfb2550 Jonathan Cameron 2021-04-26 323 iio_device_id(indio_dev));
368e8718875f17a Dixit Parmar 2025-08-22 324 if (!data->trig)
67e17300dc1d760 Matt Ranostay 2016-09-24 325 return -ENOMEM;
67e17300dc1d760 Matt Ranostay 2016-09-24 326
67e17300dc1d760 Matt Ranostay 2016-09-24 327 init_completion(&data->completion);
67e17300dc1d760 Matt Ranostay 2016-09-24 328
67e17300dc1d760 Matt Ranostay 2016-09-24 329 ret = lmp91000_read_config(data);
67e17300dc1d760 Matt Ranostay 2016-09-24 330 if (ret)
67e17300dc1d760 Matt Ranostay 2016-09-24 331 return ret;
67e17300dc1d760 Matt Ranostay 2016-09-24 332
82764dcb3643c70 Salah Triki 2026-05-07 333 data->cb_buffer = iio_channel_get_all_cb(dev, &lmp91000_buffer_cb, indio_dev);
82764dcb3643c70 Salah Triki 2026-05-07 334 if (IS_ERR(data->cb_buffer)) {
82764dcb3643c70 Salah Triki 2026-05-07 335 if (PTR_ERR(data->cb_buffer) == -ENODEV)
82764dcb3643c70 Salah Triki 2026-05-07 336 ret = -EPROBE_DEFER;
82764dcb3643c70 Salah Triki 2026-05-07 337 else
82764dcb3643c70 Salah Triki 2026-05-07 338 ret = PTR_ERR(data->cb_buffer);
82764dcb3643c70 Salah Triki 2026-05-07 339
82764dcb3643c70 Salah Triki 2026-05-07 340 goto error_unreg_buffer;
82764dcb3643c70 Salah Triki 2026-05-07 341 }
82764dcb3643c70 Salah Triki 2026-05-07 342
67e17300dc1d760 Matt Ranostay 2016-09-24 343 ret = iio_trigger_set_immutable(iio_channel_cb_get_iio_dev(data->cb_buffer),
67e17300dc1d760 Matt Ranostay 2016-09-24 344 data->trig);
67e17300dc1d760 Matt Ranostay 2016-09-24 345 if (ret) {
67e17300dc1d760 Matt Ranostay 2016-09-24 346 dev_err(dev, "cannot set immutable trigger.\n");
67e17300dc1d760 Matt Ranostay 2016-09-24 347 return ret;
67e17300dc1d760 Matt Ranostay 2016-09-24 348 }
67e17300dc1d760 Matt Ranostay 2016-09-24 349
67e17300dc1d760 Matt Ranostay 2016-09-24 350 ret = iio_trigger_register(data->trig);
67e17300dc1d760 Matt Ranostay 2016-09-24 351 if (ret) {
67e17300dc1d760 Matt Ranostay 2016-09-24 352 dev_err(dev, "cannot register iio trigger.\n");
67e17300dc1d760 Matt Ranostay 2016-09-24 @353 return ret;
67e17300dc1d760 Matt Ranostay 2016-09-24 354 }
67e17300dc1d760 Matt Ranostay 2016-09-24 355
67e17300dc1d760 Matt Ranostay 2016-09-24 356 ret = iio_triggered_buffer_setup(indio_dev, NULL,
67e17300dc1d760 Matt Ranostay 2016-09-24 357 &lmp91000_buffer_handler,
67e17300dc1d760 Matt Ranostay 2016-09-24 358 &lmp91000_buffer_setup_ops);
67e17300dc1d760 Matt Ranostay 2016-09-24 359 if (ret)
67e17300dc1d760 Matt Ranostay 2016-09-24 360 goto error_unreg_trigger;
67e17300dc1d760 Matt Ranostay 2016-09-24 361
67e17300dc1d760 Matt Ranostay 2016-09-24 362 data->adc_chan = iio_channel_cb_get_channels(data->cb_buffer);
67e17300dc1d760 Matt Ranostay 2016-09-24 363
67e17300dc1d760 Matt Ranostay 2016-09-24 364 ret = iio_device_register(indio_dev);
67e17300dc1d760 Matt Ranostay 2016-09-24 365 if (ret)
67e17300dc1d760 Matt Ranostay 2016-09-24 366 goto error_unreg_cb_buffer;
67e17300dc1d760 Matt Ranostay 2016-09-24 367
67e17300dc1d760 Matt Ranostay 2016-09-24 368 return 0;
67e17300dc1d760 Matt Ranostay 2016-09-24 369
67e17300dc1d760 Matt Ranostay 2016-09-24 370 error_unreg_cb_buffer:
67e17300dc1d760 Matt Ranostay 2016-09-24 371 iio_channel_release_all_cb(data->cb_buffer);
67e17300dc1d760 Matt Ranostay 2016-09-24 372
67e17300dc1d760 Matt Ranostay 2016-09-24 373 error_unreg_trigger:
67e17300dc1d760 Matt Ranostay 2016-09-24 374 iio_trigger_unregister(data->trig);
67e17300dc1d760 Matt Ranostay 2016-09-24 375
82764dcb3643c70 Salah Triki 2026-05-07 376 error_unreg_buffer:
82764dcb3643c70 Salah Triki 2026-05-07 377 iio_triggered_buffer_cleanup(indio_dev);
82764dcb3643c70 Salah Triki 2026-05-07 378
67e17300dc1d760 Matt Ranostay 2016-09-24 379 return ret;
67e17300dc1d760 Matt Ranostay 2016-09-24 380 }
67e17300dc1d760 Matt Ranostay 2016-09-24 381
:::::: The code at line 353 was first introduced by commit
:::::: 67e17300dc1d76091d2d513d6aa57e50af2c9648 iio: potentiostat: add LMP91000 support
:::::: TO: Matt Ranostay <mranostay@gmail.com>
:::::: CC: Jonathan Cameron <jic23@kernel.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 3+ messages in thread
* [jic23-iio:fixes-togreg 31/32] drivers/iio/potentiostat/lmp91000.c:353 lmp91000_probe() warn: missing unwind goto?
@ 2026-05-13 7:02 ` Dan Carpenter
0 siblings, 0 replies; 3+ messages in thread
From: Dan Carpenter @ 2026-05-13 7:02 UTC (permalink / raw)
To: oe-kbuild, Salah Triki; +Cc: lkp, oe-kbuild-all, Jonathan Cameron
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git fixes-togreg
head: 2ec11ebb4d0dea4aa9604f8336cd1e1c390d5dcb
commit: 82764dcb3643c70649f14fe8e92e667955574a8c [31/32] iio: potentiostat: lmp91000: fix probe order and cleanup paths
config: i386-randconfig-141-20260512 (https://download.01.org/0day-ci/archive/20260513/202605130437.SgMZ43gQ-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
smatch: v0.5.0-9065-ge9cc34fd
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@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202605130437.SgMZ43gQ-lkp@intel.com/
smatch warnings:
drivers/iio/potentiostat/lmp91000.c:353 lmp91000_probe() warn: missing unwind goto?
vim +353 drivers/iio/potentiostat/lmp91000.c
7d8b3e100abeeff Uwe Kleine-König 2022-11-18 295 static int lmp91000_probe(struct i2c_client *client)
67e17300dc1d760 Matt Ranostay 2016-09-24 296 {
67e17300dc1d760 Matt Ranostay 2016-09-24 297 struct device *dev = &client->dev;
67e17300dc1d760 Matt Ranostay 2016-09-24 298 struct lmp91000_data *data;
67e17300dc1d760 Matt Ranostay 2016-09-24 299 struct iio_dev *indio_dev;
67e17300dc1d760 Matt Ranostay 2016-09-24 300 int ret;
67e17300dc1d760 Matt Ranostay 2016-09-24 301
67e17300dc1d760 Matt Ranostay 2016-09-24 302 indio_dev = devm_iio_device_alloc(dev, sizeof(*data));
67e17300dc1d760 Matt Ranostay 2016-09-24 303 if (!indio_dev)
67e17300dc1d760 Matt Ranostay 2016-09-24 304 return -ENOMEM;
67e17300dc1d760 Matt Ranostay 2016-09-24 305
67e17300dc1d760 Matt Ranostay 2016-09-24 306 indio_dev->info = &lmp91000_info;
67e17300dc1d760 Matt Ranostay 2016-09-24 307 indio_dev->channels = lmp91000_channels;
67e17300dc1d760 Matt Ranostay 2016-09-24 308 indio_dev->num_channels = ARRAY_SIZE(lmp91000_channels);
67e17300dc1d760 Matt Ranostay 2016-09-24 309 indio_dev->name = LMP91000_DRV_NAME;
67e17300dc1d760 Matt Ranostay 2016-09-24 310 indio_dev->modes = INDIO_DIRECT_MODE;
67e17300dc1d760 Matt Ranostay 2016-09-24 311 i2c_set_clientdata(client, indio_dev);
67e17300dc1d760 Matt Ranostay 2016-09-24 312
67e17300dc1d760 Matt Ranostay 2016-09-24 313 data = iio_priv(indio_dev);
67e17300dc1d760 Matt Ranostay 2016-09-24 314 data->dev = dev;
67e17300dc1d760 Matt Ranostay 2016-09-24 315 data->regmap = devm_regmap_init_i2c(client, &lmp91000_regmap_config);
67e17300dc1d760 Matt Ranostay 2016-09-24 316 if (IS_ERR(data->regmap)) {
67e17300dc1d760 Matt Ranostay 2016-09-24 317 dev_err(dev, "regmap initialization failed.\n");
67e17300dc1d760 Matt Ranostay 2016-09-24 318 return PTR_ERR(data->regmap);
67e17300dc1d760 Matt Ranostay 2016-09-24 319 }
67e17300dc1d760 Matt Ranostay 2016-09-24 320
4d031666560da23 Gwendal Grignou 2021-03-09 321 data->trig = devm_iio_trigger_alloc(dev, "%s-mux%d",
15ea2878bfb2550 Jonathan Cameron 2021-04-26 322 indio_dev->name,
15ea2878bfb2550 Jonathan Cameron 2021-04-26 323 iio_device_id(indio_dev));
368e8718875f17a Dixit Parmar 2025-08-22 324 if (!data->trig)
67e17300dc1d760 Matt Ranostay 2016-09-24 325 return -ENOMEM;
67e17300dc1d760 Matt Ranostay 2016-09-24 326
67e17300dc1d760 Matt Ranostay 2016-09-24 327 init_completion(&data->completion);
67e17300dc1d760 Matt Ranostay 2016-09-24 328
67e17300dc1d760 Matt Ranostay 2016-09-24 329 ret = lmp91000_read_config(data);
67e17300dc1d760 Matt Ranostay 2016-09-24 330 if (ret)
67e17300dc1d760 Matt Ranostay 2016-09-24 331 return ret;
67e17300dc1d760 Matt Ranostay 2016-09-24 332
82764dcb3643c70 Salah Triki 2026-05-07 333 data->cb_buffer = iio_channel_get_all_cb(dev, &lmp91000_buffer_cb, indio_dev);
82764dcb3643c70 Salah Triki 2026-05-07 334 if (IS_ERR(data->cb_buffer)) {
82764dcb3643c70 Salah Triki 2026-05-07 335 if (PTR_ERR(data->cb_buffer) == -ENODEV)
82764dcb3643c70 Salah Triki 2026-05-07 336 ret = -EPROBE_DEFER;
82764dcb3643c70 Salah Triki 2026-05-07 337 else
82764dcb3643c70 Salah Triki 2026-05-07 338 ret = PTR_ERR(data->cb_buffer);
82764dcb3643c70 Salah Triki 2026-05-07 339
82764dcb3643c70 Salah Triki 2026-05-07 340 goto error_unreg_buffer;
82764dcb3643c70 Salah Triki 2026-05-07 341 }
82764dcb3643c70 Salah Triki 2026-05-07 342
67e17300dc1d760 Matt Ranostay 2016-09-24 343 ret = iio_trigger_set_immutable(iio_channel_cb_get_iio_dev(data->cb_buffer),
67e17300dc1d760 Matt Ranostay 2016-09-24 344 data->trig);
67e17300dc1d760 Matt Ranostay 2016-09-24 345 if (ret) {
67e17300dc1d760 Matt Ranostay 2016-09-24 346 dev_err(dev, "cannot set immutable trigger.\n");
67e17300dc1d760 Matt Ranostay 2016-09-24 347 return ret;
Need to goto cleanup before returning
67e17300dc1d760 Matt Ranostay 2016-09-24 348 }
67e17300dc1d760 Matt Ranostay 2016-09-24 349
67e17300dc1d760 Matt Ranostay 2016-09-24 350 ret = iio_trigger_register(data->trig);
67e17300dc1d760 Matt Ranostay 2016-09-24 351 if (ret) {
67e17300dc1d760 Matt Ranostay 2016-09-24 352 dev_err(dev, "cannot register iio trigger.\n");
67e17300dc1d760 Matt Ranostay 2016-09-24 @353 return ret;
Same.
67e17300dc1d760 Matt Ranostay 2016-09-24 354 }
67e17300dc1d760 Matt Ranostay 2016-09-24 355
67e17300dc1d760 Matt Ranostay 2016-09-24 356 ret = iio_triggered_buffer_setup(indio_dev, NULL,
67e17300dc1d760 Matt Ranostay 2016-09-24 357 &lmp91000_buffer_handler,
67e17300dc1d760 Matt Ranostay 2016-09-24 358 &lmp91000_buffer_setup_ops);
67e17300dc1d760 Matt Ranostay 2016-09-24 359 if (ret)
67e17300dc1d760 Matt Ranostay 2016-09-24 360 goto error_unreg_trigger;
67e17300dc1d760 Matt Ranostay 2016-09-24 361
67e17300dc1d760 Matt Ranostay 2016-09-24 362 data->adc_chan = iio_channel_cb_get_channels(data->cb_buffer);
67e17300dc1d760 Matt Ranostay 2016-09-24 363
67e17300dc1d760 Matt Ranostay 2016-09-24 364 ret = iio_device_register(indio_dev);
67e17300dc1d760 Matt Ranostay 2016-09-24 365 if (ret)
67e17300dc1d760 Matt Ranostay 2016-09-24 366 goto error_unreg_cb_buffer;
67e17300dc1d760 Matt Ranostay 2016-09-24 367
67e17300dc1d760 Matt Ranostay 2016-09-24 368 return 0;
67e17300dc1d760 Matt Ranostay 2016-09-24 369
67e17300dc1d760 Matt Ranostay 2016-09-24 370 error_unreg_cb_buffer:
67e17300dc1d760 Matt Ranostay 2016-09-24 371 iio_channel_release_all_cb(data->cb_buffer);
67e17300dc1d760 Matt Ranostay 2016-09-24 372
67e17300dc1d760 Matt Ranostay 2016-09-24 373 error_unreg_trigger:
67e17300dc1d760 Matt Ranostay 2016-09-24 374 iio_trigger_unregister(data->trig);
67e17300dc1d760 Matt Ranostay 2016-09-24 375
82764dcb3643c70 Salah Triki 2026-05-07 376 error_unreg_buffer:
82764dcb3643c70 Salah Triki 2026-05-07 377 iio_triggered_buffer_cleanup(indio_dev);
82764dcb3643c70 Salah Triki 2026-05-07 378
67e17300dc1d760 Matt Ranostay 2016-09-24 379 return ret;
67e17300dc1d760 Matt Ranostay 2016-09-24 380 }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [jic23-iio:fixes-togreg 31/32] drivers/iio/potentiostat/lmp91000.c:353 lmp91000_probe() warn: missing unwind goto?
2026-05-13 7:02 ` Dan Carpenter
(?)
@ 2026-05-13 9:48 ` Jonathan Cameron
-1 siblings, 0 replies; 3+ messages in thread
From: Jonathan Cameron @ 2026-05-13 9:48 UTC (permalink / raw)
To: Dan Carpenter; +Cc: oe-kbuild, Salah Triki, lkp, oe-kbuild-all, linux-iio
On Wed, 13 May 2026 10:02:40 +0300
Dan Carpenter <error27@gmail.com> wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git fixes-togreg
> head: 2ec11ebb4d0dea4aa9604f8336cd1e1c390d5dcb
> commit: 82764dcb3643c70649f14fe8e92e667955574a8c [31/32] iio: potentiostat: lmp91000: fix probe order and cleanup paths
> config: i386-randconfig-141-20260512 (https://download.01.org/0day-ci/archive/20260513/202605130437.SgMZ43gQ-lkp@intel.com/config)
> compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
> smatch: v0.5.0-9065-ge9cc34fd
>
> 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@intel.com>
> | Reported-by: Dan Carpenter <error27@gmail.com>
> | Closes: https://lore.kernel.org/r/202605130437.SgMZ43gQ-lkp@intel.com/
>
> smatch warnings:
> drivers/iio/potentiostat/lmp91000.c:353 lmp91000_probe() warn: missing unwind goto?
Dropped for now. Salah can you take another look at this please.
Thanks,
Jonathan
>
> vim +353 drivers/iio/potentiostat/lmp91000.c
>
> 7d8b3e100abeeff Uwe Kleine-König 2022-11-18 295 static int lmp91000_probe(struct i2c_client *client)
> 67e17300dc1d760 Matt Ranostay 2016-09-24 296 {
> 67e17300dc1d760 Matt Ranostay 2016-09-24 297 struct device *dev = &client->dev;
> 67e17300dc1d760 Matt Ranostay 2016-09-24 298 struct lmp91000_data *data;
> 67e17300dc1d760 Matt Ranostay 2016-09-24 299 struct iio_dev *indio_dev;
> 67e17300dc1d760 Matt Ranostay 2016-09-24 300 int ret;
> 67e17300dc1d760 Matt Ranostay 2016-09-24 301
> 67e17300dc1d760 Matt Ranostay 2016-09-24 302 indio_dev = devm_iio_device_alloc(dev, sizeof(*data));
> 67e17300dc1d760 Matt Ranostay 2016-09-24 303 if (!indio_dev)
> 67e17300dc1d760 Matt Ranostay 2016-09-24 304 return -ENOMEM;
> 67e17300dc1d760 Matt Ranostay 2016-09-24 305
> 67e17300dc1d760 Matt Ranostay 2016-09-24 306 indio_dev->info = &lmp91000_info;
> 67e17300dc1d760 Matt Ranostay 2016-09-24 307 indio_dev->channels = lmp91000_channels;
> 67e17300dc1d760 Matt Ranostay 2016-09-24 308 indio_dev->num_channels = ARRAY_SIZE(lmp91000_channels);
> 67e17300dc1d760 Matt Ranostay 2016-09-24 309 indio_dev->name = LMP91000_DRV_NAME;
> 67e17300dc1d760 Matt Ranostay 2016-09-24 310 indio_dev->modes = INDIO_DIRECT_MODE;
> 67e17300dc1d760 Matt Ranostay 2016-09-24 311 i2c_set_clientdata(client, indio_dev);
> 67e17300dc1d760 Matt Ranostay 2016-09-24 312
> 67e17300dc1d760 Matt Ranostay 2016-09-24 313 data = iio_priv(indio_dev);
> 67e17300dc1d760 Matt Ranostay 2016-09-24 314 data->dev = dev;
> 67e17300dc1d760 Matt Ranostay 2016-09-24 315 data->regmap = devm_regmap_init_i2c(client, &lmp91000_regmap_config);
> 67e17300dc1d760 Matt Ranostay 2016-09-24 316 if (IS_ERR(data->regmap)) {
> 67e17300dc1d760 Matt Ranostay 2016-09-24 317 dev_err(dev, "regmap initialization failed.\n");
> 67e17300dc1d760 Matt Ranostay 2016-09-24 318 return PTR_ERR(data->regmap);
> 67e17300dc1d760 Matt Ranostay 2016-09-24 319 }
> 67e17300dc1d760 Matt Ranostay 2016-09-24 320
> 4d031666560da23 Gwendal Grignou 2021-03-09 321 data->trig = devm_iio_trigger_alloc(dev, "%s-mux%d",
> 15ea2878bfb2550 Jonathan Cameron 2021-04-26 322 indio_dev->name,
> 15ea2878bfb2550 Jonathan Cameron 2021-04-26 323 iio_device_id(indio_dev));
> 368e8718875f17a Dixit Parmar 2025-08-22 324 if (!data->trig)
> 67e17300dc1d760 Matt Ranostay 2016-09-24 325 return -ENOMEM;
> 67e17300dc1d760 Matt Ranostay 2016-09-24 326
> 67e17300dc1d760 Matt Ranostay 2016-09-24 327 init_completion(&data->completion);
> 67e17300dc1d760 Matt Ranostay 2016-09-24 328
> 67e17300dc1d760 Matt Ranostay 2016-09-24 329 ret = lmp91000_read_config(data);
> 67e17300dc1d760 Matt Ranostay 2016-09-24 330 if (ret)
> 67e17300dc1d760 Matt Ranostay 2016-09-24 331 return ret;
> 67e17300dc1d760 Matt Ranostay 2016-09-24 332
> 82764dcb3643c70 Salah Triki 2026-05-07 333 data->cb_buffer = iio_channel_get_all_cb(dev, &lmp91000_buffer_cb, indio_dev);
> 82764dcb3643c70 Salah Triki 2026-05-07 334 if (IS_ERR(data->cb_buffer)) {
> 82764dcb3643c70 Salah Triki 2026-05-07 335 if (PTR_ERR(data->cb_buffer) == -ENODEV)
> 82764dcb3643c70 Salah Triki 2026-05-07 336 ret = -EPROBE_DEFER;
> 82764dcb3643c70 Salah Triki 2026-05-07 337 else
> 82764dcb3643c70 Salah Triki 2026-05-07 338 ret = PTR_ERR(data->cb_buffer);
> 82764dcb3643c70 Salah Triki 2026-05-07 339
> 82764dcb3643c70 Salah Triki 2026-05-07 340 goto error_unreg_buffer;
> 82764dcb3643c70 Salah Triki 2026-05-07 341 }
> 82764dcb3643c70 Salah Triki 2026-05-07 342
> 67e17300dc1d760 Matt Ranostay 2016-09-24 343 ret = iio_trigger_set_immutable(iio_channel_cb_get_iio_dev(data->cb_buffer),
> 67e17300dc1d760 Matt Ranostay 2016-09-24 344 data->trig);
> 67e17300dc1d760 Matt Ranostay 2016-09-24 345 if (ret) {
> 67e17300dc1d760 Matt Ranostay 2016-09-24 346 dev_err(dev, "cannot set immutable trigger.\n");
> 67e17300dc1d760 Matt Ranostay 2016-09-24 347 return ret;
>
> Need to goto cleanup before returning
>
> 67e17300dc1d760 Matt Ranostay 2016-09-24 348 }
> 67e17300dc1d760 Matt Ranostay 2016-09-24 349
> 67e17300dc1d760 Matt Ranostay 2016-09-24 350 ret = iio_trigger_register(data->trig);
> 67e17300dc1d760 Matt Ranostay 2016-09-24 351 if (ret) {
> 67e17300dc1d760 Matt Ranostay 2016-09-24 352 dev_err(dev, "cannot register iio trigger.\n");
> 67e17300dc1d760 Matt Ranostay 2016-09-24 @353 return ret;
>
> Same.
>
> 67e17300dc1d760 Matt Ranostay 2016-09-24 354 }
> 67e17300dc1d760 Matt Ranostay 2016-09-24 355
> 67e17300dc1d760 Matt Ranostay 2016-09-24 356 ret = iio_triggered_buffer_setup(indio_dev, NULL,
> 67e17300dc1d760 Matt Ranostay 2016-09-24 357 &lmp91000_buffer_handler,
> 67e17300dc1d760 Matt Ranostay 2016-09-24 358 &lmp91000_buffer_setup_ops);
> 67e17300dc1d760 Matt Ranostay 2016-09-24 359 if (ret)
> 67e17300dc1d760 Matt Ranostay 2016-09-24 360 goto error_unreg_trigger;
> 67e17300dc1d760 Matt Ranostay 2016-09-24 361
> 67e17300dc1d760 Matt Ranostay 2016-09-24 362 data->adc_chan = iio_channel_cb_get_channels(data->cb_buffer);
> 67e17300dc1d760 Matt Ranostay 2016-09-24 363
> 67e17300dc1d760 Matt Ranostay 2016-09-24 364 ret = iio_device_register(indio_dev);
> 67e17300dc1d760 Matt Ranostay 2016-09-24 365 if (ret)
> 67e17300dc1d760 Matt Ranostay 2016-09-24 366 goto error_unreg_cb_buffer;
> 67e17300dc1d760 Matt Ranostay 2016-09-24 367
> 67e17300dc1d760 Matt Ranostay 2016-09-24 368 return 0;
> 67e17300dc1d760 Matt Ranostay 2016-09-24 369
> 67e17300dc1d760 Matt Ranostay 2016-09-24 370 error_unreg_cb_buffer:
> 67e17300dc1d760 Matt Ranostay 2016-09-24 371 iio_channel_release_all_cb(data->cb_buffer);
> 67e17300dc1d760 Matt Ranostay 2016-09-24 372
> 67e17300dc1d760 Matt Ranostay 2016-09-24 373 error_unreg_trigger:
> 67e17300dc1d760 Matt Ranostay 2016-09-24 374 iio_trigger_unregister(data->trig);
> 67e17300dc1d760 Matt Ranostay 2016-09-24 375
> 82764dcb3643c70 Salah Triki 2026-05-07 376 error_unreg_buffer:
> 82764dcb3643c70 Salah Triki 2026-05-07 377 iio_triggered_buffer_cleanup(indio_dev);
> 82764dcb3643c70 Salah Triki 2026-05-07 378
> 67e17300dc1d760 Matt Ranostay 2016-09-24 379 return ret;
> 67e17300dc1d760 Matt Ranostay 2016-09-24 380 }
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-05-13 9:48 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-12 20:35 [jic23-iio:fixes-togreg 31/32] drivers/iio/potentiostat/lmp91000.c:353 lmp91000_probe() warn: missing unwind goto? kernel test robot
2026-05-13 7:02 ` Dan Carpenter
2026-05-13 9:48 ` Jonathan Cameron
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.