From: Simon Glass Date: Sat, 18 May 2019 04:00:38 +0000 (-0600) Subject: dtoc: Convert the Fdt.Node class to Python 3 X-Git-Tag: v2019.10-rc1~32^2~46 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=635180538ecb7c0b109089830ff734d3d002376a;p=oweals%2Fu-boot.git dtoc: Convert the Fdt.Node class to Python 3 Update this class to work correctly on Python 3 and to pass its unit tests. The only required change is to deal with a difference in the behaviour of sorting with a None value. Signed-off-by: Simon Glass --- diff --git a/tools/dtoc/fdt.py b/tools/dtoc/fdt.py index 2b2470c314..d9471c4381 100644 --- a/tools/dtoc/fdt.py +++ b/tools/dtoc/fdt.py @@ -465,8 +465,11 @@ class Node: # Sync properties now, whose offsets should not have been disturbed. # We do this after subnodes, since this disturbs the offsets of these - # properties. - prop_list = sorted(self.props.values(), key=lambda prop: prop._offset, + # properties. Note that new properties will have an offset of None here, + # which Python 3 cannot sort against int. So use a large value instead + # to ensure that the new properties are added first. + prop_list = sorted(self.props.values(), + key=lambda prop: prop._offset or 1 << 31, reverse=True) for prop in prop_list: prop.Sync(auto_resize)