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

index 90f83a03fd4f3ea03a932236716805578747ae5d..80c445750059797e9a514a83541ea0ab21b7d3d5 100644 (file)
@@ -1160,9 +1160,9 @@ static const VMStateDescription aspeed_i2c_vmstate = {
     }
 };
 
-static void aspeed_i2c_reset(DeviceState *dev)
+static void aspeed_i2c_reset_hold(Object *obj, ResetType type)
 {
-    AspeedI2CState *s = ASPEED_I2C(dev);
+    AspeedI2CState *s = ASPEED_I2C(obj);
 
     s->intr_status = 0;
 }
@@ -1363,9 +1363,10 @@ static const Property aspeed_i2c_properties[] = {
 static void aspeed_i2c_class_init(ObjectClass *klass, const void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
+    ResettableClass *rc = RESETTABLE_CLASS(klass);
 
     dc->vmsd = &aspeed_i2c_vmstate;
-    device_class_set_legacy_reset(dc, aspeed_i2c_reset);
+    rc->phases.hold = aspeed_i2c_reset_hold;
     device_class_set_props(dc, aspeed_i2c_properties);
     dc->realize = aspeed_i2c_realize;
     dc->desc = "Aspeed I2C Controller";
@@ -1506,9 +1507,9 @@ static const TypeInfo aspeed_i2c_bus_slave_info = {
     .class_init     = aspeed_i2c_bus_slave_class_init,
 };
 
-static void aspeed_i2c_bus_reset(DeviceState *dev)
+static void aspeed_i2c_bus_reset_hold(Object *obj, ResetType type)
 {
-    AspeedI2CBus *s = ASPEED_I2C_BUS(dev);
+    AspeedI2CBus *s = ASPEED_I2C_BUS(obj);
 
     memset(s->regs, 0, sizeof(s->regs));
     s->pending_intr_sts = 0;
@@ -1556,10 +1557,11 @@ static const Property aspeed_i2c_bus_properties[] = {
 static void aspeed_i2c_bus_class_init(ObjectClass *klass, const void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
+    ResettableClass *rc = RESETTABLE_CLASS(klass);
 
     dc->desc = "Aspeed I2C Bus";
     dc->realize = aspeed_i2c_bus_realize;
-    device_class_set_legacy_reset(dc, aspeed_i2c_bus_reset);
+    rc->phases.hold = aspeed_i2c_bus_reset_hold;
     device_class_set_props(dc, aspeed_i2c_bus_properties);
 }