socfpga_dtreg: Ensure reg is initialised before use

In socfpga_dtreg_probe it is possible that if mask is 0 then reg will
not be assigned to before first use. Refactor the code slightly to
ensure that reg is always assigned to and remove a piece of duplicated
code.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
This commit is contained in:
Andrew Goodbody
2025-07-29 12:50:47 +01:00
committed by Tien Fong Chee
parent 344d785aba
commit 6e1cc5d861

View File

@@ -76,16 +76,15 @@ static int socfpga_dtreg_probe(struct udevice *dev)
return -EINVAL;
}
reg = base + offset;
if (mask != 0) {
if (mask == 0xffffffff) {
reg = base + offset;
writel(val, (uintptr_t)reg);
} else {
/* Mask the value with the masking bits */
set_mask = val & mask;
reg = base + offset;
/* Clears and sets specific bits in the register */
clrsetbits_le32((uintptr_t)reg, mask, set_mask);
}