On Tue, May 26 2026, Tom Rini <[email protected]> wrote: > The current upstream method of having a function omit various tests is > to use the can_assume macro. Take the logic we had previously been using > and instead make it a can_assume(PERFECT) check within fdt_check_full > itself. > > Signed-off-by: Tom Rini <[email protected]> > --- > I will be submitting this change upstream and will follow up if needed > here. > --- > scripts/dtc/libfdt/fdt_check.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/scripts/dtc/libfdt/fdt_check.c b/scripts/dtc/libfdt/fdt_check.c > index a21ebbc9239f..7509c11d8580 100644 > --- a/scripts/dtc/libfdt/fdt_check.c > +++ b/scripts/dtc/libfdt/fdt_check.c > @@ -21,6 +21,8 @@ int fdt_check_full(const void *fdt, size_t bufsize) > const char *propname; > bool expect_end = false; > > + if (can_assume(PERFECT)) > + return 0;
Is this right? I think that would require changing can_assume() to test if the given mask is a subset of FDT_ASSUME_MASK, not merely intersects it. When called with a single-bit mask, those are of course the same thing. Because as-is, can_assume(PERFECT) is true if FDT_ASSUME_MASK has any non-zero value, but I don't think FDT_ASSUME_MASK=ASSUME_LATEST, for example, should imply "perfect". Rasmus

