Re: [PATCH 2/2] iio: pressure: bmp280: Use i2c_get_match_data
From: Angel Iglesias
Date: Sat Aug 12 2023 - 11:48:33 EST
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@xxxxxxxxx>
> >
> > 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