On Sun, 6 Nov 2022 17:43:16 +0100 Angel Iglesias <ang.iglesiasg@xxxxxxxxx> wrote: > Use i2c_client_get_device_id() to get the i2c_device_id* parameter in the > .new_probe() callback. > > Signed-off-by: Angel Iglesias <ang.iglesiasg@xxxxxxxxx> > Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> I'm fine with Wolfram picking this up as an example of using the new code, or I can take it through IIO after merging Wolfram's immutable branch. So for option 1: Acked-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > > diff --git a/drivers/iio/pressure/bmp280-i2c.c b/drivers/iio/pressure/bmp280-i2c.c > index 0c27211f3ea0..14eab086d24a 100644 > --- a/drivers/iio/pressure/bmp280-i2c.c > +++ b/drivers/iio/pressure/bmp280-i2c.c > @@ -5,11 +5,11 @@ > > #include "bmp280.h" > > -static int bmp280_i2c_probe(struct i2c_client *client, > - const struct i2c_device_id *id) > +static int bmp280_i2c_probe(struct i2c_client *client) > { > struct regmap *regmap; > const struct regmap_config *regmap_config; > + const struct i2c_device_id *id = i2c_client_get_device_id(client); > > switch (id->driver_data) { > case BMP180_CHIP_ID: > @@ -65,7 +65,7 @@ static struct i2c_driver bmp280_i2c_driver = { > .of_match_table = bmp280_of_i2c_match, > .pm = pm_ptr(&bmp280_dev_pm_ops), > }, > - .probe = bmp280_i2c_probe, > + .probe_new = bmp280_i2c_probe, > .id_table = bmp280_i2c_id, > }; > module_i2c_driver(bmp280_i2c_driver);