Replaces device_get_match_data() and fallback match_id logic by new
unified helper function i2c_get_match_data().
Signed-off-by: Angel Iglesias <ang.iglesiasg@gmail.com>
diff --git a/drivers/iio/pressure/bmp280-i2c.c b/drivers/iio/pressure/bmp280-i2c.c
index 693eb1975fdc..4ebaa4edc4fc 100644
--- a/drivers/iio/pressure/bmp280-i2c.c
+++ b/drivers/iio/pressure/bmp280-i2c.c
@@ -11,9 +11,9 @@ static int bmp280_i2c_probe(struct i2c_client *client)
const struct bmp280_chip_info *chip_info;
struct regmap *regmap;
- chip_info = device_get_match_data(&client->dev);
+ chip_info = i2c_get_match_data(client);
if (!chip_info)
- chip_info = (const struct bmp280_chip_info *) id->driver_data;
+ return -ENODEV;
regmap = devm_regmap_init_i2c(client, chip_info->regmap_config);
if (IS_ERR(regmap)) {
--
2.41.0
On Sun, Aug 06, 2023 at 01:15:03AM +0200, Angel Iglesias wrote: > Replaces device_get_match_data() and fallback match_id logic by new > unified helper function i2c_get_match_data(). > > Signed-off-by: Angel Iglesias <ang.iglesiasg@gmail.com> > > diff --git a/drivers/iio/pressure/bmp280-i2c.c b/drivers/iio/pressure/bmp280-i2c.c > index 693eb1975fdc..4ebaa4edc4fc 100644 > --- a/drivers/iio/pressure/bmp280-i2c.c > +++ b/drivers/iio/pressure/bmp280-i2c.c > @@ -11,9 +11,9 @@ static int bmp280_i2c_probe(struct i2c_client *client) > const struct bmp280_chip_info *chip_info; > struct regmap *regmap; > > - chip_info = device_get_match_data(&client->dev); > + chip_info = i2c_get_match_data(client); > if (!chip_info) > - chip_info = (const struct bmp280_chip_info *) id->driver_data; > + return -ENODEV; the old code assumed that chip_info isn't NULL (implicitly by dereferencing that pointer in the line below). I wouldn't change semantics in a patch converting to a helper and so just do: - chip_info = device_get_match_data(&client->dev); + chip_info = i2c_get_match_data(client); - if (!chip_info) - chip_info = (const struct bmp280_chip_info *) id->driver_data; or alternatively, if you think adding a check is a good idea, add an error message in the error path and mention the semantic change in the commit log. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | https://www.pengutronix.de/ |
On Sun, 2023-08-06 at 13:30 +0200, Uwe Kleine-König wrote: > On Sun, Aug 06, 2023 at 01:15:03AM +0200, Angel Iglesias wrote: > > Replaces device_get_match_data() and fallback match_id logic by new > > unified helper function i2c_get_match_data(). > > > > Signed-off-by: Angel Iglesias <ang.iglesiasg@gmail.com> > > > > diff --git a/drivers/iio/pressure/bmp280-i2c.c > > b/drivers/iio/pressure/bmp280-i2c.c > > index 693eb1975fdc..4ebaa4edc4fc 100644 > > --- a/drivers/iio/pressure/bmp280-i2c.c > > +++ b/drivers/iio/pressure/bmp280-i2c.c > > @@ -11,9 +11,9 @@ static int bmp280_i2c_probe(struct i2c_client *client) > > const struct bmp280_chip_info *chip_info; > > struct regmap *regmap; > > > > - chip_info = device_get_match_data(&client->dev); > > + chip_info = i2c_get_match_data(client); > > if (!chip_info) > > - chip_info = (const struct bmp280_chip_info *) id- > > >driver_data; > > + return -ENODEV; > > the old code assumed that chip_info isn't NULL (implicitly by > dereferencing that pointer in the line below). I wouldn't change > semantics in a patch converting to a helper and so just do: > > - chip_info = device_get_match_data(&client->dev); > + chip_info = i2c_get_match_data(client); > - if (!chip_info) > - chip_info = (const struct bmp280_chip_info *) id->driver_data; > > or alternatively, if you think adding a check is a good idea, add an > error message in the error path and mention the semantic change in the > commit log. > Oh I see. I didn't take into account all this. Thanks for your time > Best regards > Uwe > Kind regards Angel
© 2016 - 2025 Red Hat, Inc.