Commit 3cb44ba8 authored by Simon Glass's avatar Simon Glass Committed by sjg

dtoc: Add a way for tests to request the fallback library

We need to test both the normal (Python libfdt module) and fallback (fdtget)
implementations of the Fdt class. Add a way to select which implementation
to use.
Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
parent 8828254c
......@@ -6,6 +6,8 @@
# SPDX-License-Identifier: GPL-2.0+
#
import fdt_fallback
# Bring in either the normal fdt library (which relies on libfdt) or the
# fallback one (which uses fdtget and is slower). Both provide the same
# interface for this file to use.
......@@ -14,13 +16,21 @@ try:
have_libfdt = True
except ImportError:
have_libfdt = False
import fdt_fallback
def FdtScan(fname):
force_fallback = False
def FdtScan(fname, _force_fallback=False):
"""Returns a new Fdt object from the implementation we are using"""
if have_libfdt:
if have_libfdt and not force_fallback and not _force_fallback:
dtb = fdt_normal.FdtNormal(fname)
else:
dtb = fdt_fallback.FdtFallback(fname)
dtb.Scan()
return dtb
def UseFallback(fallback):
global force_fallback
old_val = force_fallback
force_fallback = fallback
return old_val
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment