import fdt
from fdt import Fdt, NodeBase, PropBase
import fdt_util
-try:
- import libfdt
- legacy = False
-except ImportError:
- import libfdt_legacy as libfdt
- legacy = True
+import libfdt
# This deals with a device tree, presenting it as a list of Node and Prop
offset = libfdt.fdt_first_subnode(self._fdt.GetFdt(), self.Offset())
while offset >= 0:
sep = '' if self.path[-1] == '/' else '/'
- if legacy:
- name = libfdt.Name(self._fdt.GetFdt(), offset)
- else:
- name = self._fdt._fdt_obj.get_name(offset)
+ name = self._fdt._fdt_obj.get_name(offset)
path = self.path + sep + name
node = Node(self._fdt, offset, name, path)
self.subnodes.append(node)
with open(self._fname) as fd:
self._fdt = bytearray(fd.read())
- if not legacy:
- self._fdt_obj = libfdt.Fdt(self._fdt)
+ self._fdt_obj = libfdt.Fdt(self._fdt)
def GetFdt(self):
"""Get the contents of the FDT
props_dict = {}
poffset = libfdt.fdt_first_property_offset(self._fdt, node._offset)
while poffset >= 0:
- if legacy:
- dprop, plen = libfdt.fdt_get_property_by_offset(self._fdt,
- poffset)
- prop = Prop(node, poffset,
- libfdt.String(self._fdt, dprop.nameoff),
- libfdt.Data(dprop))
- else:
- p = self._fdt_obj.get_property_by_offset(poffset)
- prop = Prop(node, poffset, p.name, p.value)
- props_dict[prop.name] = prop
-
- poffset = libfdt.fdt_next_property_offset(self._fdt, poffset)
+ p = self._fdt_obj.get_property_by_offset(poffset)
+ prop = Prop(node, poffset, p.name, p.value)
+ props_dict[prop.name] = prop
+
+ poffset = libfdt.fdt_next_property_offset(self._fdt, poffset)
return props_dict
def Invalidate(self):