diff options
Diffstat (limited to 'doc2xml/radeonreg.py')
-rwxr-xr-x | doc2xml/radeonreg.py | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/doc2xml/radeonreg.py b/doc2xml/radeonreg.py index 18b6e5a..a7df640 100755 --- a/doc2xml/radeonreg.py +++ b/doc2xml/radeonreg.py @@ -307,16 +307,19 @@ def XMLGroup(regs, gname, prepend): for field in reg.fields: fstr = indent + ' <bitfield name="%s" high="%d" low="%d"' % (field.name, field.high, field.low) if field.enum != None: - print fstr + '>' - if field.desc != '': - print indent + ' <doc>%s</doc>' % XMLTags(field.desc) - - if enums[field.enum].refs == 1: - PrintEnum(field.enum, indent + ' ') + if enums[field.enum].refs > 1 and field.desc == '': + print fstr + '><use-enum ref="ENUM%d" /></bitfield>' % field.enum else: - print indent + ' <use-enum ref="ENUM%d" />' % field.enum + print fstr + '>' + if field.desc != '': + print indent + ' <doc>%s</doc>' % XMLTags(field.desc) + + if enums[field.enum].refs == 1: + PrintEnum(field.enum, indent + ' ') + else: + print indent + ' <use-enum ref="ENUM%d" />' % field.enum - print indent + ' </bitfield>' + print indent + ' </bitfield>' else: if field.desc != '': fstr += '><doc>%s</doc></bitfield>' % XMLTags(field.desc) |