@ -211,15 +211,21 @@ class DtbPlatdata(object):
Number of argument cells is this is a phandle , else None
"""
if prop . name in [ ' clocks ' ] :
if not isinstance ( prop . value , list ) :
prop . value = [ prop . value ]
val = prop . value
if not isinstance ( val , list ) :
val = [ val ]
i = 0
max_args = 0
args = [ ]
while i < len ( val ) :
phandle = fdt_util . fdt32_to_cpu ( val [ i ] )
# If we get to the end of the list, stop. This can happen
# since some nodes have more phandles in the list than others,
# but we allocate enough space for the largest list. So those
# nodes with shorter lists end up with zeroes at the end.
if not phandle :
break
target = self . _fdt . phandle_to_node . get ( phandle )
if not target :
raise ValueError ( " Cannot parse ' %s ' in node ' %s ' " %
@ -400,8 +406,6 @@ class DtbPlatdata(object):
continue
info = self . get_phandle_argc ( prop , node . name )
if info :
if not isinstance ( prop . value , list ) :
prop . value = [ prop . value ]
# Process the list as pairs of (phandle, id)
pos = 0
for args in info . args :