Skip to content
Snippets Groups Projects
fdt_select.py 905 B
Newer Older
  • Learn to ignore specific revisions
  • #!/usr/bin/python
    #
    # Copyright (C) 2016 Google, Inc
    # Written by Simon Glass <sjg@chromium.org>
    #
    # SPDX-License-Identifier:      GPL-2.0+
    #
    
    
    # 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.
    try:
    
        import fdt_normal
    
        have_libfdt = True
    except ImportError:
        have_libfdt = False
    
    
    force_fallback = False
    
    def FdtScan(fname, _force_fallback=False):
    
        """Returns a new Fdt object from the implementation we are using"""
    
        if have_libfdt and not force_fallback and not _force_fallback:
    
            dtb = fdt_normal.FdtNormal(fname)
        else:
            dtb = fdt_fallback.FdtFallback(fname)
    
    
    def UseFallback(fallback):
        global force_fallback
    
        old_val = force_fallback
        force_fallback = fallback
        return old_val