[PATCH 2/2] dtc: libfdt: Introduce a can_assume check in fdt_check_full
Rasmus Villemoes
rv at rasmusvillemoes.dk
Wed May 27 11:49:28 CEST 2026
On Tue, May 26 2026, Tom Rini <trini at konsulko.com> 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 <trini at konsulko.com>
> ---
> 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
More information about the U-Boot
mailing list