|
@@ -116,21 +116,6 @@ def get_compat_name(node):
|
|
|
compat, aliases = compat[0], compat[1:]
|
|
|
return conv_name_to_c(compat), [conv_name_to_c(a) for a in aliases]
|
|
|
|
|
|
-def is_phandle(prop):
|
|
|
- """Check if a node contains phandles
|
|
|
-
|
|
|
- We have no reliable way of detecting whether a node uses a phandle
|
|
|
- or not. As an interim measure, use a list of known property names.
|
|
|
-
|
|
|
- Args:
|
|
|
- prop: Prop object to check
|
|
|
- Return:
|
|
|
- True if the object value contains phandles, else False
|
|
|
- """
|
|
|
- if prop.name in ['clocks']:
|
|
|
- return True
|
|
|
- return False
|
|
|
-
|
|
|
|
|
|
class DtbPlatdata(object):
|
|
|
"""Provide a means to convert device tree binary data to platform data
|
|
@@ -196,6 +181,21 @@ class DtbPlatdata(object):
|
|
|
self._lines = []
|
|
|
return lines
|
|
|
|
|
|
+ def is_phandle(self, prop):
|
|
|
+ """Check if a node contains phandles
|
|
|
+
|
|
|
+ We have no reliable way of detecting whether a node uses a phandle
|
|
|
+ or not. As an interim measure, use a list of known property names.
|
|
|
+
|
|
|
+ Args:
|
|
|
+ prop: Prop object to check
|
|
|
+ Return:
|
|
|
+ True if the object value contains phandles, else False
|
|
|
+ """
|
|
|
+ if prop.name in ['clocks']:
|
|
|
+ return True
|
|
|
+ return False
|
|
|
+
|
|
|
def scan_dtb(self):
|
|
|
"""Scan the device tree to obtain a tree of nodes and properties
|
|
|
|
|
@@ -359,7 +359,7 @@ class DtbPlatdata(object):
|
|
|
if pname in PROP_IGNORE_LIST or pname[0] == '#':
|
|
|
continue
|
|
|
if isinstance(prop.value, list):
|
|
|
- if is_phandle(prop):
|
|
|
+ if self.is_phandle(prop):
|
|
|
# Process the list as pairs of (phandle, id)
|
|
|
value_it = iter(prop.value)
|
|
|
for phandle_cell, _ in zip(value_it, value_it):
|
|
@@ -383,7 +383,7 @@ class DtbPlatdata(object):
|
|
|
self.out('struct %s%s {\n' % (STRUCT_PREFIX, name))
|
|
|
for pname in sorted(structs[name]):
|
|
|
prop = structs[name][pname]
|
|
|
- if is_phandle(prop):
|
|
|
+ if self.is_phandle(prop):
|
|
|
# For phandles, include a reference to the target
|
|
|
self.out('\t%s%s[%d]' % (tab_to(2, 'struct phandle_2_cell'),
|
|
|
conv_name_to_c(prop.name),
|
|
@@ -423,7 +423,7 @@ class DtbPlatdata(object):
|
|
|
vals = []
|
|
|
# For phandles, output a reference to the platform data
|
|
|
# of the target node.
|
|
|
- if is_phandle(prop):
|
|
|
+ if self.is_phandle(prop):
|
|
|
# Process the list as pairs of (phandle, id)
|
|
|
value_it = iter(prop.value)
|
|
|
for phandle_cell, id_cell in zip(value_it, value_it):
|