From 11098ad708cd535e4d79bf82c07ef78ca16b647c Mon Sep 17 00:00:00 2001 From: Auger Eric Date: Tue, 28 Nov 2017 15:14:02 +0100 Subject: [PATCH 1/9] gicv3: Convert to DEFINE_PROP_LINK RH-Author: Auger Eric Message-id: <1511882048-11256-2-git-send-email-eric.auger@redhat.com> Patchwork-id: 77939 O-Subject: [RHV7.5 qemu-kvm-ma PATCH 1/7] gicv3: Convert to DEFINE_PROP_LINK Bugzilla: 1513323 RH-Acked-by: Andrew Jones RH-Acked-by: Miroslav Rezanina RH-Acked-by: Wei Huang From: Fam Zheng Signed-off-by: Fam Zheng Message-id: 20170905131149.10669-4-famz@redhat.com Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell (cherry picked from commit 9ea26c70498cde1887746222c3cada968e46ec23) Signed-off-by: Eric Auger Signed-off-by: Miroslav Rezanina --- hw/intc/arm_gicv3_its_kvm.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/hw/intc/arm_gicv3_its_kvm.c b/hw/intc/arm_gicv3_its_kvm.c index 1f8991b..39903d5 100644 --- a/hw/intc/arm_gicv3_its_kvm.c +++ b/hw/intc/arm_gicv3_its_kvm.c @@ -120,17 +120,6 @@ static void kvm_arm_its_realize(DeviceState *dev, Error **errp) qemu_add_vm_change_state_handler(vm_change_state_handler, s); } -static void kvm_arm_its_init(Object *obj) -{ - GICv3ITSState *s = KVM_ARM_ITS(obj); - - object_property_add_link(obj, "parent-gicv3", - "kvm-arm-gicv3", (Object **)&s->gicv3, - object_property_allow_set_link, - OBJ_PROP_LINK_UNREF_ON_RELEASE, - &error_abort); -} - /** * kvm_arm_its_pre_save - handles the saving of ITS registers. * ITS tables are flushed into guest RAM separately and earlier, @@ -205,12 +194,19 @@ static void kvm_arm_its_post_load(GICv3ITSState *s) GITS_CTLR, &s->ctlr, true, &error_abort); } +static Property kvm_arm_its_props[] = { + DEFINE_PROP_LINK("parent-gicv3", GICv3ITSState, gicv3, "kvm-arm-gicv3", + GICv3State *), + DEFINE_PROP_END_OF_LIST(), +}; + static void kvm_arm_its_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); GICv3ITSCommonClass *icc = ARM_GICV3_ITS_COMMON_CLASS(klass); dc->realize = kvm_arm_its_realize; + dc->props = kvm_arm_its_props; icc->send_msi = kvm_its_send_msi; icc->pre_save = kvm_arm_its_pre_save; icc->post_load = kvm_arm_its_post_load; @@ -220,7 +216,6 @@ static const TypeInfo kvm_arm_its_info = { .name = TYPE_KVM_ARM_ITS, .parent = TYPE_ARM_GICV3_ITS_COMMON, .instance_size = sizeof(GICv3ITSState), - .instance_init = kvm_arm_its_init, .class_init = kvm_arm_its_class_init, }; -- 1.8.3.1