qdev: avoid type casts between signed and unsigned
Modify the unsigned type for various properties to use QNUM_U64, to avoid type casts. There are a few empty lines added to improve code reading/style. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20170607163635.17635-18-marcandre.lureau@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> [Change to set_default_value_enum() dropped] Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
		
							parent
							
								
									76318657a8
								
							
						
					
					
						commit
						3fb2111fc9
					
				@ -128,7 +128,7 @@ static void prop_set_bit(Object *obj, Visitor *v, const char *name,
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
static void set_default_value_bool(Object *obj, const Property *prop)
 | 
					static void set_default_value_bool(Object *obj, const Property *prop)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    object_property_set_bool(obj, prop->defval.i, prop->name, &error_abort);
 | 
					    object_property_set_bool(obj, prop->defval.u, prop->name, &error_abort);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PropertyInfo qdev_prop_bit = {
 | 
					PropertyInfo qdev_prop_bit = {
 | 
				
			||||||
@ -264,11 +264,16 @@ static void set_default_value_int(Object *obj, const Property *prop)
 | 
				
			|||||||
    object_property_set_int(obj, prop->defval.i, prop->name, &error_abort);
 | 
					    object_property_set_int(obj, prop->defval.i, prop->name, &error_abort);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void set_default_value_uint(Object *obj, const Property *prop)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    object_property_set_uint(obj, prop->defval.u, prop->name, &error_abort);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PropertyInfo qdev_prop_uint8 = {
 | 
					PropertyInfo qdev_prop_uint8 = {
 | 
				
			||||||
    .name  = "uint8",
 | 
					    .name  = "uint8",
 | 
				
			||||||
    .get   = get_uint8,
 | 
					    .get   = get_uint8,
 | 
				
			||||||
    .set   = set_uint8,
 | 
					    .set   = set_uint8,
 | 
				
			||||||
    .set_default_value = set_default_value_int,
 | 
					    .set_default_value = set_default_value_uint,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* --- 16bit integer --- */
 | 
					/* --- 16bit integer --- */
 | 
				
			||||||
@ -302,7 +307,7 @@ PropertyInfo qdev_prop_uint16 = {
 | 
				
			|||||||
    .name  = "uint16",
 | 
					    .name  = "uint16",
 | 
				
			||||||
    .get   = get_uint16,
 | 
					    .get   = get_uint16,
 | 
				
			||||||
    .set   = set_uint16,
 | 
					    .set   = set_uint16,
 | 
				
			||||||
    .set_default_value = set_default_value_int,
 | 
					    .set_default_value = set_default_value_uint,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* --- 32bit integer --- */
 | 
					/* --- 32bit integer --- */
 | 
				
			||||||
@ -361,7 +366,7 @@ PropertyInfo qdev_prop_uint32 = {
 | 
				
			|||||||
    .name  = "uint32",
 | 
					    .name  = "uint32",
 | 
				
			||||||
    .get   = get_uint32,
 | 
					    .get   = get_uint32,
 | 
				
			||||||
    .set   = set_uint32,
 | 
					    .set   = set_uint32,
 | 
				
			||||||
    .set_default_value = set_default_value_int,
 | 
					    .set_default_value = set_default_value_uint,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PropertyInfo qdev_prop_int32 = {
 | 
					PropertyInfo qdev_prop_int32 = {
 | 
				
			||||||
@ -402,7 +407,7 @@ PropertyInfo qdev_prop_uint64 = {
 | 
				
			|||||||
    .name  = "uint64",
 | 
					    .name  = "uint64",
 | 
				
			||||||
    .get   = get_uint64,
 | 
					    .get   = get_uint64,
 | 
				
			||||||
    .set   = set_uint64,
 | 
					    .set   = set_uint64,
 | 
				
			||||||
    .set_default_value = set_default_value_int,
 | 
					    .set_default_value = set_default_value_uint,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* --- string --- */
 | 
					/* --- string --- */
 | 
				
			||||||
@ -725,7 +730,7 @@ PropertyInfo qdev_prop_blocksize = {
 | 
				
			|||||||
    .description = "A power of two between 512 and 32768",
 | 
					    .description = "A power of two between 512 and 32768",
 | 
				
			||||||
    .get   = get_uint16,
 | 
					    .get   = get_uint16,
 | 
				
			||||||
    .set   = set_blocksize,
 | 
					    .set   = set_blocksize,
 | 
				
			||||||
    .set_default_value = set_default_value_int,
 | 
					    .set_default_value = set_default_value_uint,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* --- pci host address --- */
 | 
					/* --- pci host address --- */
 | 
				
			||||||
@ -948,7 +953,7 @@ PropertyInfo qdev_prop_arraylen = {
 | 
				
			|||||||
    .name = "uint32",
 | 
					    .name = "uint32",
 | 
				
			||||||
    .get = get_uint32,
 | 
					    .get = get_uint32,
 | 
				
			||||||
    .set = set_prop_arraylen,
 | 
					    .set = set_prop_arraylen,
 | 
				
			||||||
    .set_default_value = set_default_value_int,
 | 
					    .set_default_value = set_default_value_uint,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* --- public helpers --- */
 | 
					/* --- public helpers --- */
 | 
				
			||||||
@ -1185,5 +1190,5 @@ PropertyInfo qdev_prop_size = {
 | 
				
			|||||||
    .name  = "size",
 | 
					    .name  = "size",
 | 
				
			||||||
    .get = get_size,
 | 
					    .get = get_size,
 | 
				
			||||||
    .set = set_size,
 | 
					    .set = set_size,
 | 
				
			||||||
    .set_default_value = set_default_value_int,
 | 
					    .set_default_value = set_default_value_uint,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
				
			|||||||
@ -228,6 +228,7 @@ struct Property {
 | 
				
			|||||||
    uint8_t      bitnr;
 | 
					    uint8_t      bitnr;
 | 
				
			||||||
    union {
 | 
					    union {
 | 
				
			||||||
        int64_t i;
 | 
					        int64_t i;
 | 
				
			||||||
 | 
					        uint64_t u;
 | 
				
			||||||
    } defval;
 | 
					    } defval;
 | 
				
			||||||
    int          arrayoffset;
 | 
					    int          arrayoffset;
 | 
				
			||||||
    PropertyInfo *arrayinfo;
 | 
					    PropertyInfo *arrayinfo;
 | 
				
			||||||
 | 
				
			|||||||
@ -37,6 +37,7 @@ extern PropertyInfo qdev_prop_arraylen;
 | 
				
			|||||||
        .offset    = offsetof(_state, _field)                    \
 | 
					        .offset    = offsetof(_state, _field)                    \
 | 
				
			||||||
            + type_check(_type, typeof_field(_state, _field)),   \
 | 
					            + type_check(_type, typeof_field(_state, _field)),   \
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define DEFINE_PROP_SIGNED(_name, _state, _field, _defval, _prop, _type) { \
 | 
					#define DEFINE_PROP_SIGNED(_name, _state, _field, _defval, _prop, _type) { \
 | 
				
			||||||
        .name      = (_name),                                           \
 | 
					        .name      = (_name),                                           \
 | 
				
			||||||
        .info      = &(_prop),                                          \
 | 
					        .info      = &(_prop),                                          \
 | 
				
			||||||
@ -44,21 +45,31 @@ extern PropertyInfo qdev_prop_arraylen;
 | 
				
			|||||||
            + type_check(_type,typeof_field(_state, _field)),           \
 | 
					            + type_check(_type,typeof_field(_state, _field)),           \
 | 
				
			||||||
        .defval.i  = (_type)_defval,                                    \
 | 
					        .defval.i  = (_type)_defval,                                    \
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define DEFINE_PROP_BIT(_name, _state, _field, _bit, _defval) {  \
 | 
					#define DEFINE_PROP_BIT(_name, _state, _field, _bit, _defval) {  \
 | 
				
			||||||
        .name      = (_name),                                    \
 | 
					        .name      = (_name),                                    \
 | 
				
			||||||
        .info      = &(qdev_prop_bit),                           \
 | 
					        .info      = &(qdev_prop_bit),                           \
 | 
				
			||||||
        .bitnr    = (_bit),                                      \
 | 
					        .bitnr    = (_bit),                                      \
 | 
				
			||||||
        .offset    = offsetof(_state, _field)                    \
 | 
					        .offset    = offsetof(_state, _field)                    \
 | 
				
			||||||
            + type_check(uint32_t,typeof_field(_state, _field)), \
 | 
					            + type_check(uint32_t,typeof_field(_state, _field)), \
 | 
				
			||||||
        .defval.i  = (bool)_defval,                              \
 | 
					        .defval.u  = (bool)_defval,                              \
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define DEFINE_PROP_UNSIGNED(_name, _state, _field, _defval, _prop, _type) { \
 | 
				
			||||||
 | 
					        .name      = (_name),                                           \
 | 
				
			||||||
 | 
					        .info      = &(_prop),                                          \
 | 
				
			||||||
 | 
					        .offset    = offsetof(_state, _field)                           \
 | 
				
			||||||
 | 
					            + type_check(_type, typeof_field(_state, _field)),          \
 | 
				
			||||||
 | 
					        .defval.u  = (_type)_defval,                                    \
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define DEFINE_PROP_BIT64(_name, _state, _field, _bit, _defval) {       \
 | 
					#define DEFINE_PROP_BIT64(_name, _state, _field, _bit, _defval) {       \
 | 
				
			||||||
        .name      = (_name),                                           \
 | 
					        .name      = (_name),                                           \
 | 
				
			||||||
        .info      = &(qdev_prop_bit64),                                \
 | 
					        .info      = &(qdev_prop_bit64),                                \
 | 
				
			||||||
        .bitnr    = (_bit),                                             \
 | 
					        .bitnr    = (_bit),                                             \
 | 
				
			||||||
        .offset    = offsetof(_state, _field)                           \
 | 
					        .offset    = offsetof(_state, _field)                           \
 | 
				
			||||||
            + type_check(uint64_t, typeof_field(_state, _field)),       \
 | 
					            + type_check(uint64_t, typeof_field(_state, _field)),       \
 | 
				
			||||||
        .defval.i  = (bool)_defval,                                     \
 | 
					        .defval.u  = (bool)_defval,                                     \
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define DEFINE_PROP_BOOL(_name, _state, _field, _defval) {       \
 | 
					#define DEFINE_PROP_BOOL(_name, _state, _field, _defval) {       \
 | 
				
			||||||
@ -66,7 +77,7 @@ extern PropertyInfo qdev_prop_arraylen;
 | 
				
			|||||||
        .info      = &(qdev_prop_bool),                          \
 | 
					        .info      = &(qdev_prop_bool),                          \
 | 
				
			||||||
        .offset    = offsetof(_state, _field)                    \
 | 
					        .offset    = offsetof(_state, _field)                    \
 | 
				
			||||||
            + type_check(bool, typeof_field(_state, _field)),    \
 | 
					            + type_check(bool, typeof_field(_state, _field)),    \
 | 
				
			||||||
        .defval.i  = (bool)_defval,                              \
 | 
					        .defval.u    = (bool)_defval,                            \
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define PROP_ARRAY_LEN_PREFIX "len-"
 | 
					#define PROP_ARRAY_LEN_PREFIX "len-"
 | 
				
			||||||
@ -107,17 +118,17 @@ extern PropertyInfo qdev_prop_arraylen;
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define DEFINE_PROP_UINT8(_n, _s, _f, _d)                       \
 | 
					#define DEFINE_PROP_UINT8(_n, _s, _f, _d)                       \
 | 
				
			||||||
    DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_uint8, uint8_t)
 | 
					    DEFINE_PROP_UNSIGNED(_n, _s, _f, _d, qdev_prop_uint8, uint8_t)
 | 
				
			||||||
#define DEFINE_PROP_UINT16(_n, _s, _f, _d)                      \
 | 
					#define DEFINE_PROP_UINT16(_n, _s, _f, _d)                      \
 | 
				
			||||||
    DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_uint16, uint16_t)
 | 
					    DEFINE_PROP_UNSIGNED(_n, _s, _f, _d, qdev_prop_uint16, uint16_t)
 | 
				
			||||||
#define DEFINE_PROP_UINT32(_n, _s, _f, _d)                      \
 | 
					#define DEFINE_PROP_UINT32(_n, _s, _f, _d)                      \
 | 
				
			||||||
    DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_uint32, uint32_t)
 | 
					    DEFINE_PROP_UNSIGNED(_n, _s, _f, _d, qdev_prop_uint32, uint32_t)
 | 
				
			||||||
#define DEFINE_PROP_INT32(_n, _s, _f, _d)                      \
 | 
					#define DEFINE_PROP_INT32(_n, _s, _f, _d)                      \
 | 
				
			||||||
    DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_int32, int32_t)
 | 
					    DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_int32, int32_t)
 | 
				
			||||||
#define DEFINE_PROP_UINT64(_n, _s, _f, _d)                      \
 | 
					#define DEFINE_PROP_UINT64(_n, _s, _f, _d)                      \
 | 
				
			||||||
    DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_uint64, uint64_t)
 | 
					    DEFINE_PROP_UNSIGNED(_n, _s, _f, _d, qdev_prop_uint64, uint64_t)
 | 
				
			||||||
#define DEFINE_PROP_SIZE(_n, _s, _f, _d)                       \
 | 
					#define DEFINE_PROP_SIZE(_n, _s, _f, _d)                       \
 | 
				
			||||||
    DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_size, uint64_t)
 | 
					    DEFINE_PROP_UNSIGNED(_n, _s, _f, _d, qdev_prop_size, uint64_t)
 | 
				
			||||||
#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)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -163,7 +174,7 @@ extern PropertyInfo qdev_prop_arraylen;
 | 
				
			|||||||
#define DEFINE_PROP_BIOS_CHS_TRANS(_n, _s, _f, _d) \
 | 
					#define DEFINE_PROP_BIOS_CHS_TRANS(_n, _s, _f, _d) \
 | 
				
			||||||
    DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_bios_chs_trans, int)
 | 
					    DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_bios_chs_trans, int)
 | 
				
			||||||
#define DEFINE_PROP_BLOCKSIZE(_n, _s, _f) \
 | 
					#define DEFINE_PROP_BLOCKSIZE(_n, _s, _f) \
 | 
				
			||||||
    DEFINE_PROP_SIGNED(_n, _s, _f, 0, qdev_prop_blocksize, uint16_t)
 | 
					    DEFINE_PROP_UNSIGNED(_n, _s, _f, 0, qdev_prop_blocksize, uint16_t)
 | 
				
			||||||
#define DEFINE_PROP_PCI_HOST_DEVADDR(_n, _s, _f) \
 | 
					#define DEFINE_PROP_PCI_HOST_DEVADDR(_n, _s, _f) \
 | 
				
			||||||
    DEFINE_PROP(_n, _s, _f, qdev_prop_pci_host_devaddr, PCIHostDeviceAddress)
 | 
					    DEFINE_PROP(_n, _s, _f, qdev_prop_pci_host_devaddr, PCIHostDeviceAddress)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user