diff options
author | Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> | 2021-08-30 11:24:42 +0100 |
---|---|---|
committer | Laurent Vivier <laurent@vivier.eu> | 2021-09-08 15:37:40 +0200 |
commit | 14562b375b82584bde32a77b0ce02c93de903bcb (patch) | |
tree | 6c1e2b7b4ce8486891854b6ceae0b50200ea7936 /hw/misc | |
parent | 84e944b2afba1e4e2a40619516ac2ea2996671d4 (diff) |
mac_via: move VIA1 reset logic from mac_via_reset() to mos6522_q800_via1_reset()
After this change mac_via_reset() is now empty and can be removed.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20210830102447.10806-8-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Diffstat (limited to 'hw/misc')
-rw-r--r-- | hw/misc/mac_via.c | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/hw/misc/mac_via.c b/hw/misc/mac_via.c index 47e221dd88..a2df17d9be 100644 --- a/hw/misc/mac_via.c +++ b/hw/misc/mac_via.c @@ -945,18 +945,6 @@ static const MemoryRegionOps mos6522_q800_via2_ops = { }, }; -static void mac_via_reset(DeviceState *dev) -{ - MacVIAState *m = MAC_VIA(dev); - MOS6522Q800VIA1State *v1s = &m->mos6522_via1; - ADBBusState *adb_bus = &v1s->adb_bus; - - adb_set_autopoll_enabled(adb_bus, true); - - v1s->cmd = REG_EMPTY; - v1s->alt = REG_EMPTY; -} - static void mac_via_realize(DeviceState *dev, Error **errp) { MacVIAState *m = MAC_VIA(dev); @@ -1072,7 +1060,6 @@ static void mac_via_class_init(ObjectClass *oc, void *data) DeviceClass *dc = DEVICE_CLASS(oc); dc->realize = mac_via_realize; - dc->reset = mac_via_reset; } static TypeInfo mac_via_info = { @@ -1086,8 +1073,10 @@ static TypeInfo mac_via_info = { /* VIA 1 */ static void mos6522_q800_via1_reset(DeviceState *dev) { - MOS6522State *ms = MOS6522(dev); + MOS6522Q800VIA1State *v1s = MOS6522_Q800_VIA1(dev); + MOS6522State *ms = MOS6522(v1s); MOS6522DeviceClass *mdc = MOS6522_GET_CLASS(ms); + ADBBusState *adb_bus = &v1s->adb_bus; mdc->parent_reset(dev); @@ -1095,6 +1084,11 @@ static void mos6522_q800_via1_reset(DeviceState *dev) ms->timers[1].frequency = VIA_TIMER_FREQ; ms->b = VIA1B_vADB_StateMask | VIA1B_vADBInt | VIA1B_vRTCEnb; + + /* ADB/RTC */ + adb_set_autopoll_enabled(adb_bus, true); + v1s->cmd = REG_EMPTY; + v1s->alt = REG_EMPTY; } static void mos6522_q800_via1_init(Object *obj) |