mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 01:03:55 -06:00
hw/intc/loongarch_extioi: Replace legacy reset callback with new api
Replace legacy reset callback register device_class_set_legacy_reset() with new function resettable_class_set_parent_phases(). With new API, it will call reset callback of parent object and then itself. Signed-off-by: Bibo Mao <maobibo@loongson.cn> Reviewed-by: Song Gao <gaosong@loongson.cn>
This commit is contained in:
parent
86e4a64751
commit
bba709ff69
2 changed files with 9 additions and 4 deletions
|
@ -377,11 +377,13 @@ static void loongarch_extioi_unrealize(DeviceState *dev)
|
|||
g_free(s->cpu);
|
||||
}
|
||||
|
||||
static void loongarch_extioi_reset(DeviceState *d)
|
||||
static void loongarch_extioi_reset_hold(Object *obj, ResetType type)
|
||||
{
|
||||
LoongArchExtIOICommonState *s = LOONGARCH_EXTIOI_COMMON(d);
|
||||
LoongArchExtIOIClass *lec = LOONGARCH_EXTIOI_GET_CLASS(obj);
|
||||
|
||||
s->status = 0;
|
||||
if (lec->parent_phases.hold) {
|
||||
lec->parent_phases.hold(obj, type);
|
||||
}
|
||||
}
|
||||
|
||||
static int vmstate_extioi_post_load(void *opaque, int version_id)
|
||||
|
@ -406,12 +408,14 @@ static void loongarch_extioi_class_init(ObjectClass *klass, const void *data)
|
|||
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
LoongArchExtIOIClass *lec = LOONGARCH_EXTIOI_CLASS(klass);
|
||||
LoongArchExtIOICommonClass *lecc = LOONGARCH_EXTIOI_COMMON_CLASS(klass);
|
||||
ResettableClass *rc = RESETTABLE_CLASS(klass);
|
||||
|
||||
device_class_set_parent_realize(dc, loongarch_extioi_realize,
|
||||
&lec->parent_realize);
|
||||
device_class_set_parent_unrealize(dc, loongarch_extioi_unrealize,
|
||||
&lec->parent_unrealize);
|
||||
device_class_set_legacy_reset(dc, loongarch_extioi_reset);
|
||||
resettable_class_set_parent_phases(rc, NULL, loongarch_extioi_reset_hold,
|
||||
NULL, &lec->parent_phases);
|
||||
lecc->post_load = vmstate_extioi_post_load;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue