From e90f2a8c3e0e677eeea46a9b401c3f98425ffa37 Mon Sep 17 00:00:00 2001 From: Eduardo Habkost Date: Wed, 3 May 2017 17:35:44 -0300 Subject: qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable cannot_instantiate_with_device_add_yet was introduced by commit efec3dd631d94160288392721a5f9c39e50fb2bc to replace no_user. It was supposed to be a temporary measure. When it was introduced, we had 54 cannot_instantiate_with_device_add_yet=true lines in the code. Today (3 years later) this number has not shrunk: we now have 57 cannot_instantiate_with_device_add_yet=true lines. I think it is safe to say it is not a temporary measure, and we won't see the flag go away soon. Instead of a long field name that misleads people to believe it is temporary, replace it a shorter and less misleading field: user_creatable. Except for code comments, changes were generated using the following Coccinelle patch: @@ expression DC; @@ ( -DC->cannot_instantiate_with_device_add_yet = false; +DC->user_creatable = true; | -DC->cannot_instantiate_with_device_add_yet = true; +DC->user_creatable = false; ) @@ typedef ObjectClass; expression dc; identifier class, data; @@ static void device_class_init(ObjectClass *class, void *data) { ... dc->hotpluggable = true; +dc->user_creatable = true; ... } @@ @@ struct DeviceClass { ... -bool cannot_instantiate_with_device_add_yet; +bool user_creatable; ... } @@ expression DC; @@ ( -!DC->cannot_instantiate_with_device_add_yet +DC->user_creatable | -DC->cannot_instantiate_with_device_add_yet +!DC->user_creatable ) Cc: Alistair Francis Cc: Laszlo Ersek Cc: Marcel Apfelbaum Cc: Markus Armbruster Cc: Peter Maydell Cc: Thomas Huth Acked-by: Alistair Francis Reviewed-by: Thomas Huth Reviewed-by: Marcel Apfelbaum Acked-by: Marcel Apfelbaum Signed-off-by: Eduardo Habkost Message-Id: <20170503203604.31462-2-ehabkost@redhat.com> [ehabkost: kept "TODO remove once we're there" comment] Reviewed-by: Markus Armbruster Signed-off-by: Eduardo Habkost --- include/hw/qdev-core.h | 9 +++++---- include/hw/qdev-properties.h | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) (limited to 'include/hw') diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h index 4bf86b0ad8..e69489ec6c 100644 --- a/include/hw/qdev-core.h +++ b/include/hw/qdev-core.h @@ -103,16 +103,17 @@ typedef struct DeviceClass { Property *props; /* - * Shall we hide this device model from -device / device_add? + * Can this device be instantiated with -device / device_add? * All devices should support instantiation with device_add, and * this flag should not exist. But we're not there, yet. Some * devices fail to instantiate with cryptic error messages. * Others instantiate, but don't work. Exposing users to such - * behavior would be cruel; this flag serves to protect them. It - * should never be set without a comment explaining why it is set. + * behavior would be cruel; clearing this flag will protect them. + * It should never be cleared without a comment explaining why it + * is cleared. * TODO remove once we're there */ - bool cannot_instantiate_with_device_add_yet; + bool user_creatable; bool hotpluggable; /* callbacks */ diff --git a/include/hw/qdev-properties.h b/include/hw/qdev-properties.h index 1d69fa7a8f..d206fc93dd 100644 --- a/include/hw/qdev-properties.h +++ b/include/hw/qdev-properties.h @@ -134,12 +134,12 @@ extern PropertyInfo qdev_prop_arraylen; * device_add, so add code like this: * |* Reason: pointer property "NAME-OF-YOUR-PROP" *| * DeviceClass *dc = DEVICE_CLASS(class); - * dc->cannot_instantiate_with_device_add_yet = true; + * dc->user_creatable = false; * * - If the property may safely remain null, document it like this: * |* * * Note: pointer property "interrupt_vector" may remain null, thus - * * no need for dc->cannot_instantiate_with_device_add_yet = true; + * * no need for dc->user_creatable = false; * *| */ #define DEFINE_PROP_PTR(_n, _s, _f) \ -- cgit v1.2.3-55-g7522