@samitouri / QOSamiQemu / commits / 484272af76

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

Kane Chen committed May 25, 2026 at 04:41 UTC 484272af76973bde66ce43014b9908c53c744b24
1 file changed +4 -3
hw/i3c/aspeed_i3c.c
+4 -3
@@ -162,9 +162,9 @@ I3CBus *aspeed_i3c_get_bus(AspeedI3CState *s, uint8_t bus_num)
162 g_assert_not_reached();
163 }
164
165 -static void aspeed_i3c_reset(DeviceState *dev)
165 +static void aspeed_i3c_reset_hold(Object *obj, ResetType type)
166 {
167 - AspeedI3CState *s = ASPEED_I3C(dev);
167 + AspeedI3CState *s = ASPEED_I3C(obj);
168 memset(s->regs, 0, sizeof(s->regs));
169 }
170
@@ -238,9 +238,10 @@ static const VMStateDescription vmstate_aspeed_i3c = {
238 static void aspeed_i3c_class_init(ObjectClass *klass, const void *data)
239 {
240 DeviceClass *dc = DEVICE_CLASS(klass);
241 + ResettableClass *rc = RESETTABLE_CLASS(klass);
242
243 dc->realize = aspeed_i3c_realize;
243 - device_class_set_legacy_reset(dc, aspeed_i3c_reset);
244 + rc->phases.hold = aspeed_i3c_reset_hold;
245 dc->desc = "Aspeed I3C Controller";
246 dc->vmsd = &vmstate_aspeed_i3c;
247 }