Message ID | b3483bd87093d4cd0862904b70a167ebbb538644.1691276610.git.ang.iglesiasg@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | iio: pressure: bmp280: Use i2c_get_match_data() | expand |
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
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
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)) {
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>