@samitouri / QOSamiQemu / commits / b808edd60c

hw/intc/aspeed_intc: convert to use Resettable interface

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>

Kane Chen committed May 25, 2026 at 04:41 UTC b808edd60c5cd4c6dc2e18973a426cd145d020cb
1 file changed +4 -3
hw/intc/aspeed_intc.c
+4 -3
@@ -692,9 +692,9 @@ static void aspeed_intc_instance_init(Object *obj)
692 }
693 }
694
695 -static void aspeed_intc_reset(DeviceState *dev)
695 +static void aspeed_intc_reset_hold(Object *obj, ResetType type)
696 {
697 - AspeedINTCState *s = ASPEED_INTC(dev);
697 + AspeedINTCState *s = ASPEED_INTC(obj);
698 AspeedINTCClass *aic = ASPEED_INTC_GET_CLASS(s);
699
700 memset(s->regs, 0, aic->nr_regs << 2);
@@ -746,12 +746,13 @@ static void aspeed_intc_unrealize(DeviceState *dev)
746 static void aspeed_intc_class_init(ObjectClass *klass, const void *data)
747 {
748 DeviceClass *dc = DEVICE_CLASS(klass);
749 + ResettableClass *rc = RESETTABLE_CLASS(klass);
750 AspeedINTCClass *aic = ASPEED_INTC_CLASS(klass);
751
752 dc->desc = "ASPEED INTC Controller";
753 dc->realize = aspeed_intc_realize;
754 dc->unrealize = aspeed_intc_unrealize;
754 - device_class_set_legacy_reset(dc, aspeed_intc_reset);
755 + rc->phases.hold = aspeed_intc_reset_hold;
756 dc->vmsd = NULL;
757
758 aic->reg_ops = &aspeed_intc_ops;