Hi, On 5/29/24 5:14 PM, Sakari Ailus wrote: > Always assign *val to 0 in cci_read(). This has the benefit of not > requiring initialisation of the variables data is read to using > cci_read(). Once smatch is fixed, it could catch the use of uninitialised > reads. > > Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > Tested-by: Benjamin Mugnier <benjamin.mugnier@xxxxxxxxxxx> Thanks, patch looks good to me: Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Regards, Hans > --- > drivers/media/v4l2-core/v4l2-cci.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/media/v4l2-core/v4l2-cci.c b/drivers/media/v4l2-core/v4l2-cci.c > index ee3475bed37f..1ff94affbaf3 100644 > --- a/drivers/media/v4l2-core/v4l2-cci.c > +++ b/drivers/media/v4l2-core/v4l2-cci.c > @@ -23,6 +23,15 @@ int cci_read(struct regmap *map, u32 reg, u64 *val, int *err) > u8 buf[8]; > int ret; > > + /* > + * TODO: Fix smatch. Assign *val to 0 here in order to avoid > + * failing a smatch check on caller when the caller proceeds to > + * read *val without initialising it on caller's side. *val is set > + * to a valid value whenever this function returns 0 but smatch > + * can't figure that out currently. > + */ > + *val = 0; > + > if (err && *err) > return *err; >