mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-07-07 03:36:16 +09:00
dtoc: Move the fdt library selection into fdt_select
Rather than have dtc worry about which fdt library to use, move this into a helper file. Add a function which creates a new Fdt object and scans it, regardless of the implementation. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
5859311545
commit
ba48258566
|
@ -12,23 +12,12 @@ import os
|
||||||
import struct
|
import struct
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
import fdt_util
|
|
||||||
|
|
||||||
# Bring in the patman libraries
|
# Bring in the patman libraries
|
||||||
our_path = os.path.dirname(os.path.realpath(__file__))
|
our_path = os.path.dirname(os.path.realpath(__file__))
|
||||||
sys.path.append(os.path.join(our_path, '../patman'))
|
sys.path.append(os.path.join(our_path, '../patman'))
|
||||||
|
|
||||||
# Bring in either the normal fdt library (which relies on libfdt) or the
|
import fdt_select
|
||||||
# fallback one (which uses fdtget and is slower). Both provide the same
|
import fdt_util
|
||||||
# interfface for this file to use.
|
|
||||||
try:
|
|
||||||
from fdt import Fdt
|
|
||||||
import fdt
|
|
||||||
have_libfdt = True
|
|
||||||
except ImportError:
|
|
||||||
have_libfdt = False
|
|
||||||
from fdt_fallback import Fdt
|
|
||||||
import fdt_fallback as fdt
|
|
||||||
|
|
||||||
# When we see these properties we ignore them - i.e. do not create a structure member
|
# When we see these properties we ignore them - i.e. do not create a structure member
|
||||||
PROP_IGNORE_LIST = [
|
PROP_IGNORE_LIST = [
|
||||||
|
@ -177,8 +166,7 @@ class DtbPlatdata:
|
||||||
Once this is done, self.fdt.GetRoot() can be called to obtain the
|
Once this is done, self.fdt.GetRoot() can be called to obtain the
|
||||||
device tree root node, and progress from there.
|
device tree root node, and progress from there.
|
||||||
"""
|
"""
|
||||||
self.fdt = Fdt(self._dtb_fname)
|
self.fdt = fdt_select.FdtScan(self._dtb_fname)
|
||||||
self.fdt.Scan()
|
|
||||||
|
|
||||||
def ScanTree(self):
|
def ScanTree(self):
|
||||||
"""Scan the device tree for useful information
|
"""Scan the device tree for useful information
|
||||||
|
|
23
tools/dtoc/fdt_select.py
Normal file
23
tools/dtoc/fdt_select.py
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
#!/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
|
||||||
|
have_libfdt = True
|
||||||
|
except ImportError:
|
||||||
|
have_libfdt = False
|
||||||
|
import fdt_fallback as fdt
|
||||||
|
|
||||||
|
def FdtScan(fname):
|
||||||
|
"""Returns a new Fdt object from the implementation we are using"""
|
||||||
|
dtb = fdt.Fdt(fname)
|
||||||
|
dtb.Scan()
|
||||||
|
return dtb
|
Loading…
Reference in New Issue
Block a user