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