qdev: remove QDEV_PROP_PTR

No longer used in the tree. The comment about user_creatable is still
quite relevant, but there is already a similar comment in qdev-core.h.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
This commit is contained in:
Marc-André Lureau 2019-10-18 15:50:10 +02:00
parent 5c4d910f2d
commit 70f3d674bc
2 changed files with 0 additions and 40 deletions

View File

@ -501,13 +501,6 @@ const PropertyInfo qdev_prop_string = {
.set = set_string, .set = set_string,
}; };
/* --- pointer --- */
/* Not a proper property, just for dirty hacks. TODO Remove it! */
const PropertyInfo qdev_prop_ptr = {
.name = "ptr",
};
/* --- mac address --- */ /* --- mac address --- */
/* /*
@ -1165,17 +1158,6 @@ void qdev_prop_set_enum(DeviceState *dev, const char *name, int value)
name, &error_abort); name, &error_abort);
} }
void qdev_prop_set_ptr(DeviceState *dev, const char *name, void *value)
{
Property *prop;
void **ptr;
prop = qdev_prop_find(dev, name);
assert(prop && prop->info == &qdev_prop_ptr);
ptr = qdev_get_prop_ptr(dev, prop);
*ptr = value;
}
static GPtrArray *global_props(void) static GPtrArray *global_props(void)
{ {
static GPtrArray *gp; static GPtrArray *gp;

View File

@ -18,7 +18,6 @@ extern const PropertyInfo qdev_prop_size;
extern const PropertyInfo qdev_prop_string; extern const PropertyInfo qdev_prop_string;
extern const PropertyInfo qdev_prop_chr; extern const PropertyInfo qdev_prop_chr;
extern const PropertyInfo qdev_prop_tpm; extern const PropertyInfo qdev_prop_tpm;
extern const PropertyInfo qdev_prop_ptr;
extern const PropertyInfo qdev_prop_macaddr; extern const PropertyInfo qdev_prop_macaddr;
extern const PropertyInfo qdev_prop_on_off_auto; extern const PropertyInfo qdev_prop_on_off_auto;
extern const PropertyInfo qdev_prop_losttickpolicy; extern const PropertyInfo qdev_prop_losttickpolicy;
@ -171,25 +170,6 @@ extern const PropertyInfo qdev_prop_pcie_link_width;
#define DEFINE_PROP_PCI_DEVFN(_n, _s, _f, _d) \ #define DEFINE_PROP_PCI_DEVFN(_n, _s, _f, _d) \
DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_pci_devfn, int32_t) DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_pci_devfn, int32_t)
/*
* Please avoid pointer properties. If you must use them, you must
* cover them in their device's class init function as follows:
*
* - If the property must be set, the device cannot be used with
* device_add, so add code like this:
* |* Reason: pointer property "NAME-OF-YOUR-PROP" *|
* DeviceClass *dc = DEVICE_CLASS(class);
* 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->user_creatable = false;
* *|
*/
#define DEFINE_PROP_PTR(_n, _s, _f) \
DEFINE_PROP(_n, _s, _f, qdev_prop_ptr, void*)
#define DEFINE_PROP_CHR(_n, _s, _f) \ #define DEFINE_PROP_CHR(_n, _s, _f) \
DEFINE_PROP(_n, _s, _f, qdev_prop_chr, CharBackend) DEFINE_PROP(_n, _s, _f, qdev_prop_chr, CharBackend)
#define DEFINE_PROP_STRING(_n, _s, _f) \ #define DEFINE_PROP_STRING(_n, _s, _f) \
@ -262,8 +242,6 @@ void qdev_prop_set_drive(DeviceState *dev, const char *name,
void qdev_prop_set_macaddr(DeviceState *dev, const char *name, void qdev_prop_set_macaddr(DeviceState *dev, const char *name,
const uint8_t *value); const uint8_t *value);
void qdev_prop_set_enum(DeviceState *dev, const char *name, int value); void qdev_prop_set_enum(DeviceState *dev, const char *name, int value);
/* FIXME: Remove opaque pointer properties. */
void qdev_prop_set_ptr(DeviceState *dev, const char *name, void *value);
void qdev_prop_register_global(GlobalProperty *prop); void qdev_prop_register_global(GlobalProperty *prop);
int qdev_prop_check_globals(void); int qdev_prop_check_globals(void);