Change header generation script to produce function-like #define macros for single-bit fields, too.

This commit is contained in:
Jared Boone 2012-10-11 20:41:13 -07:00 committed by Piotr Esden-Tempski
parent b1e5c77e1d
commit e9eacc60ac

View File

@ -40,15 +40,10 @@ for register_name, register in registers.iteritems():
print('#define %s_%s_SHIFT (%d)' % (
register_name, field_name, field['lsb'],
))
if mask_bits > 1:
print('#define %s_%s_MASK (0x%x << %s_%s_SHIFT)' % (
register_name, field_name, mask_bits, register_name, field_name,
))
print('#define %s_%s(x) ((x) << %s_%s_SHIFT)' % (
register_name, field_name, register_name, field_name,
))
else:
print('#define %s_%s (1 << %s_%s_SHIFT)' % (
register_name, field_name, register_name, field_name,
))
print('#define %s_%s_MASK (0x%x << %s_%s_SHIFT)' % (
register_name, field_name, mask_bits, register_name, field_name,
))
print('#define %s_%s(x) ((x) << %s_%s_SHIFT)' % (
register_name, field_name, register_name, field_name,
))
print