summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2024-12-18 07:42:41 -0600
committerPaolo Bonzini <pbonzini@redhat.com>2024-12-19 19:33:37 +0100
commit0017f5713a20a2b6f42c3d5c255c4ab066cdcd87 (patch)
tree4e2c7bf3e48f07438138d51aafb51b0bba18eeaa
parentcb9f4b28ee115f14f336a4a87c593fa1685e42df (diff)
downloadfocaccia-qemu-0017f5713a20a2b6f42c3d5c255c4ab066cdcd87.tar.gz
focaccia-qemu-0017f5713a20a2b6f42c3d5c255c4ab066cdcd87.zip
migration: Use device_class_set_props_n
Export the migration_properties array size from options.c;
use that to feed device_class_set_props_n.  We must remove
DEFINE_PROP_END_OF_LIST so the count is correct.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Lei Yang <leiyang@redhat.com>
Link: https://lore.kernel.org/r/20241218134251.4724-15-richard.henderson@linaro.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--migration/migration.c3
-rw-r--r--migration/options.c2
-rw-r--r--migration/options.h1
3 files changed, 4 insertions, 2 deletions
diff --git a/migration/migration.c b/migration/migration.c
index 6b3b85d31e..d23d392685 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -3822,7 +3822,8 @@ static void migration_class_init(ObjectClass *klass, void *data)
     DeviceClass *dc = DEVICE_CLASS(klass);
 
     dc->user_creatable = false;
-    (device_class_set_props)(dc, migration_properties);
+    device_class_set_props_n(dc, migration_properties,
+                             migration_properties_count);
 }
 
 static void migration_instance_finalize(Object *obj)
diff --git a/migration/options.c b/migration/options.c
index 24cc8471aa..70ff56535a 100644
--- a/migration/options.c
+++ b/migration/options.c
@@ -196,8 +196,8 @@ const Property migration_properties[] = {
                         MIGRATION_CAPABILITY_SWITCHOVER_ACK),
     DEFINE_PROP_MIG_CAP("x-dirty-limit", MIGRATION_CAPABILITY_DIRTY_LIMIT),
     DEFINE_PROP_MIG_CAP("mapped-ram", MIGRATION_CAPABILITY_MAPPED_RAM),
-    DEFINE_PROP_END_OF_LIST(),
 };
+const size_t migration_properties_count = ARRAY_SIZE(migration_properties);
 
 bool migrate_auto_converge(void)
 {
diff --git a/migration/options.h b/migration/options.h
index a360f93a44..762be4e641 100644
--- a/migration/options.h
+++ b/migration/options.h
@@ -21,6 +21,7 @@
 /* migration properties */
 
 extern const Property migration_properties[];
+extern const size_t migration_properties_count;
 
 /* capabilities */