mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
Constify all opaque Property pointers
Via sed "s/ Property [*]/ const Property */".
The opaque pointers passed to ObjectProperty callbacks are
the last instances of non-const Property pointers in the tree.
For the most part, these callbacks only use object_field_prop_ptr,
which now takes a const pointer itself.
This logically should have accompanied d36f165d95
which
allowed const Property to be registered.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Lei Yang <leiyang@redhat.com>
Link: https://lore.kernel.org/r/20241218134251.4724-25-richard.henderson@linaro.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
857c4a8a33
commit
b1987a2547
9 changed files with 76 additions and 76 deletions
|
@ -61,7 +61,7 @@ void *object_field_prop_ptr(Object *obj, const Property *prop)
|
|||
static void field_prop_get(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
return prop->info->get(obj, v, name, opaque, errp);
|
||||
}
|
||||
|
||||
|
@ -78,7 +78,7 @@ static ObjectPropertyAccessor *field_prop_getter(const PropertyInfo *info)
|
|||
static void field_prop_set(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
|
||||
if (!qdev_prop_allow_set(obj, name, prop->info, errp)) {
|
||||
return;
|
||||
|
@ -100,7 +100,7 @@ static ObjectPropertyAccessor *field_prop_setter(const PropertyInfo *info)
|
|||
void qdev_propinfo_get_enum(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
int *ptr = object_field_prop_ptr(obj, prop);
|
||||
|
||||
visit_type_enum(v, name, ptr, prop->info->enum_table, errp);
|
||||
|
@ -109,7 +109,7 @@ void qdev_propinfo_get_enum(Object *obj, Visitor *v, const char *name,
|
|||
void qdev_propinfo_set_enum(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
int *ptr = object_field_prop_ptr(obj, prop);
|
||||
|
||||
visit_type_enum(v, name, ptr, prop->info->enum_table, errp);
|
||||
|
@ -131,13 +131,13 @@ const PropertyInfo qdev_prop_enum = {
|
|||
|
||||
/* Bit */
|
||||
|
||||
static uint32_t qdev_get_prop_mask(Property *prop)
|
||||
static uint32_t qdev_get_prop_mask(const Property *prop)
|
||||
{
|
||||
assert(prop->info == &qdev_prop_bit);
|
||||
return 0x1 << prop->bitnr;
|
||||
}
|
||||
|
||||
static void bit_prop_set(Object *obj, Property *props, bool val)
|
||||
static void bit_prop_set(Object *obj, const Property *props, bool val)
|
||||
{
|
||||
uint32_t *p = object_field_prop_ptr(obj, props);
|
||||
uint32_t mask = qdev_get_prop_mask(props);
|
||||
|
@ -151,7 +151,7 @@ static void bit_prop_set(Object *obj, Property *props, bool val)
|
|||
static void prop_get_bit(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
uint32_t *p = object_field_prop_ptr(obj, prop);
|
||||
bool value = (*p & qdev_get_prop_mask(prop)) != 0;
|
||||
|
||||
|
@ -161,7 +161,7 @@ static void prop_get_bit(Object *obj, Visitor *v, const char *name,
|
|||
static void prop_set_bit(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
bool value;
|
||||
|
||||
if (!visit_type_bool(v, name, &value, errp)) {
|
||||
|
@ -185,13 +185,13 @@ const PropertyInfo qdev_prop_bit = {
|
|||
|
||||
/* Bit64 */
|
||||
|
||||
static uint64_t qdev_get_prop_mask64(Property *prop)
|
||||
static uint64_t qdev_get_prop_mask64(const Property *prop)
|
||||
{
|
||||
assert(prop->info == &qdev_prop_bit64);
|
||||
return 0x1ull << prop->bitnr;
|
||||
}
|
||||
|
||||
static void bit64_prop_set(Object *obj, Property *props, bool val)
|
||||
static void bit64_prop_set(Object *obj, const Property *props, bool val)
|
||||
{
|
||||
uint64_t *p = object_field_prop_ptr(obj, props);
|
||||
uint64_t mask = qdev_get_prop_mask64(props);
|
||||
|
@ -205,7 +205,7 @@ static void bit64_prop_set(Object *obj, Property *props, bool val)
|
|||
static void prop_get_bit64(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
uint64_t *p = object_field_prop_ptr(obj, prop);
|
||||
bool value = (*p & qdev_get_prop_mask64(prop)) != 0;
|
||||
|
||||
|
@ -215,7 +215,7 @@ static void prop_get_bit64(Object *obj, Visitor *v, const char *name,
|
|||
static void prop_set_bit64(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
bool value;
|
||||
|
||||
if (!visit_type_bool(v, name, &value, errp)) {
|
||||
|
@ -237,7 +237,7 @@ const PropertyInfo qdev_prop_bit64 = {
|
|||
static void get_bool(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
bool *ptr = object_field_prop_ptr(obj, prop);
|
||||
|
||||
visit_type_bool(v, name, ptr, errp);
|
||||
|
@ -246,7 +246,7 @@ static void get_bool(Object *obj, Visitor *v, const char *name, void *opaque,
|
|||
static void set_bool(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
bool *ptr = object_field_prop_ptr(obj, prop);
|
||||
|
||||
visit_type_bool(v, name, ptr, errp);
|
||||
|
@ -264,7 +264,7 @@ const PropertyInfo qdev_prop_bool = {
|
|||
static void get_uint8(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
uint8_t *ptr = object_field_prop_ptr(obj, prop);
|
||||
|
||||
visit_type_uint8(v, name, ptr, errp);
|
||||
|
@ -273,7 +273,7 @@ static void get_uint8(Object *obj, Visitor *v, const char *name, void *opaque,
|
|||
static void set_uint8(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
uint8_t *ptr = object_field_prop_ptr(obj, prop);
|
||||
|
||||
visit_type_uint8(v, name, ptr, errp);
|
||||
|
@ -303,7 +303,7 @@ const PropertyInfo qdev_prop_uint8 = {
|
|||
static void get_uint16(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
uint16_t *ptr = object_field_prop_ptr(obj, prop);
|
||||
|
||||
visit_type_uint16(v, name, ptr, errp);
|
||||
|
@ -312,7 +312,7 @@ static void get_uint16(Object *obj, Visitor *v, const char *name,
|
|||
static void set_uint16(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
uint16_t *ptr = object_field_prop_ptr(obj, prop);
|
||||
|
||||
visit_type_uint16(v, name, ptr, errp);
|
||||
|
@ -330,7 +330,7 @@ const PropertyInfo qdev_prop_uint16 = {
|
|||
static void get_uint32(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
uint32_t *ptr = object_field_prop_ptr(obj, prop);
|
||||
|
||||
visit_type_uint32(v, name, ptr, errp);
|
||||
|
@ -339,7 +339,7 @@ static void get_uint32(Object *obj, Visitor *v, const char *name,
|
|||
static void set_uint32(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
uint32_t *ptr = object_field_prop_ptr(obj, prop);
|
||||
|
||||
visit_type_uint32(v, name, ptr, errp);
|
||||
|
@ -348,7 +348,7 @@ static void set_uint32(Object *obj, Visitor *v, const char *name,
|
|||
void qdev_propinfo_get_int32(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
int32_t *ptr = object_field_prop_ptr(obj, prop);
|
||||
|
||||
visit_type_int32(v, name, ptr, errp);
|
||||
|
@ -357,7 +357,7 @@ void qdev_propinfo_get_int32(Object *obj, Visitor *v, const char *name,
|
|||
static void set_int32(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
int32_t *ptr = object_field_prop_ptr(obj, prop);
|
||||
|
||||
visit_type_int32(v, name, ptr, errp);
|
||||
|
@ -382,7 +382,7 @@ const PropertyInfo qdev_prop_int32 = {
|
|||
static void get_uint64(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
uint64_t *ptr = object_field_prop_ptr(obj, prop);
|
||||
|
||||
visit_type_uint64(v, name, ptr, errp);
|
||||
|
@ -391,7 +391,7 @@ static void get_uint64(Object *obj, Visitor *v, const char *name,
|
|||
static void set_uint64(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
uint64_t *ptr = object_field_prop_ptr(obj, prop);
|
||||
|
||||
visit_type_uint64(v, name, ptr, errp);
|
||||
|
@ -400,7 +400,7 @@ static void set_uint64(Object *obj, Visitor *v, const char *name,
|
|||
static void get_int64(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
int64_t *ptr = object_field_prop_ptr(obj, prop);
|
||||
|
||||
visit_type_int64(v, name, ptr, errp);
|
||||
|
@ -409,7 +409,7 @@ static void get_int64(Object *obj, Visitor *v, const char *name,
|
|||
static void set_int64(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
int64_t *ptr = object_field_prop_ptr(obj, prop);
|
||||
|
||||
visit_type_int64(v, name, ptr, errp);
|
||||
|
@ -432,7 +432,7 @@ const PropertyInfo qdev_prop_int64 = {
|
|||
static void set_uint64_checkmask(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
uint64_t *ptr = object_field_prop_ptr(obj, prop);
|
||||
|
||||
visit_type_uint64(v, name, ptr, errp);
|
||||
|
@ -452,14 +452,14 @@ const PropertyInfo qdev_prop_uint64_checkmask = {
|
|||
|
||||
static void release_string(Object *obj, const char *name, void *opaque)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
g_free(*(char **)object_field_prop_ptr(obj, prop));
|
||||
}
|
||||
|
||||
static void get_string(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
char **ptr = object_field_prop_ptr(obj, prop);
|
||||
|
||||
if (!*ptr) {
|
||||
|
@ -473,7 +473,7 @@ static void get_string(Object *obj, Visitor *v, const char *name,
|
|||
static void set_string(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
char **ptr = object_field_prop_ptr(obj, prop);
|
||||
char *str;
|
||||
|
||||
|
@ -507,7 +507,7 @@ const PropertyInfo qdev_prop_on_off_auto = {
|
|||
void qdev_propinfo_get_size32(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
uint32_t *ptr = object_field_prop_ptr(obj, prop);
|
||||
uint64_t value = *ptr;
|
||||
|
||||
|
@ -517,7 +517,7 @@ void qdev_propinfo_get_size32(Object *obj, Visitor *v, const char *name,
|
|||
static void set_size32(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
uint32_t *ptr = object_field_prop_ptr(obj, prop);
|
||||
uint64_t value;
|
||||
|
||||
|
@ -557,7 +557,7 @@ struct ArrayElementList {
|
|||
* specific element of the array. Arrays are backed by an uint32_t length field
|
||||
* and an element array. @elem points at an element in this element array.
|
||||
*/
|
||||
static Property array_elem_prop(Object *obj, Property *parent_prop,
|
||||
static Property array_elem_prop(Object *obj, const Property *parent_prop,
|
||||
const char *name, char *elem)
|
||||
{
|
||||
return (Property) {
|
||||
|
@ -582,7 +582,7 @@ static Property array_elem_prop(Object *obj, Property *parent_prop,
|
|||
*/
|
||||
static void release_prop_array(Object *obj, const char *name, void *opaque)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
uint32_t *alenptr = object_field_prop_ptr(obj, prop);
|
||||
void **arrayptr = (void *)obj + prop->arrayoffset;
|
||||
char *elem = *arrayptr;
|
||||
|
@ -609,7 +609,7 @@ static void set_prop_array(Object *obj, Visitor *v, const char *name,
|
|||
void *opaque, Error **errp)
|
||||
{
|
||||
ERRP_GUARD();
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
uint32_t *alenptr = object_field_prop_ptr(obj, prop);
|
||||
void **arrayptr = (void *)obj + prop->arrayoffset;
|
||||
ArrayElementList *list, *elem, *next;
|
||||
|
@ -685,7 +685,7 @@ static void get_prop_array(Object *obj, Visitor *v, const char *name,
|
|||
void *opaque, Error **errp)
|
||||
{
|
||||
ERRP_GUARD();
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
uint32_t *alenptr = object_field_prop_ptr(obj, prop);
|
||||
void **arrayptr = (void *)obj + prop->arrayoffset;
|
||||
char *elemptr = *arrayptr;
|
||||
|
@ -928,7 +928,7 @@ void qdev_prop_set_globals(DeviceState *dev)
|
|||
static void get_size(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
uint64_t *ptr = object_field_prop_ptr(obj, prop);
|
||||
|
||||
visit_type_size(v, name, ptr, errp);
|
||||
|
@ -937,7 +937,7 @@ static void get_size(Object *obj, Visitor *v, const char *name, void *opaque,
|
|||
static void set_size(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
uint64_t *ptr = object_field_prop_ptr(obj, prop);
|
||||
|
||||
visit_type_size(v, name, ptr, errp);
|
||||
|
@ -1020,7 +1020,7 @@ static void qdev_get_legacy_property(Object *obj, Visitor *v,
|
|||
const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
Property *prop = opaque;
|
||||
const Property *prop = opaque;
|
||||
|
||||
char buffer[1024];
|
||||
char *ptr = buffer;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue