Hi, trix@xxxxxxxxxx wrote on Wed, 18 May 2022 09:47:47 -0400: > The clang build fails with > rtc-rzn1.c:291:3: error: variable 'val' is uninitialized when used here [-Werror,-Wuninitialized] > val |= RZN1_RTC_SUBU_DEV; > ^~~ > > The val variable in rzn1_rtc_set_offset() is never initialized so > the series of |= operations in the function will start with a > garbage value. So initialize val to 0. > > Fixes: be4a11cf98af ("rtc: rzn1: Add oscillator offset support") > Signed-off-by: Tom Rix <trix@xxxxxxxxxx> > --- > drivers/rtc/rtc-rzn1.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/rtc/rtc-rzn1.c b/drivers/rtc/rtc-rzn1.c > index 980ade8c9601..0b4bf6e43464 100644 > --- a/drivers/rtc/rtc-rzn1.c > +++ b/drivers/rtc/rtc-rzn1.c > @@ -272,7 +272,7 @@ static int rzn1_rtc_set_offset(struct device *dev, long offset) > struct rzn1_rtc *rtc = dev_get_drvdata(dev); > unsigned int steps; > int stepsh, stepsl; > - u32 val; > + u32 val = 0; Actually reviewing this makes me realize I mixed two variables together: - val here and below should be renamed to something like "subu" or and indeed initialized to 0 here. - a "ctl2" u32 should be introduced and be used instead of "val" in the readl_poll_timeout() call. Thanks, Miquèl