@samitouri / QOSamiQemu / commits / 6c274e775c

hw/timer/aspeed_timer: 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-12-kane_chen@aspeedtech.com Signed-off-by: Cédric Le Goater <clg@redhat.com>

Kane Chen committed May 25, 2026 at 04:41 UTC 6c274e775c442b259c2d2ed4e8c68a5404762be9
1 file changed +4 -3
hw/timer/aspeed_timer.c
+4 -3
@@ -834,10 +834,10 @@ static void aspeed_timer_realize(DeviceState *dev, Error **errp)
834 sysbus_init_mmio(sbd, &s->iomem);
835 }
836
837 -static void aspeed_timer_reset(DeviceState *dev)
837 +static void aspeed_timer_reset_hold(Object *obj, ResetType type)
838 {
839 int i;
840 - AspeedTimerCtrlState *s = ASPEED_TIMER(dev);
840 + AspeedTimerCtrlState *s = ASPEED_TIMER(obj);
841
842 for (i = 0; i < ASPEED_TIMER_NR_TIMERS; i++) {
843 AspeedTimer *t = &s->timers[i];
@@ -898,9 +898,10 @@ static const Property aspeed_timer_properties[] = {
898 static void timer_class_init(ObjectClass *klass, const void *data)
899 {
900 DeviceClass *dc = DEVICE_CLASS(klass);
901 + ResettableClass *rc = RESETTABLE_CLASS(klass);
902
903 dc->realize = aspeed_timer_realize;
903 - device_class_set_legacy_reset(dc, aspeed_timer_reset);
904 + rc->phases.hold = aspeed_timer_reset_hold;
905 dc->desc = "ASPEED Timer";
906 dc->vmsd = &vmstate_aspeed_timer_state;
907 device_class_set_props(dc, aspeed_timer_properties);