]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
hw/intc/aspeed_intc: convert to use Resettable interface
authorKane Chen <kane_chen@aspeedtech.com>
Mon, 25 May 2026 04:41:54 +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-17-kane_chen@aspeedtech.com
Signed-off-by: Cédric Le Goater <clg@redhat.com>
hw/intc/aspeed_intc.c

index 52f2f946d59e78a5a1c6daed6723b224a0f79c2f..3892809430914d83d4147c3fd0698aeabd3fb773 100644 (file)
@@ -692,9 +692,9 @@ static void aspeed_intc_instance_init(Object *obj)
     }
 }
 
-static void aspeed_intc_reset(DeviceState *dev)
+static void aspeed_intc_reset_hold(Object *obj, ResetType type)
 {
-    AspeedINTCState *s = ASPEED_INTC(dev);
+    AspeedINTCState *s = ASPEED_INTC(obj);
     AspeedINTCClass *aic = ASPEED_INTC_GET_CLASS(s);
 
     memset(s->regs, 0, aic->nr_regs << 2);
@@ -746,12 +746,13 @@ static void aspeed_intc_unrealize(DeviceState *dev)
 static void aspeed_intc_class_init(ObjectClass *klass, const void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
+    ResettableClass *rc = RESETTABLE_CLASS(klass);
     AspeedINTCClass *aic = ASPEED_INTC_CLASS(klass);
 
     dc->desc = "ASPEED INTC Controller";
     dc->realize = aspeed_intc_realize;
     dc->unrealize = aspeed_intc_unrealize;
-    device_class_set_legacy_reset(dc, aspeed_intc_reset);
+    rc->phases.hold = aspeed_intc_reset_hold;
     dc->vmsd = NULL;
 
     aic->reg_ops = &aspeed_intc_ops;