aboutsummaryrefslogtreecommitdiff
path: root/hw/rtc
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé <philmd@linaro.org>2023-02-11 00:17:51 +0100
committerPhilippe Mathieu-Daudé <philmd@linaro.org>2023-02-27 22:29:02 +0100
commit55c86cb8038d8a2db792712fd27b4f486ee09c7a (patch)
treefcc9898d619d4eb0e85adc592d97043f9e406ed9 /hw/rtc
parent8df7129790896ffde2f9cb1005a0ac8cf1005280 (diff)
downloadqemu-55c86cb8038d8a2db792712fd27b4f486ee09c7a.zip
qemu-55c86cb8038d8a2db792712fd27b4f486ee09c7a.tar.gz
qemu-55c86cb8038d8a2db792712fd27b4f486ee09c7a.tar.bz2
hw/rtc/mc146818rtc: Pass MC146818RtcState instead of ISADevice argument
rtc_get_memory() and rtc_set_memory() methods can not take any TYPE_ISA_DEVICE object. They expect a TYPE_MC146818_RTC one. Simplify the API by passing a MC146818RtcState. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230210233116.80311-3-philmd@linaro.org>
Diffstat (limited to 'hw/rtc')
-rw-r--r--hw/rtc/mc146818rtc.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/hw/rtc/mc146818rtc.c b/hw/rtc/mc146818rtc.c
index c285a53..b4d7777 100644
--- a/hw/rtc/mc146818rtc.c
+++ b/hw/rtc/mc146818rtc.c
@@ -739,16 +739,14 @@ static uint64_t cmos_ioport_read(void *opaque, hwaddr addr,
}
}
-void rtc_set_memory(ISADevice *dev, int addr, int val)
+void rtc_set_memory(MC146818RtcState *s, int addr, int val)
{
- MC146818RtcState *s = MC146818_RTC(dev);
if (addr >= 0 && addr <= 127)
s->cmos_data[addr] = val;
}
-int rtc_get_memory(ISADevice *dev, int addr)
+int rtc_get_memory(MC146818RtcState *s, int addr)
{
- MC146818RtcState *s = MC146818_RTC(dev);
assert(addr >= 0 && addr <= 127);
return s->cmos_data[addr];
}
@@ -859,7 +857,7 @@ static void rtc_notify_suspend(Notifier *notifier, void *data)
{
MC146818RtcState *s = container_of(notifier, MC146818RtcState,
suspend_notifier);
- rtc_set_memory(ISA_DEVICE(s), 0xF, 0xFE);
+ rtc_set_memory(s, 0xF, 0xFE);
}
static const MemoryRegionOps cmos_ops = {
@@ -946,7 +944,8 @@ static void rtc_realizefn(DeviceState *dev, Error **errp)
QLIST_INSERT_HEAD(&rtc_devices, s, link);
}
-ISADevice *mc146818_rtc_init(ISABus *bus, int base_year, qemu_irq intercept_irq)
+MC146818RtcState *mc146818_rtc_init(ISABus *bus, int base_year,
+ qemu_irq intercept_irq)
{
DeviceState *dev;
ISADevice *isadev;
@@ -966,7 +965,7 @@ ISADevice *mc146818_rtc_init(ISABus *bus, int base_year, qemu_irq intercept_irq)
object_property_add_alias(qdev_get_machine(), "rtc-time", OBJECT(isadev),
"date");
- return isadev;
+ return s;
}
static Property mc146818rtc_properties[] = {