Re: [PATCH v2 4/6] iio: adc: ti-ads1015: use local device pointer in probe
Jonathan Cameron <[email protected]> Sat, 1 Aug 2026 19:32:33 +0100
| Newsgroups | org.kernel.vger.linux-iio,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <20260801193233.69de4f35@jic23-huawei> |
On Tue, 28 Jul 2026 00:51:00 +0530 Archit Anant <[email protected]> wrote: > Introduce a local device pointer 'dev' in ads1015_probe to > avoid accessing &client->dev repeatedly. > > Signed-off-by: Archit Anant <[email protected]> Hi Archit, To avoid churn in the series this should be done slightly different. See below but in short it is a case of not updating everything in this patch given you are going to touch the same code in the next one. > --- > drivers/iio/adc/ti-ads1015.c | 27 ++++++++++++++------------- > 1 file changed, 14 insertions(+), 13 deletions(-) > > diff --git a/drivers/iio/adc/ti-ads1015.c b/drivers/iio/adc/ti-ads1015.c > index 293fdd49381f..59ce2f89daeb 100644 > --- a/drivers/iio/adc/ti-ads1015.c > +++ b/drivers/iio/adc/ti-ads1015.c > @@ -933,6 +933,7 @@ static int ads1015_set_conv_mode(struct ads1015_data *data, int mode) > static int ads1015_probe(struct i2c_client *client) > { > const struct ads1015_chip_data *chip; > + struct device *dev = &client->dev; > struct iio_dev *indio_dev; > struct ads1015_data *data; > int ret; > @@ -940,9 +941,9 @@ static int ads1015_probe(struct i2c_client *client) > > chip = i2c_get_match_data(client); > if (!chip) > - return dev_err_probe(&client->dev, -EINVAL, "Unknown chip\n"); > + return dev_err_probe(dev, -EINVAL, "Unknown chip\n"); > > - indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data)); > + indio_dev = devm_iio_device_alloc(dev, sizeof(*data)); > if (!indio_dev) > return -ENOMEM; > > @@ -978,15 +979,15 @@ static int ads1015_probe(struct i2c_client *client) > &ads1015_regmap_config : > &tla2024_regmap_config); > if (IS_ERR(data->regmap)) { > - dev_err(&client->dev, "Failed to allocate register map\n"); > + dev_err(dev, "Failed to allocate register map\n"); > return PTR_ERR(data->regmap); Leave updating this one for next patch (and ignore sashiko if it complains ;) > } > > - ret = devm_iio_triggered_buffer_setup(&client->dev, indio_dev, NULL, > + ret = devm_iio_triggered_buffer_setup(dev, indio_dev, NULL, > ads1015_trigger_handler, > &ads1015_buffer_setup_ops); > if (ret < 0) { > - dev_err(&client->dev, "iio triggered buffer setup failed\n"); > + dev_err(dev, "iio triggered buffer setup failed\n"); Likewise, do this as part of der_err_probe() > return ret; > } > > @@ -1018,7 +1019,7 @@ static int ads1015_probe(struct i2c_client *client) > if (ret) > return ret; > > - ret = devm_request_threaded_irq(&client->dev, client->irq, > + ret = devm_request_threaded_irq(dev, client->irq, > NULL, ads1015_event_handler, > irq_trig | IRQF_ONESHOT, > client->name, indio_dev); > @@ -1032,18 +1033,18 @@ static int ads1015_probe(struct i2c_client *client) > > data->conv_invalid = true; > > - ret = pm_runtime_set_active(&client->dev); > + ret = pm_runtime_set_active(dev); > if (ret) > return ret; > - pm_runtime_set_autosuspend_delay(&client->dev, ADS1015_SLEEP_DELAY_MS); > - pm_runtime_use_autosuspend(&client->dev); > - pm_runtime_enable(&client->dev); > + pm_runtime_set_autosuspend_delay(dev, ADS1015_SLEEP_DELAY_MS); > + pm_runtime_use_autosuspend(dev); > + pm_runtime_enable(dev); > > ret = iio_device_register(indio_dev); > if (ret < 0) { > - dev_err(&client->dev, "Failed to register IIO device\n"); > - pm_runtime_disable(&client->dev); > - pm_runtime_set_suspended(&client->dev); > + dev_err(dev, "Failed to register IIO device\n"); Leave this one for dev_err_probe() patch. Just this line not the ones around it. > + pm_runtime_disable(dev); > + pm_runtime_set_suspended(dev); > return ret; > } >