From: Mark Cave-Ayland Date: Fri, 3 Sep 2021 11:32:22 +0000 (+0100) Subject: escc: re-use escc_reset_chn() for soft reset X-Git-Tag: v6.2.0-rc0~110^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=99b0f0584132d942547046bc064478db5bcbe7c5;p=thirdparty%2Fqemu.git escc: re-use escc_reset_chn() for soft reset This removes duplication of the internal device state initialisation between device reset and soft reset. Signed-off-by: Mark Cave-Ayland Reviewed-by: Peter Maydell Message-Id: <20210903113223.19551-9-mark.cave-ayland@ilande.co.uk> Signed-off-by: Mark Cave-Ayland --- diff --git a/hw/char/escc.c b/hw/char/escc.c index 22c97414a15..9283ed70a6b 100644 --- a/hw/char/escc.c +++ b/hw/char/escc.c @@ -288,7 +288,8 @@ static void escc_reset_chn(ESCCChannelState *s) static void escc_soft_reset_chn(ESCCChannelState *s) { - s->reg = 0; + escc_reset_chn(s); + s->wregs[W_CMD] = 0; s->wregs[W_INTR] &= INTR_PAR_SPEC | INTR_WTRQ_TXRX; s->wregs[W_RXCTRL] &= ~RXCTRL_RXEN; @@ -314,12 +315,6 @@ static void escc_soft_reset_chn(ESCCChannelState *s) s->rregs[R_SPEC] |= SPEC_BITS8; s->rregs[R_INTR] = 0; s->rregs[R_MISC] &= MISC_2CLKMISS; - - s->rx = s->tx = 0; - s->rxint = s->txint = 0; - s->rxint_under_svc = s->txint_under_svc = 0; - s->e0_mode = s->led_mode = s->caps_lock_mode = s->num_lock_mode = 0; - clear_queue(s); } static void escc_hard_reset_chn(ESCCChannelState *s)