All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.