]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
hw/timer/aspeed_timer: convert to use Resettable interface
authorKane Chen <kane_chen@aspeedtech.com>
Mon, 25 May 2026 04:41:47 +0000 (04:41 +0000)
committerCédric Le Goater <clg@redhat.com>
Tue, 26 May 2026 06:56:48 +0000 (08:56 +0200)
Replace the legacy reset callback registered via
device_class_set_legacy_reset() with the Resettable interface.

Signed-off-by: Kane Chen <kane_chen@aspeedtech.com>
Reviewed-by: Jamin Lin <jamin_lin@aspeedtech.com>
Link: https://lore.kernel.org/qemu-devel/20260525044129.3133916-12-kane_chen@aspeedtech.com
Signed-off-by: Cédric Le Goater <clg@redhat.com>
hw/timer/aspeed_timer.c

index 1e954f7aec5c8df3383adf9498b1cfb613b3e7fd..69f5c89215c51657fbb420559f584097eaa86529 100644 (file)
@@ -834,10 +834,10 @@ static void aspeed_timer_realize(DeviceState *dev, Error **errp)
     sysbus_init_mmio(sbd, &s->iomem);
 }
 
-static void aspeed_timer_reset(DeviceState *dev)
+static void aspeed_timer_reset_hold(Object *obj, ResetType type)
 {
     int i;
-    AspeedTimerCtrlState *s = ASPEED_TIMER(dev);
+    AspeedTimerCtrlState *s = ASPEED_TIMER(obj);
 
     for (i = 0; i < ASPEED_TIMER_NR_TIMERS; i++) {
         AspeedTimer *t = &s->timers[i];
@@ -898,9 +898,10 @@ static const Property aspeed_timer_properties[] = {
 static void timer_class_init(ObjectClass *klass, const void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
+    ResettableClass *rc = RESETTABLE_CLASS(klass);
 
     dc->realize = aspeed_timer_realize;
-    device_class_set_legacy_reset(dc, aspeed_timer_reset);
+    rc->phases.hold = aspeed_timer_reset_hold;
     dc->desc = "ASPEED Timer";
     dc->vmsd = &vmstate_aspeed_timer_state;
     device_class_set_props(dc, aspeed_timer_properties);