[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC PATCH 7/7] hw/misc/mac_via: Have VIA1 child access parent IRQ once
From: |
Philippe Mathieu-Daudé |
Subject: |
[RFC PATCH 7/7] hw/misc/mac_via: Have VIA1 child access parent IRQ once realized |
Date: |
Fri, 9 Feb 2024 13:32:25 +0100 |
We shouldn't call qdev_get_gpio_in() on unrealized devices.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
hw/misc/mac_via.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/hw/misc/mac_via.c b/hw/misc/mac_via.c
index db6142b5f4..67e51430bf 100644
--- a/hw/misc/mac_via.c
+++ b/hw/misc/mac_via.c
@@ -1246,7 +1246,6 @@ static void mos6522_q800_via1_realize(DeviceState *dev,
Error **errp)
v1s->tick_offset = (uint32_t)mktimegm(&tm) + RTC_OFFSET;
adb_register_autopoll_callback(adb_bus, adb_via_poll, v1s);
- v1s->adb_data_ready = qdev_get_gpio_in(dev, VIA1_IRQ_ADB_READY_BIT);
if (v1s->blk) {
int64_t len = blk_getlength(v1s->blk);
@@ -1270,6 +1269,13 @@ static void mos6522_q800_via1_realize(DeviceState *dev,
Error **errp)
}
}
+static void mos6522_q800_via1_wire(DeviceState *dev)
+{
+ MOS6522Q800VIA1State *v1s = MOS6522_Q800_VIA1(dev);
+
+ v1s->adb_data_ready = qdev_get_gpio_in(dev, VIA1_IRQ_ADB_READY_BIT);
+}
+
static void mos6522_q800_via1_init(Object *obj)
{
MOS6522Q800VIA1State *v1s = MOS6522_Q800_VIA1(obj);
@@ -1336,6 +1342,7 @@ static void mos6522_q800_via1_class_init(ObjectClass *oc,
void *data)
MOS6522DeviceClass *mdc = MOS6522_CLASS(oc);
dc->realize = mos6522_q800_via1_realize;
+ dc->wire = mos6522_q800_via1_wire;
resettable_class_set_parent_phases(rc, NULL, mos6522_q800_via1_reset_hold,
NULL, &mdc->parent_phases);
dc->vmsd = &vmstate_q800_via1;
--
2.41.0
- [RFC PATCH 0/7] hw/qdev: Split 'wiring' phase from 'realize', Philippe Mathieu-Daudé, 2024/02/09
- [RFC PATCH 1/7] hw/qdev: Introduce DeviceClass::[un]wire() handlers, Philippe Mathieu-Daudé, 2024/02/09
- [RFC PATCH 3/7] hw/ide/cmd646: Configure IDE bus IRQs after realization, Philippe Mathieu-Daudé, 2024/02/09
- [RFC PATCH 2/7] hw/input/pckbd: Connect i8042 GPIOs once mouse/keyboard are realized, Philippe Mathieu-Daudé, 2024/02/09
- [RFC PATCH 4/7] hw/ide/sii3112: Configure IDE bus IRQs after realization, Philippe Mathieu-Daudé, 2024/02/09
- [RFC PATCH 5/7] hw/ide/via: Configure IDE bus IRQs after realization, Philippe Mathieu-Daudé, 2024/02/09
- [RFC PATCH 6/7] hw/intc/mips_gic: Initialize IRQ array once device is realized, Philippe Mathieu-Daudé, 2024/02/09
- [RFC PATCH 7/7] hw/misc/mac_via: Have VIA1 child access parent IRQ once realized,
Philippe Mathieu-Daudé <=
- Re: [RFC PATCH 0/7] hw/qdev: Split 'wiring' phase from 'realize', BALATON Zoltan, 2024/02/09
- Re: [RFC PATCH 0/7] hw/qdev: Split 'wiring' phase from 'realize', Bernhard Beschow, 2024/02/09