[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 15/24] hw/scsi/megasas: Use device_class_set_props_n
From: |
Richard Henderson |
Subject: |
[PATCH v2 15/24] hw/scsi/megasas: Use device_class_set_props_n |
Date: |
Wed, 18 Dec 2024 07:42:42 -0600 |
We must remove DEFINE_PROP_END_OF_LIST so the count is correct.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
hw/scsi/megasas.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c
index 8323cd18e3..7f012c218b 100644
--- a/hw/scsi/megasas.c
+++ b/hw/scsi/megasas.c
@@ -2459,7 +2459,6 @@ static const Property megasas_properties_gen1[] = {
DEFINE_PROP_ON_OFF_AUTO("msix", MegasasState, msix, ON_OFF_AUTO_AUTO),
DEFINE_PROP_BIT("use_jbod", MegasasState, flags,
MEGASAS_FLAG_USE_JBOD, false),
- DEFINE_PROP_END_OF_LIST(),
};
static const Property megasas_properties_gen2[] = {
@@ -2473,7 +2472,6 @@ static const Property megasas_properties_gen2[] = {
DEFINE_PROP_ON_OFF_AUTO("msix", MegasasState, msix, ON_OFF_AUTO_AUTO),
DEFINE_PROP_BIT("use_jbod", MegasasState, flags,
MEGASAS_FLAG_USE_JBOD, false),
- DEFINE_PROP_END_OF_LIST(),
};
typedef struct MegasasInfo {
@@ -2488,6 +2486,7 @@ typedef struct MegasasInfo {
int osts;
const VMStateDescription *vmsd;
const Property *props;
+ size_t props_count;
InterfaceInfo *interfaces;
} MegasasInfo;
@@ -2504,6 +2503,7 @@ static struct MegasasInfo megasas_devices[] = {
.osts = MFI_1078_RM | 1,
.vmsd = &vmstate_megasas_gen1,
.props = megasas_properties_gen1,
+ .props_count = ARRAY_SIZE(megasas_properties_gen1),
.interfaces = (InterfaceInfo[]) {
{ INTERFACE_CONVENTIONAL_PCI_DEVICE },
{ },
@@ -2520,6 +2520,7 @@ static struct MegasasInfo megasas_devices[] = {
.osts = MFI_GEN2_RM,
.vmsd = &vmstate_megasas_gen2,
.props = megasas_properties_gen2,
+ .props_count = ARRAY_SIZE(megasas_properties_gen2),
.interfaces = (InterfaceInfo[]) {
{ INTERFACE_PCIE_DEVICE },
{ }
@@ -2546,7 +2547,7 @@ static void megasas_class_init(ObjectClass *oc, void
*data)
e->osts = info->osts;
e->product_name = info->product_name;
e->product_version = info->product_version;
- device_class_set_props(dc, info->props);
+ device_class_set_props_n(dc, info->props, info->props_count);
device_class_set_legacy_reset(dc, megasas_scsi_reset);
dc->vmsd = info->vmsd;
set_bit(DEVICE_CATEGORY_STORAGE, dc->categories);
--
2.43.0
- [PATCH v2 14/24] migration: Use device_class_set_props_n, (continued)
- [PATCH v2 14/24] migration: Use device_class_set_props_n, Richard Henderson, 2024/12/18
- [PATCH v2 17/24] rust/qemu-api: Use device_class_set_props_n, Richard Henderson, 2024/12/18
- [PATCH v2 19/24] target/riscv: Do not abuse DEFINE_PROP_END_OF_LIST, Richard Henderson, 2024/12/18
- [PATCH v2 22/24] hw/core/qdev-properties: Constify Property argument to object_field_prop_ptr, Richard Henderson, 2024/12/18
- [PATCH v2 09/24] hw/xen: Remove empty Property lists, Richard Henderson, 2024/12/18
- [PATCH v2 12/24] include/hw/qdev-core: Detect most empty Property lists at compile time, Richard Henderson, 2024/12/18
- [PATCH v2 13/24] hw/core: Introduce device_class_set_props_n, Richard Henderson, 2024/12/18
- [PATCH v2 15/24] hw/scsi/megasas: Use device_class_set_props_n,
Richard Henderson <=
- [PATCH v2 16/24] hw/arm/armsse: Use device_class_set_props_n, Richard Henderson, 2024/12/18
- [PATCH v2 18/24] hw/core: Remove device_class_set_props function, Richard Henderson, 2024/12/18
- [PATCH v2 24/24] Constify all opaque Property pointers, Richard Henderson, 2024/12/18
- [PATCH v2 21/24] include/hw/qdev-properties: Shrink struct Property, Richard Henderson, 2024/12/18
- [PATCH v2 23/24] hw/core/qdev-properties: Constify Property argument to PropertyInfo.print, Richard Henderson, 2024/12/18
- [PATCH v2 20/24] include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST, Richard Henderson, 2024/12/18
- Re: [PATCH v2 00/24] More Property cleanups, Lei Yang, 2024/12/18