rtc: i2c_rtc_emul: catch any write to the "reset" register

It's more natural that any write that happens to touch the reset
register should cause a reset, rather than just a write that starts at
that offset.

Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heiko Schocher <hs@denx.de>
Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
This commit is contained in:
Rasmus Villemoes 2020-07-06 22:01:17 +02:00 committed by Heiko Schocher
parent 9fb6a41cda
commit a3e36525a9

View File

@ -197,7 +197,8 @@ static int sandbox_i2c_rtc_xfer(struct udevice *emul, struct i2c_msg *msg,
/* Write the register */
memcpy(plat->reg + offset, ptr, len);
if (offset == REG_RESET)
/* If the reset register was written to, do reset. */
if (offset <= REG_RESET && REG_RESET < offset + len)
reset_time(emul);
}
}