Enforce specification of all register fields when writing them
Right now, the register.write_fields method sets unspecified fields to 0x0.
Suggest to replace this behaviour with a run-time check that fails if some methods are not specified.
This would probably go into corel_mmio/memmap/register.py
, at the method prepare_register_value
This stricter behaviour could prevent or at least run-time catch cases in which the non-specified fields are involuntarily set to zero.
Following example scenario: Someone adds some fields to a register but forgets to update all functions that update other fields in that register and then the new field is sometimes overwritten with 0x0. This just happened to me with a register: before I had only two fields so in the update functions I was only checking the other one, then I added a third field and all of the sudden all write_fields methods on that register would set the new field to 0x0