[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 12/30] hw/char/sh_serial: Split off sh_serial_reset() from sh_seri
From: |
Philippe Mathieu-Daudé |
Subject: |
[PULL 12/30] hw/char/sh_serial: Split off sh_serial_reset() from sh_serial_init() |
Date: |
Sat, 30 Oct 2021 19:05:57 +0200 |
From: BALATON Zoltan <balaton@eik.bme.hu>
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id:
<ffb46f2814794c8dfc2c5a0cf83086a7bd754e10.1635541329.git.balaton@eik.bme.hu>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
hw/char/sh_serial.c | 35 ++++++++++++++++++++---------------
1 file changed, 20 insertions(+), 15 deletions(-)
diff --git a/hw/char/sh_serial.c b/hw/char/sh_serial.c
index 5ee93dc732a..80a548d19d9 100644
--- a/hw/char/sh_serial.c
+++ b/hw/char/sh_serial.c
@@ -381,6 +381,25 @@ static const MemoryRegionOps sh_serial_ops = {
.endianness = DEVICE_NATIVE_ENDIAN,
};
+static void sh_serial_reset(SHSerialState *s)
+{
+ s->flags = SH_SERIAL_FLAG_TEND | SH_SERIAL_FLAG_TDE;
+ s->rtrg = 1;
+
+ s->smr = 0;
+ s->brr = 0xff;
+ s->scr = 1 << 5; /* pretend that TX is enabled so early printk works */
+ s->sptr = 0;
+
+ if (s->feat & SH_SERIAL_FEAT_SCIF) {
+ s->fcr = 0;
+ } else {
+ s->dr = 0xff;
+ }
+
+ sh_serial_clear_fifo(s);
+}
+
void sh_serial_init(MemoryRegion *sysmem,
hwaddr base, int feat,
uint32_t freq, Chardev *chr,
@@ -393,21 +412,7 @@ void sh_serial_init(MemoryRegion *sysmem,
SHSerialState *s = g_malloc0(sizeof(*s));
s->feat = feat;
- s->flags = SH_SERIAL_FLAG_TEND | SH_SERIAL_FLAG_TDE;
- s->rtrg = 1;
-
- s->smr = 0;
- s->brr = 0xff;
- s->scr = 1 << 5; /* pretend that TX is enabled so early printk works */
- s->sptr = 0;
-
- if (feat & SH_SERIAL_FEAT_SCIF) {
- s->fcr = 0;
- } else {
- s->dr = 0xff;
- }
-
- sh_serial_clear_fifo(s);
+ sh_serial_reset(s);
memory_region_init_io(&s->iomem, NULL, &sh_serial_ops, s,
"serial", 0x100000000ULL);
--
2.31.1
- [PULL 02/30] hw/sh4: Coding style: Fix multi-line comments, (continued)
- [PULL 02/30] hw/sh4: Coding style: Fix multi-line comments, Philippe Mathieu-Daudé, 2021/10/30
- [PULL 03/30] hw/sh4: Coding style: White space fixes, Philippe Mathieu-Daudé, 2021/10/30
- [PULL 04/30] hw/sh4: Coding style: Add missing braces, Philippe Mathieu-Daudé, 2021/10/30
- [PULL 05/30] hw/sh4: Coding style: Remove unnecessary casts, Philippe Mathieu-Daudé, 2021/10/30
- [PULL 06/30] hw/sh4: Fix typos in a comment, Philippe Mathieu-Daudé, 2021/10/30
- [PULL 07/30] hw/sh4: Change debug printfs to traces, Philippe Mathieu-Daudé, 2021/10/30
- [PULL 08/30] hw/sh4/r2d: Use error_report instead of fprintf to stderr, Philippe Mathieu-Daudé, 2021/10/30
- [PULL 09/30] hw/char/sh_serial: Do not abort on invalid access, Philippe Mathieu-Daudé, 2021/10/30
- [PULL 10/30] hw/char/sh_serial: Rename type sh_serial_state to SHSerialState, Philippe Mathieu-Daudé, 2021/10/30
- [PULL 11/30] hw/char/sh_serial: Embed QEMUTimer in state struct, Philippe Mathieu-Daudé, 2021/10/30
- [PULL 12/30] hw/char/sh_serial: Split off sh_serial_reset() from sh_serial_init(),
Philippe Mathieu-Daudé <=
- [PULL 13/30] hw/char/sh_serial: QOM-ify, Philippe Mathieu-Daudé, 2021/10/30
- [PULL 14/30] hw/char/sh_serial: Add device id to trace output, Philippe Mathieu-Daudé, 2021/10/30
- [PULL 15/30] hw/intc/sh_intc: Use existing macro instead of local one, Philippe Mathieu-Daudé, 2021/10/30
- [PULL 16/30] hw/intc/sh_intc: Turn some defines into an enum, Philippe Mathieu-Daudé, 2021/10/30
- [PULL 17/30] hw/intc/sh_intc: Rename iomem region, Philippe Mathieu-Daudé, 2021/10/30
- [PULL 18/30] hw/intc/sh_intc: Drop another useless macro, Philippe Mathieu-Daudé, 2021/10/30
- [PULL 19/30] hw/intc/sh_intc: Move sh_intc_register() closer to its only user, Philippe Mathieu-Daudé, 2021/10/30
- [PULL 20/30] hw/intc/sh_intc: Remove excessive parenthesis, Philippe Mathieu-Daudé, 2021/10/30
- [PULL 21/30] hw/intc/sh_intc: Use array index instead of pointer arithmetics, Philippe Mathieu-Daudé, 2021/10/30
- [PULL 22/30] hw/intc/sh_intc: Inline and drop sh_intc_source() function, Philippe Mathieu-Daudé, 2021/10/30