Commits 1c94a35164..7b3cb8037c simplified the error propagation. Similarly to commit 73ac1aac39 ("qdev: Make functions taking Error ** return bool, not void") let the ObjectPropertyGet functions return a boolean value, not void.
See commit e3fe3988d7 ("error: Document Error API usage rules") for rationale. Cc: arm...@redhat.com Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> --- Sorry I don't see how to split that patch without using ugly casts in the middle. --- include/qom/object.h | 4 +- accel/kvm/kvm-all.c | 4 +- accel/tcg/tcg-all.c | 4 +- authz/list.c | 4 +- backends/cryptodev.c | 4 +- backends/hostmem-file.c | 4 +- backends/hostmem-memfd.c | 4 +- backends/hostmem.c | 13 +++--- backends/tpm/tpm_util.c | 4 +- block/throttle-groups.c | 8 ++-- bootdevice.c | 4 +- chardev/char-socket.c | 4 +- crypto/secret_keyring.c | 5 +- hw/acpi/ich9.c | 4 +- hw/arm/virt.c | 4 +- hw/block/xen-block.c | 6 +-- hw/core/machine.c | 4 +- hw/core/qdev-properties-system.c | 20 ++++---- hw/core/qdev-properties.c | 80 ++++++++++++++++---------------- hw/core/qdev.c | 5 +- hw/cpu/core.c | 8 ++-- hw/gpio/aspeed_gpio.c | 8 ++-- hw/i386/microvm.c | 12 ++--- hw/i386/pc.c | 12 ++--- hw/i386/x86.c | 8 ++-- hw/ide/qdev.c | 4 +- hw/intc/apic_common.c | 4 +- hw/mem/nvdimm.c | 8 ++-- hw/mem/pc-dimm.c | 6 +-- hw/misc/aspeed_sdmc.c | 4 +- hw/misc/pca9552.c | 8 ++-- hw/misc/tmp105.c | 4 +- hw/misc/tmp421.c | 8 ++-- hw/net/ne2000-isa.c | 4 +- hw/pci-host/i440fx.c | 16 +++---- hw/pci-host/q35.c | 16 +++---- hw/ppc/spapr_caps.c | 14 +++--- hw/ppc/spapr_drc.c | 21 +++++---- hw/riscv/sifive_u.c | 4 +- hw/s390x/css.c | 4 +- hw/s390x/s390-pci-bus.c | 4 +- hw/usb/dev-storage.c | 4 +- hw/vfio/pci-quirks.c | 14 +++--- hw/virtio/virtio-balloon.c | 16 ++++--- hw/virtio/virtio-mem.c | 12 ++--- iothread.c | 4 +- net/colo-compare.c | 8 ++-- net/dump.c | 4 +- net/filter-buffer.c | 4 +- qom/object.c | 65 +++++++++++++++----------- softmmu/memory.c | 14 +++--- target/arm/cpu64.c | 14 +++--- target/i386/cpu.c | 48 +++++++++++-------- target/ppc/compat.c | 4 +- target/s390x/cpu.c | 11 +++-- target/s390x/cpu_models.c | 14 +++--- target/sparc/cpu.c | 4 +- 57 files changed, 325 insertions(+), 281 deletions(-) diff --git a/include/qom/object.h b/include/qom/object.h index e9496ba970..7ba2172932 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -333,9 +333,11 @@ typedef void (ObjectPropertySet)(Object *obj, * @opaque: the object property opaque * @errp: a pointer to an Error that is filled if getting fails. * + * Return true on success, false on failure. + * * Called when trying to get a property. */ -typedef void (ObjectPropertyGet)(Object *obj, +typedef bool (ObjectPropertyGet)(Object *obj, Visitor *v, const char *name, void *opaque, diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 63ef6af9a1..dfbc60fd6f 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -3098,14 +3098,14 @@ static bool kvm_accel_has_memory(MachineState *ms, AddressSpace *as, return false; } -static void kvm_get_kvm_shadow_mem(Object *obj, Visitor *v, +static bool kvm_get_kvm_shadow_mem(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { KVMState *s = KVM_STATE(obj); int64_t value = s->kvm_shadow_mem; - visit_type_int(v, name, &value, errp); + return visit_type_int(v, name, &value, errp); } static void kvm_set_kvm_shadow_mem(Object *obj, Visitor *v, diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c index eace2c113b..114c149744 100644 --- a/accel/tcg/tcg-all.c +++ b/accel/tcg/tcg-all.c @@ -167,14 +167,14 @@ static void tcg_set_thread(Object *obj, const char *value, Error **errp) } } -static void tcg_get_tb_size(Object *obj, Visitor *v, +static bool tcg_get_tb_size(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { TCGState *s = TCG_STATE(obj); uint32_t value = s->tb_size; - visit_type_uint32(v, name, &value, errp); + return visit_type_uint32(v, name, &value, errp); } static void tcg_set_tb_size(Object *obj, Visitor *v, diff --git a/authz/list.c b/authz/list.c index 8e904bfc93..9a195defab 100644 --- a/authz/list.c +++ b/authz/list.c @@ -83,13 +83,13 @@ qauthz_list_prop_get_policy(Object *obj, } -static void +static bool qauthz_list_prop_get_rules(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { QAuthZList *lauthz = QAUTHZ_LIST(obj); - visit_type_QAuthZListRuleList(v, name, &lauthz->rules, errp); + return visit_type_QAuthZListRuleList(v, name, &lauthz->rules, errp); } static void diff --git a/backends/cryptodev.c b/backends/cryptodev.c index ada4ebe78b..e0c5aa61ac 100644 --- a/backends/cryptodev.c +++ b/backends/cryptodev.c @@ -139,14 +139,14 @@ int cryptodev_backend_crypto_operation( return -VIRTIO_CRYPTO_ERR; } -static void +static bool cryptodev_backend_get_queues(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { CryptoDevBackend *backend = CRYPTODEV_BACKEND(obj); uint32_t value = backend->conf.peers.queues; - visit_type_uint32(v, name, &value, errp); + return visit_type_uint32(v, name, &value, errp); } static void diff --git a/backends/hostmem-file.c b/backends/hostmem-file.c index 5b819020b4..2a1e0e8dc5 100644 --- a/backends/hostmem-file.c +++ b/backends/hostmem-file.c @@ -94,14 +94,14 @@ static void file_memory_backend_set_discard_data(Object *o, bool value, MEMORY_BACKEND_FILE(o)->discard_data = value; } -static void file_memory_backend_get_align(Object *o, Visitor *v, +static bool file_memory_backend_get_align(Object *o, Visitor *v, const char *name, void *opaque, Error **errp) { HostMemoryBackendFile *fb = MEMORY_BACKEND_FILE(o); uint64_t val = fb->align; - visit_type_size(v, name, &val, errp); + return visit_type_size(v, name, &val, errp); } static void file_memory_backend_set_align(Object *o, Visitor *v, diff --git a/backends/hostmem-memfd.c b/backends/hostmem-memfd.c index 4c040a7541..278bdb3308 100644 --- a/backends/hostmem-memfd.c +++ b/backends/hostmem-memfd.c @@ -95,14 +95,14 @@ memfd_backend_set_hugetlbsize(Object *obj, Visitor *v, const char *name, m->hugetlbsize = value; } -static void +static bool memfd_backend_get_hugetlbsize(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { HostMemoryBackendMemfd *m = MEMORY_BACKEND_MEMFD(obj); uint64_t value = m->hugetlbsize; - visit_type_size(v, name, &value, errp); + return visit_type_size(v, name, &value, errp); } static bool diff --git a/backends/hostmem.c b/backends/hostmem.c index c614f1bdc1..230a76571d 100644 --- a/backends/hostmem.c +++ b/backends/hostmem.c @@ -39,14 +39,14 @@ host_memory_backend_get_name(HostMemoryBackend *backend) return object_get_canonical_path(OBJECT(backend)); } -static void +static bool host_memory_backend_get_size(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { HostMemoryBackend *backend = MEMORY_BACKEND(obj); uint64_t value = backend->size; - visit_type_size(v, name, &value, errp); + return visit_type_size(v, name, &value, errp); } static void @@ -74,7 +74,7 @@ host_memory_backend_set_size(Object *obj, Visitor *v, const char *name, backend->size = value; } -static void +static bool host_memory_backend_get_host_nodes(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { @@ -104,7 +104,7 @@ host_memory_backend_get_host_nodes(Object *obj, Visitor *v, const char *name, } while (true); ret: - visit_type_uint16List(v, name, &host_nodes, errp); + return visit_type_uint16List(v, name, &host_nodes, errp); } static void @@ -239,11 +239,12 @@ static void host_memory_backend_set_prealloc(Object *obj, bool value, } } -static void host_memory_backend_get_prealloc_threads(Object *obj, Visitor *v, +static bool host_memory_backend_get_prealloc_threads(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { HostMemoryBackend *backend = MEMORY_BACKEND(obj); - visit_type_uint32(v, name, &backend->prealloc_threads, errp); + + return visit_type_uint32(v, name, &backend->prealloc_threads, errp); } static void host_memory_backend_set_prealloc_threads(Object *obj, Visitor *v, diff --git a/backends/tpm/tpm_util.c b/backends/tpm/tpm_util.c index 235b006498..66103b8d63 100644 --- a/backends/tpm/tpm_util.c +++ b/backends/tpm/tpm_util.c @@ -32,7 +32,7 @@ /* tpm backend property */ -static void get_tpm(Object *obj, Visitor *v, const char *name, void *opaque, +static bool get_tpm(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); @@ -40,7 +40,7 @@ static void get_tpm(Object *obj, Visitor *v, const char *name, void *opaque, g_autofree char *p; p = g_strdup(*be ? (*be)->id : ""); - visit_type_str(v, name, &p, errp); + return visit_type_str(v, name, &p, errp); } static void set_tpm(Object *obj, Visitor *v, const char *name, void *opaque, diff --git a/block/throttle-groups.c b/block/throttle-groups.c index 03a53c89ea..8d5fd02b1d 100644 --- a/block/throttle-groups.c +++ b/block/throttle-groups.c @@ -852,7 +852,7 @@ static void throttle_group_set(Object *obj, Visitor *v, const char * name, } } -static void throttle_group_get(Object *obj, Visitor *v, const char *name, +static bool throttle_group_get(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { ThrottleGroup *tg = THROTTLE_GROUP(obj); @@ -876,7 +876,7 @@ static void throttle_group_get(Object *obj, Visitor *v, const char *name, break; } - visit_type_int64(v, name, &value, errp); + return visit_type_int64(v, name, &value, errp); } static void throttle_group_set_limits(Object *obj, Visitor *v, @@ -907,7 +907,7 @@ unlock: return; } -static void throttle_group_get_limits(Object *obj, Visitor *v, +static bool throttle_group_get_limits(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { @@ -922,7 +922,7 @@ static void throttle_group_get_limits(Object *obj, Visitor *v, throttle_config_to_limits(&cfg, argp); - visit_type_ThrottleLimits(v, name, &argp, errp); + return visit_type_ThrottleLimits(v, name, &argp, errp); } static bool throttle_group_can_be_deleted(UserCreatable *uc) diff --git a/bootdevice.c b/bootdevice.c index add4e3d2d1..227c183c06 100644 --- a/bootdevice.c +++ b/bootdevice.c @@ -283,11 +283,11 @@ typedef struct { DeviceState *dev; } BootIndexProperty; -static void device_get_bootindex(Object *obj, Visitor *v, const char *name, +static bool device_get_bootindex(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { BootIndexProperty *prop = opaque; - visit_type_int32(v, name, prop->bootindex, errp); + return visit_type_int32(v, name, prop->bootindex, errp); } static void device_set_bootindex(Object *obj, Visitor *v, const char *name, diff --git a/chardev/char-socket.c b/chardev/char-socket.c index ef62dbf3d7..12468dbba1 100644 --- a/chardev/char-socket.c +++ b/chardev/char-socket.c @@ -1462,13 +1462,13 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend, sock->addr = addr; } -static void +static bool char_socket_get_addr(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { SocketChardev *s = SOCKET_CHARDEV(obj); - visit_type_SocketAddress(v, name, &s->addr, errp); + return visit_type_SocketAddress(v, name, &s->addr, errp); } static bool diff --git a/crypto/secret_keyring.c b/crypto/secret_keyring.c index 8bfc58ebf4..55459aab0b 100644 --- a/crypto/secret_keyring.c +++ b/crypto/secret_keyring.c @@ -91,14 +91,15 @@ qcrypto_secret_prop_set_key(Object *obj, Visitor *v, } -static void +static bool qcrypto_secret_prop_get_key(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { QCryptoSecretKeyring *secret = QCRYPTO_SECRET_KEYRING(obj); int32_t value = secret->serial; - visit_type_int32(v, name, &value, errp); + + return visit_type_int32(v, name, &value, errp); } diff --git a/hw/acpi/ich9.c b/hw/acpi/ich9.c index 6a19070cec..93d48231ba 100644 --- a/hw/acpi/ich9.c +++ b/hw/acpi/ich9.c @@ -313,13 +313,13 @@ void ich9_pm_init(PCIDevice *lpc_pci, ICH9LPCPMRegs *pm, } } -static void ich9_pm_get_gpe0_blk(Object *obj, Visitor *v, const char *name, +static bool ich9_pm_get_gpe0_blk(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { ICH9LPCPMRegs *pm = opaque; uint32_t value = pm->pm_io_base + ICH9_PMIO_GPE0_STS; - visit_type_uint32(v, name, &value, errp); + return visit_type_uint32(v, name, &value, errp); } static bool ich9_pm_get_memory_hotplug_support(Object *obj, Error **errp) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 9005dae356..3282e1fc3a 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -2030,13 +2030,13 @@ bool virt_is_acpi_enabled(VirtMachineState *vms) return true; } -static void virt_get_acpi(Object *obj, Visitor *v, const char *name, +static bool virt_get_acpi(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { VirtMachineState *vms = VIRT_MACHINE(obj); OnOffAuto acpi = vms->acpi; - visit_type_OnOffAuto(v, name, &acpi, errp); + return visit_type_OnOffAuto(v, name, &acpi, errp); } static void virt_set_acpi(Object *obj, Visitor *v, const char *name, diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c index 8c23b895d9..49b2133efc 100644 --- a/hw/block/xen-block.c +++ b/hw/block/xen-block.c @@ -332,7 +332,7 @@ static char *disk_to_vbd_name(unsigned int disk) return name; } -static void xen_block_get_vdev(Object *obj, Visitor *v, const char *name, +static bool xen_block_get_vdev(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); @@ -362,10 +362,10 @@ static void xen_block_get_vdev(Object *obj, Visitor *v, const char *name, } default: error_setg(errp, "invalid vdev type"); - return; + return false; } - visit_type_str(v, name, &str, errp); + return visit_type_str(v, name, &str, errp); } static int vbd_name_to_disk(const char *name, const char **endp, diff --git a/hw/core/machine.c b/hw/core/machine.c index eb267b828d..af4279c6b7 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -275,14 +275,14 @@ static void machine_set_dumpdtb(Object *obj, const char *value, Error **errp) ms->dumpdtb = g_strdup(value); } -static void machine_get_phandle_start(Object *obj, Visitor *v, +static bool machine_get_phandle_start(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { MachineState *ms = MACHINE(obj); int64_t value = ms->phandle_start; - visit_type_int(v, name, &value, errp); + return visit_type_int(v, name, &value, errp); } static void machine_set_phandle_start(Object *obj, Visitor *v, diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-system.c index 28682eda31..aee2e906f2 100644 --- a/hw/core/qdev-properties-system.c +++ b/hw/core/qdev-properties-system.c @@ -49,7 +49,7 @@ static bool check_prop_still_unset(DeviceState *dev, const char *name, /* --- drive --- */ -static void get_drive(Object *obj, Visitor *v, const char *name, void *opaque, +static bool get_drive(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); @@ -69,9 +69,9 @@ static void get_drive(Object *obj, Visitor *v, const char *name, void *opaque, } else { value = ""; } - p = g_strdup(value); - visit_type_str(v, name, &p, errp); + + return visit_type_str(v, name, &p, errp); } static void set_drive_helper(Object *obj, Visitor *v, const char *name, @@ -207,7 +207,7 @@ const PropertyInfo qdev_prop_drive_iothread = { /* --- character device --- */ -static void get_chr(Object *obj, Visitor *v, const char *name, void *opaque, +static bool get_chr(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); @@ -215,7 +215,8 @@ static void get_chr(Object *obj, Visitor *v, const char *name, void *opaque, g_autofree char *p; p = g_strdup(be->chr && be->chr->label ? be->chr->label : ""); - visit_type_str(v, name, &p, errp); + + return visit_type_str(v, name, &p, errp); } static void set_chr(Object *obj, Visitor *v, const char *name, void *opaque, @@ -279,7 +280,7 @@ const PropertyInfo qdev_prop_chr = { }; /* --- netdev device --- */ -static void get_netdev(Object *obj, Visitor *v, const char *name, +static bool get_netdev(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); @@ -288,7 +289,8 @@ static void get_netdev(Object *obj, Visitor *v, const char *name, g_autofree char *p; p = g_strdup(peers_ptr->ncs[0] ? peers_ptr->ncs[0]->name : ""); - visit_type_str(v, name, &p, errp); + + return visit_type_str(v, name, &p, errp); } static void set_netdev(Object *obj, Visitor *v, const char *name, @@ -359,7 +361,7 @@ const PropertyInfo qdev_prop_netdev = { /* --- audiodev --- */ -static void get_audiodev(Object *obj, Visitor *v, const char* name, +static bool get_audiodev(Object *obj, Visitor *v, const char* name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); @@ -367,7 +369,7 @@ static void get_audiodev(Object *obj, Visitor *v, const char* name, QEMUSoundCard *card = qdev_get_prop_ptr(dev, prop); g_autofree char *p = g_strdup(audio_get_id(card)); - visit_type_str(v, name, &p, errp); + return visit_type_str(v, name, &p, errp); } static void set_audiodev(Object *obj, Visitor *v, const char* name, diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c index d5f5aa150b..fa74f2acb1 100644 --- a/hw/core/qdev-properties.c +++ b/hw/core/qdev-properties.c @@ -51,14 +51,14 @@ void *qdev_get_prop_ptr(DeviceState *dev, Property *prop) return ptr; } -static void get_enum(Object *obj, Visitor *v, const char *name, void *opaque, +static bool get_enum(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); Property *prop = opaque; int *ptr = qdev_get_prop_ptr(dev, prop); - visit_type_enum(v, prop->name, ptr, prop->info->enum_table, errp); + return visit_type_enum(v, prop->name, ptr, prop->info->enum_table, errp); } static void set_enum(Object *obj, Visitor *v, const char *name, void *opaque, @@ -101,7 +101,7 @@ static void bit_prop_set(DeviceState *dev, Property *props, bool val) } } -static void prop_get_bit(Object *obj, Visitor *v, const char *name, +static bool prop_get_bit(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); @@ -109,7 +109,7 @@ static void prop_get_bit(Object *obj, Visitor *v, const char *name, uint32_t *p = qdev_get_prop_ptr(dev, prop); bool value = (*p & qdev_get_prop_mask(prop)) != 0; - visit_type_bool(v, name, &value, errp); + return visit_type_bool(v, name, &value, errp); } static void prop_set_bit(Object *obj, Visitor *v, const char *name, @@ -162,7 +162,7 @@ static void bit64_prop_set(DeviceState *dev, Property *props, bool val) } } -static void prop_get_bit64(Object *obj, Visitor *v, const char *name, +static bool prop_get_bit64(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); @@ -170,7 +170,7 @@ static void prop_get_bit64(Object *obj, Visitor *v, const char *name, uint64_t *p = qdev_get_prop_ptr(dev, prop); bool value = (*p & qdev_get_prop_mask64(prop)) != 0; - visit_type_bool(v, name, &value, errp); + return visit_type_bool(v, name, &value, errp); } static void prop_set_bit64(Object *obj, Visitor *v, const char *name, @@ -201,14 +201,14 @@ const PropertyInfo qdev_prop_bit64 = { /* --- bool --- */ -static void get_bool(Object *obj, Visitor *v, const char *name, void *opaque, +static bool get_bool(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); Property *prop = opaque; bool *ptr = qdev_get_prop_ptr(dev, prop); - visit_type_bool(v, name, ptr, errp); + return visit_type_bool(v, name, ptr, errp); } static void set_bool(Object *obj, Visitor *v, const char *name, void *opaque, @@ -235,14 +235,14 @@ const PropertyInfo qdev_prop_bool = { /* --- 8bit integer --- */ -static void get_uint8(Object *obj, Visitor *v, const char *name, void *opaque, +static bool get_uint8(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); Property *prop = opaque; uint8_t *ptr = qdev_get_prop_ptr(dev, prop); - visit_type_uint8(v, name, ptr, errp); + return visit_type_uint8(v, name, ptr, errp); } static void set_uint8(Object *obj, Visitor *v, const char *name, void *opaque, @@ -279,14 +279,14 @@ const PropertyInfo qdev_prop_uint8 = { /* --- 16bit integer --- */ -static void get_uint16(Object *obj, Visitor *v, const char *name, +static bool get_uint16(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); Property *prop = opaque; uint16_t *ptr = qdev_get_prop_ptr(dev, prop); - visit_type_uint16(v, name, ptr, errp); + return visit_type_uint16(v, name, ptr, errp); } static void set_uint16(Object *obj, Visitor *v, const char *name, @@ -313,14 +313,14 @@ const PropertyInfo qdev_prop_uint16 = { /* --- 32bit integer --- */ -static void get_uint32(Object *obj, Visitor *v, const char *name, +static bool get_uint32(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); Property *prop = opaque; uint32_t *ptr = qdev_get_prop_ptr(dev, prop); - visit_type_uint32(v, name, ptr, errp); + return visit_type_uint32(v, name, ptr, errp); } static void set_uint32(Object *obj, Visitor *v, const char *name, @@ -338,14 +338,14 @@ static void set_uint32(Object *obj, Visitor *v, const char *name, visit_type_uint32(v, name, ptr, errp); } -static void get_int32(Object *obj, Visitor *v, const char *name, void *opaque, +static bool get_int32(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); Property *prop = opaque; int32_t *ptr = qdev_get_prop_ptr(dev, prop); - visit_type_int32(v, name, ptr, errp); + return visit_type_int32(v, name, ptr, errp); } static void set_int32(Object *obj, Visitor *v, const char *name, void *opaque, @@ -379,14 +379,14 @@ const PropertyInfo qdev_prop_int32 = { /* --- 64bit integer --- */ -static void get_uint64(Object *obj, Visitor *v, const char *name, +static bool get_uint64(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); Property *prop = opaque; uint64_t *ptr = qdev_get_prop_ptr(dev, prop); - visit_type_uint64(v, name, ptr, errp); + return visit_type_uint64(v, name, ptr, errp); } static void set_uint64(Object *obj, Visitor *v, const char *name, @@ -404,14 +404,14 @@ static void set_uint64(Object *obj, Visitor *v, const char *name, visit_type_uint64(v, name, ptr, errp); } -static void get_int64(Object *obj, Visitor *v, const char *name, +static bool get_int64(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); Property *prop = opaque; int64_t *ptr = qdev_get_prop_ptr(dev, prop); - visit_type_int64(v, name, ptr, errp); + return visit_type_int64(v, name, ptr, errp); } static void set_int64(Object *obj, Visitor *v, const char *name, @@ -451,7 +451,7 @@ static void release_string(Object *obj, const char *name, void *opaque) g_free(*(char **)qdev_get_prop_ptr(DEVICE(obj), prop)); } -static void get_string(Object *obj, Visitor *v, const char *name, +static bool get_string(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); @@ -460,10 +460,10 @@ static void get_string(Object *obj, Visitor *v, const char *name, if (!*ptr) { char *str = (char *)""; - visit_type_str(v, name, &str, errp); - } else { - visit_type_str(v, name, ptr, errp); + return visit_type_str(v, name, &str, errp); } + + return visit_type_str(v, name, ptr, errp); } static void set_string(Object *obj, Visitor *v, const char *name, @@ -500,7 +500,7 @@ const PropertyInfo qdev_prop_string = { * 01:02:03:04:05:06 * 01-02-03-04-05-06 */ -static void get_mac(Object *obj, Visitor *v, const char *name, void *opaque, +static bool get_mac(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); @@ -513,7 +513,7 @@ static void get_mac(Object *obj, Visitor *v, const char *name, void *opaque, mac->a[0], mac->a[1], mac->a[2], mac->a[3], mac->a[4], mac->a[5]); - visit_type_str(v, name, &p, errp); + return visit_type_str(v, name, &p, errp); } static void set_mac(Object *obj, Visitor *v, const char *name, void *opaque, @@ -575,7 +575,7 @@ const PropertyInfo qdev_prop_macaddr = { * where low/high addresses are uint64_t in hexadecimal * and type is a non-negative decimal integer */ -static void get_reserved_region(Object *obj, Visitor *v, const char *name, +static bool get_reserved_region(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); @@ -586,7 +586,7 @@ static void get_reserved_region(Object *obj, Visitor *v, const char *name, p = g_strdup_printf("0x%"PRIx64":0x%"PRIx64":%u", rr->low, rr->high, rr->type); - visit_type_str(v, name, &p, errp); + return visit_type_str(v, name, &p, errp); } static void set_reserved_region(Object *obj, Visitor *v, const char *name, @@ -800,7 +800,7 @@ const PropertyInfo qdev_prop_pci_devfn = { /* --- 32bit unsigned int 'size' type --- */ -static void get_size32(Object *obj, Visitor *v, const char *name, void *opaque, +static bool get_size32(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); @@ -808,7 +808,7 @@ static void get_size32(Object *obj, Visitor *v, const char *name, void *opaque, uint32_t *ptr = qdev_get_prop_ptr(dev, prop); uint64_t value = *ptr; - visit_type_size(v, name, &value, errp); + return visit_type_size(v, name, &value, errp); } static void set_size32(Object *obj, Visitor *v, const char *name, void *opaque, @@ -906,7 +906,7 @@ const PropertyInfo qdev_prop_blocksize = { /* --- pci host address --- */ -static void get_pci_host_devaddr(Object *obj, Visitor *v, const char *name, +static bool get_pci_host_devaddr(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); @@ -926,7 +926,7 @@ static void get_pci_host_devaddr(Object *obj, Visitor *v, const char *name, assert(rc == sizeof(buffer) - 1); } - visit_type_str(v, name, &p, errp); + return visit_type_str(v, name, &p, errp); } /* @@ -1018,7 +1018,7 @@ const PropertyInfo qdev_prop_pci_host_devaddr = { /* --- UUID --- */ -static void get_uuid(Object *obj, Visitor *v, const char *name, void *opaque, +static bool get_uuid(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); @@ -1029,7 +1029,7 @@ static void get_uuid(Object *obj, Visitor *v, const char *name, void *opaque, qemu_uuid_unparse(uuid, buffer); - visit_type_str(v, name, &p, errp); + return visit_type_str(v, name, &p, errp); } #define UUID_VALUE_AUTO "auto" @@ -1358,14 +1358,14 @@ void qdev_prop_set_globals(DeviceState *dev) /* --- 64bit unsigned int 'size' type --- */ -static void get_size(Object *obj, Visitor *v, const char *name, void *opaque, +static bool get_size(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); Property *prop = opaque; uint64_t *ptr = qdev_get_prop_ptr(dev, prop); - visit_type_size(v, name, ptr, errp); + return visit_type_size(v, name, ptr, errp); } static void set_size(Object *obj, Visitor *v, const char *name, void *opaque, @@ -1413,7 +1413,7 @@ const PropertyInfo qdev_prop_off_auto_pcibar = { /* --- PCIELinkSpeed 2_5/5/8/16 -- */ -static void get_prop_pcielinkspeed(Object *obj, Visitor *v, const char *name, +static bool get_prop_pcielinkspeed(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); @@ -1439,7 +1439,7 @@ static void get_prop_pcielinkspeed(Object *obj, Visitor *v, const char *name, abort(); } - visit_type_enum(v, prop->name, &speed, prop->info->enum_table, errp); + return visit_type_enum(v, prop->name, &speed, prop->info->enum_table, errp); } static void set_prop_pcielinkspeed(Object *obj, Visitor *v, const char *name, @@ -1490,7 +1490,7 @@ const PropertyInfo qdev_prop_pcie_link_speed = { /* --- PCIELinkWidth 1/2/4/8/12/16/32 -- */ -static void get_prop_pcielinkwidth(Object *obj, Visitor *v, const char *name, +static bool get_prop_pcielinkwidth(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); @@ -1525,7 +1525,7 @@ static void get_prop_pcielinkwidth(Object *obj, Visitor *v, const char *name, abort(); } - visit_type_enum(v, prop->name, &width, prop->info->enum_table, errp); + return visit_type_enum(v, prop->name, &width, prop->info->enum_table, errp); } static void set_prop_pcielinkwidth(Object *obj, Visitor *v, const char *name, diff --git a/hw/core/qdev.c b/hw/core/qdev.c index 01796823b4..85c8ec3ddb 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -726,7 +726,7 @@ char *qdev_get_dev_path(DeviceState *dev) * Legacy property handling */ -static void qdev_get_legacy_property(Object *obj, Visitor *v, +static bool qdev_get_legacy_property(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { @@ -737,7 +737,8 @@ static void qdev_get_legacy_property(Object *obj, Visitor *v, char *ptr = buffer; prop->info->print(dev, prop, buffer, sizeof(buffer)); - visit_type_str(v, name, &ptr, errp); + + return visit_type_str(v, name, &ptr, errp); } /** diff --git a/hw/cpu/core.c b/hw/cpu/core.c index 3a659291ea..93c0c4d44c 100644 --- a/hw/cpu/core.c +++ b/hw/cpu/core.c @@ -15,13 +15,13 @@ #include "sysemu/cpus.h" #include "hw/boards.h" -static void core_prop_get_core_id(Object *obj, Visitor *v, const char *name, +static bool core_prop_get_core_id(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { CPUCore *core = CPU_CORE(obj); int64_t value = core->core_id; - visit_type_int(v, name, &value, errp); + return visit_type_int(v, name, &value, errp); } static void core_prop_set_core_id(Object *obj, Visitor *v, const char *name, @@ -42,13 +42,13 @@ static void core_prop_set_core_id(Object *obj, Visitor *v, const char *name, core->core_id = value; } -static void core_prop_get_nr_threads(Object *obj, Visitor *v, const char *name, +static bool core_prop_get_nr_threads(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { CPUCore *core = CPU_CORE(obj); int64_t value = core->nr_threads; - visit_type_int(v, name, &value, errp); + return visit_type_int(v, name, &value, errp); } static void core_prop_set_nr_threads(Object *obj, Visitor *v, const char *name, diff --git a/hw/gpio/aspeed_gpio.c b/hw/gpio/aspeed_gpio.c index 985a259e05..d91b81758d 100644 --- a/hw/gpio/aspeed_gpio.c +++ b/hw/gpio/aspeed_gpio.c @@ -726,7 +726,7 @@ static int get_set_idx(AspeedGPIOState *s, const char *group, int *group_idx) return -1; } -static void aspeed_gpio_get_pin(Object *obj, Visitor *v, const char *name, +static bool aspeed_gpio_get_pin(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { int pin = 0xfff; @@ -739,17 +739,17 @@ static void aspeed_gpio_get_pin(Object *obj, Visitor *v, const char *name, /* 1.8V gpio */ if (sscanf(name, "gpio%3[18A-E]%1d", group, &pin) != 2) { error_setg(errp, "%s: error reading %s", __func__, name); - return; + return false; } } set_idx = get_set_idx(s, group, &group_idx); if (set_idx == -1) { error_setg(errp, "%s: invalid group %s", __func__, group); - return; + return false; } pin = pin + group_idx * GPIOS_PER_GROUP; level = aspeed_gpio_get_pin_level(s, set_idx, pin); - visit_type_bool(v, name, &level, errp); + return visit_type_bool(v, name, &level, errp); } static void aspeed_gpio_set_pin(Object *obj, Visitor *v, const char *name, diff --git a/hw/i386/microvm.c b/hw/i386/microvm.c index 81d0888930..170b5077dc 100644 --- a/hw/i386/microvm.c +++ b/hw/i386/microvm.c @@ -339,13 +339,13 @@ static void microvm_machine_reset(MachineState *machine) } } -static void microvm_machine_get_pic(Object *obj, Visitor *v, const char *name, +static bool microvm_machine_get_pic(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { MicrovmMachineState *mms = MICROVM_MACHINE(obj); OnOffAuto pic = mms->pic; - visit_type_OnOffAuto(v, name, &pic, errp); + return visit_type_OnOffAuto(v, name, &pic, errp); } static void microvm_machine_set_pic(Object *obj, Visitor *v, const char *name, @@ -356,13 +356,13 @@ static void microvm_machine_set_pic(Object *obj, Visitor *v, const char *name, visit_type_OnOffAuto(v, name, &mms->pic, errp); } -static void microvm_machine_get_pit(Object *obj, Visitor *v, const char *name, +static bool microvm_machine_get_pit(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { MicrovmMachineState *mms = MICROVM_MACHINE(obj); OnOffAuto pit = mms->pit; - visit_type_OnOffAuto(v, name, &pit, errp); + return visit_type_OnOffAuto(v, name, &pit, errp); } static void microvm_machine_set_pit(Object *obj, Visitor *v, const char *name, @@ -373,13 +373,13 @@ static void microvm_machine_set_pit(Object *obj, Visitor *v, const char *name, visit_type_OnOffAuto(v, name, &mms->pit, errp); } -static void microvm_machine_get_rtc(Object *obj, Visitor *v, const char *name, +static bool microvm_machine_get_rtc(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { MicrovmMachineState *mms = MICROVM_MACHINE(obj); OnOffAuto rtc = mms->rtc; - visit_type_OnOffAuto(v, name, &rtc, errp); + return visit_type_OnOffAuto(v, name, &rtc, errp); } static void microvm_machine_set_rtc(Object *obj, Visitor *v, const char *name, diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 3d419d5991..a95252f6c8 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1758,7 +1758,7 @@ static HotplugHandler *pc_get_hotplug_handler(MachineState *machine, return NULL; } -static void +static bool pc_machine_get_device_memory_region_size(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) @@ -1770,16 +1770,16 @@ pc_machine_get_device_memory_region_size(Object *obj, Visitor *v, value = memory_region_size(&ms->device_memory->mr); } - visit_type_int(v, name, &value, errp); + return visit_type_int(v, name, &value, errp); } -static void pc_machine_get_vmport(Object *obj, Visitor *v, const char *name, +static bool pc_machine_get_vmport(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { PCMachineState *pcms = PC_MACHINE(obj); OnOffAuto vmport = pcms->vmport; - visit_type_OnOffAuto(v, name, &vmport, errp); + return visit_type_OnOffAuto(v, name, &vmport, errp); } static void pc_machine_set_vmport(Object *obj, Visitor *v, const char *name, @@ -1832,14 +1832,14 @@ static void pc_machine_set_pit(Object *obj, bool value, Error **errp) pcms->pit_enabled = value; } -static void pc_machine_get_max_ram_below_4g(Object *obj, Visitor *v, +static bool pc_machine_get_max_ram_below_4g(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { PCMachineState *pcms = PC_MACHINE(obj); uint64_t value = pcms->max_ram_below_4g; - visit_type_size(v, name, &value, errp); + return visit_type_size(v, name, &value, errp); } static void pc_machine_set_max_ram_below_4g(Object *obj, Visitor *v, diff --git a/hw/i386/x86.c b/hw/i386/x86.c index 67bee1bcb8..583f4e4e52 100644 --- a/hw/i386/x86.c +++ b/hw/i386/x86.c @@ -870,13 +870,13 @@ bool x86_machine_is_smm_enabled(X86MachineState *x86ms) return false; } -static void x86_machine_get_smm(Object *obj, Visitor *v, const char *name, +static bool x86_machine_get_smm(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { X86MachineState *x86ms = X86_MACHINE(obj); OnOffAuto smm = x86ms->smm; - visit_type_OnOffAuto(v, name, &smm, errp); + return visit_type_OnOffAuto(v, name, &smm, errp); } static void x86_machine_set_smm(Object *obj, Visitor *v, const char *name, @@ -895,13 +895,13 @@ bool x86_machine_is_acpi_enabled(X86MachineState *x86ms) return true; } -static void x86_machine_get_acpi(Object *obj, Visitor *v, const char *name, +static bool x86_machine_get_acpi(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { X86MachineState *x86ms = X86_MACHINE(obj); OnOffAuto acpi = x86ms->acpi; - visit_type_OnOffAuto(v, name, &acpi, errp); + return visit_type_OnOffAuto(v, name, &acpi, errp); } static void x86_machine_set_acpi(Object *obj, Visitor *v, const char *name, diff --git a/hw/ide/qdev.c b/hw/ide/qdev.c index 27ff1f7f66..a404596b70 100644 --- a/hw/ide/qdev.c +++ b/hw/ide/qdev.c @@ -230,12 +230,12 @@ static void ide_dev_initfn(IDEDevice *dev, IDEDriveKind kind, Error **errp) dev->conf.lsecs); } -static void ide_dev_get_bootindex(Object *obj, Visitor *v, const char *name, +static bool ide_dev_get_bootindex(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { IDEDevice *d = IDE_DEVICE(obj); - visit_type_int32(v, name, &d->conf.bootindex, errp); + return visit_type_int32(v, name, &d->conf.bootindex, errp); } static void ide_dev_set_bootindex(Object *obj, Visitor *v, const char *name, diff --git a/hw/intc/apic_common.c b/hw/intc/apic_common.c index 81addd6390..c428f96a21 100644 --- a/hw/intc/apic_common.c +++ b/hw/intc/apic_common.c @@ -424,14 +424,14 @@ static Property apic_properties_common[] = { DEFINE_PROP_END_OF_LIST(), }; -static void apic_common_get_id(Object *obj, Visitor *v, const char *name, +static bool apic_common_get_id(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { APICCommonState *s = APIC_COMMON(obj); uint32_t value; value = s->apicbase & MSR_IA32_APICBASE_EXTD ? s->initial_apic_id : s->id; - visit_type_uint32(v, name, &value, errp); + return visit_type_uint32(v, name, &value, errp); } static void apic_common_set_id(Object *obj, Visitor *v, const char *name, diff --git a/hw/mem/nvdimm.c b/hw/mem/nvdimm.c index b55de7dbe1..8b7940ca08 100644 --- a/hw/mem/nvdimm.c +++ b/hw/mem/nvdimm.c @@ -32,13 +32,13 @@ #include "hw/mem/memory-device.h" #include "sysemu/hostmem.h" -static void nvdimm_get_label_size(Object *obj, Visitor *v, const char *name, +static bool nvdimm_get_label_size(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { NVDIMMDevice *nvdimm = NVDIMM(obj); uint64_t value = nvdimm->label_size; - visit_type_size(v, name, &value, errp); + return visit_type_size(v, name, &value, errp); } static void nvdimm_set_label_size(Object *obj, Visitor *v, const char *name, @@ -65,7 +65,7 @@ static void nvdimm_set_label_size(Object *obj, Visitor *v, const char *name, nvdimm->label_size = value; } -static void nvdimm_get_uuid(Object *obj, Visitor *v, const char *name, +static bool nvdimm_get_uuid(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { NVDIMMDevice *nvdimm = NVDIMM(obj); @@ -73,7 +73,7 @@ static void nvdimm_get_uuid(Object *obj, Visitor *v, const char *name, value = qemu_uuid_unparse_strdup(&nvdimm->uuid); - visit_type_str(v, name, &value, errp); + return visit_type_str(v, name, &value, errp); } diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c index 9d3f0b9691..d4f2dd69d7 100644 --- a/hw/mem/pc-dimm.c +++ b/hw/mem/pc-dimm.c @@ -147,7 +147,7 @@ static Property pc_dimm_properties[] = { DEFINE_PROP_END_OF_LIST(), }; -static void pc_dimm_get_size(Object *obj, Visitor *v, const char *name, +static bool pc_dimm_get_size(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { Error *local_err = NULL; @@ -156,10 +156,10 @@ static void pc_dimm_get_size(Object *obj, Visitor *v, const char *name, value = memory_device_get_region_size(MEMORY_DEVICE(obj), &local_err); if (local_err) { error_propagate(errp, local_err); - return; + return false; } - visit_type_uint64(v, name, &value, errp); + return visit_type_uint64(v, name, &value, errp); } static void pc_dimm_init(Object *obj) diff --git a/hw/misc/aspeed_sdmc.c b/hw/misc/aspeed_sdmc.c index 0737d8de81..7df5797689 100644 --- a/hw/misc/aspeed_sdmc.c +++ b/hw/misc/aspeed_sdmc.c @@ -208,13 +208,13 @@ static void aspeed_sdmc_reset(DeviceState *dev) s->regs[R_CONF] = asc->compute_conf(s, 0); } -static void aspeed_sdmc_get_ram_size(Object *obj, Visitor *v, const char *name, +static bool aspeed_sdmc_get_ram_size(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { AspeedSDMCState *s = ASPEED_SDMC(obj); int64_t value = s->ram_size; - visit_type_int(v, name, &value, errp); + return visit_type_int(v, name, &value, errp); } static void aspeed_sdmc_set_ram_size(Object *obj, Visitor *v, const char *name, diff --git a/hw/misc/pca9552.c b/hw/misc/pca9552.c index e4ccdeaf78..c6e25a7ef3 100644 --- a/hw/misc/pca9552.c +++ b/hw/misc/pca9552.c @@ -249,7 +249,7 @@ static int pca955x_event(I2CSlave *i2c, enum i2c_event event) return 0; } -static void pca955x_get_led(Object *obj, Visitor *v, const char *name, +static bool pca955x_get_led(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { PCA955xClass *k = PCA955X_GET_CLASS(obj); @@ -260,11 +260,11 @@ static void pca955x_get_led(Object *obj, Visitor *v, const char *name, rc = sscanf(name, "led%2d", &led); if (rc != 1) { error_setg(errp, "%s: error reading %s", __func__, name); - return; + return false; } if (led < 0 || led > k->pin_count) { error_setg(errp, "%s invalid led %s", __func__, name); - return; + return false; } /* * Get the LSx register as the qom interface should expose the device @@ -273,7 +273,7 @@ static void pca955x_get_led(Object *obj, Visitor *v, const char *name, */ reg = PCA9552_LS0 + led / 4; state = (pca955x_read(s, reg) >> (led % 8)) & 0x3; - visit_type_str(v, name, (char **)&led_state[state], errp); + return visit_type_str(v, name, (char **)&led_state[state], errp); } /* diff --git a/hw/misc/tmp105.c b/hw/misc/tmp105.c index b47120492a..af55ad7996 100644 --- a/hw/misc/tmp105.c +++ b/hw/misc/tmp105.c @@ -56,13 +56,13 @@ static void tmp105_alarm_update(TMP105State *s) tmp105_interrupt_update(s); } -static void tmp105_get_temperature(Object *obj, Visitor *v, const char *name, +static bool tmp105_get_temperature(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { TMP105State *s = TMP105(obj); int64_t value = s->temperature * 1000 / 256; - visit_type_int(v, name, &value, errp); + return visit_type_int(v, name, &value, errp); } /* Units are 0.001 centigrades relative to 0 C. s->temperature is 8.8 diff --git a/hw/misc/tmp421.c b/hw/misc/tmp421.c index 49abe2d246..5c8ca3dc51 100644 --- a/hw/misc/tmp421.c +++ b/hw/misc/tmp421.c @@ -110,7 +110,7 @@ typedef struct TMP421Class { static const int32_t mins[2] = { -40000, -55000 }; static const int32_t maxs[2] = { 127000, 150000 }; -static void tmp421_get_temperature(Object *obj, Visitor *v, const char *name, +static bool tmp421_get_temperature(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { TMP421State *s = TMP421(obj); @@ -121,17 +121,17 @@ static void tmp421_get_temperature(Object *obj, Visitor *v, const char *name, if (sscanf(name, "temperature%d", &tempid) != 1) { error_setg(errp, "error reading %s: %s", name, g_strerror(errno)); - return; + return false; } if (tempid >= 4 || tempid < 0) { error_setg(errp, "error reading %s", name); - return; + return false; } value = ((s->temperature[tempid] - offset) * 1000 + 128) / 256; - visit_type_int(v, name, &value, errp); + return visit_type_int(v, name, &value, errp); } /* Units are 0.001 centigrades relative to 0 C. s->temperature is 8.8 diff --git a/hw/net/ne2000-isa.c b/hw/net/ne2000-isa.c index a878056426..4b49438e67 100644 --- a/hw/net/ne2000-isa.c +++ b/hw/net/ne2000-isa.c @@ -94,14 +94,14 @@ static void isa_ne2000_class_initfn(ObjectClass *klass, void *data) set_bit(DEVICE_CATEGORY_NETWORK, dc->categories); } -static void isa_ne2000_get_bootindex(Object *obj, Visitor *v, +static bool isa_ne2000_get_bootindex(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { ISANE2000State *isa = ISA_NE2000(obj); NE2000State *s = &isa->ne2000; - visit_type_int32(v, name, &s->c.bootindex, errp); + return visit_type_int32(v, name, &s->c.bootindex, errp); } static void isa_ne2000_set_bootindex(Object *obj, Visitor *v, diff --git a/hw/pci-host/i440fx.c b/hw/pci-host/i440fx.c index 8ed2417f0c..5be78b46c4 100644 --- a/hw/pci-host/i440fx.c +++ b/hw/pci-host/i440fx.c @@ -118,7 +118,7 @@ static const VMStateDescription vmstate_i440fx = { } }; -static void i440fx_pcihost_get_pci_hole_start(Object *obj, Visitor *v, +static bool i440fx_pcihost_get_pci_hole_start(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { @@ -129,10 +129,10 @@ static void i440fx_pcihost_get_pci_hole_start(Object *obj, Visitor *v, val64 = range_is_empty(&s->pci_hole) ? 0 : range_lob(&s->pci_hole); value = val64; assert(value == val64); - visit_type_uint32(v, name, &value, errp); + return visit_type_uint32(v, name, &value, errp); } -static void i440fx_pcihost_get_pci_hole_end(Object *obj, Visitor *v, +static bool i440fx_pcihost_get_pci_hole_end(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { @@ -143,7 +143,7 @@ static void i440fx_pcihost_get_pci_hole_end(Object *obj, Visitor *v, val64 = range_is_empty(&s->pci_hole) ? 0 : range_upb(&s->pci_hole) + 1; value = val64; assert(value == val64); - visit_type_uint32(v, name, &value, errp); + return visit_type_uint32(v, name, &value, errp); } /* @@ -168,13 +168,13 @@ static uint64_t i440fx_pcihost_get_pci_hole64_start_value(Object *obj) return value; } -static void i440fx_pcihost_get_pci_hole64_start(Object *obj, Visitor *v, +static bool i440fx_pcihost_get_pci_hole64_start(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { uint64_t hole64_start = i440fx_pcihost_get_pci_hole64_start_value(obj); - visit_type_uint64(v, name, &hole64_start, errp); + return visit_type_uint64(v, name, &hole64_start, errp); } /* @@ -183,7 +183,7 @@ static void i440fx_pcihost_get_pci_hole64_start(Object *obj, Visitor *v, * Then it is expanded to the PCI_HOST_PROP_PCI_HOLE64_SIZE * that can be configured by the user. */ -static void i440fx_pcihost_get_pci_hole64_end(Object *obj, Visitor *v, +static bool i440fx_pcihost_get_pci_hole64_end(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { @@ -199,7 +199,7 @@ static void i440fx_pcihost_get_pci_hole64_end(Object *obj, Visitor *v, if (s->pci_hole64_fix && value < hole64_end) { value = hole64_end; } - visit_type_uint64(v, name, &value, errp); + return visit_type_uint64(v, name, &value, errp); } static void i440fx_pcihost_initfn(Object *obj) diff --git a/hw/pci-host/q35.c b/hw/pci-host/q35.c index b67cb9c29f..7183c7dc23 100644 --- a/hw/pci-host/q35.c +++ b/hw/pci-host/q35.c @@ -79,7 +79,7 @@ static const char *q35_host_root_bus_path(PCIHostState *host_bridge, return "0000:00"; } -static void q35_host_get_pci_hole_start(Object *obj, Visitor *v, +static bool q35_host_get_pci_hole_start(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { @@ -91,10 +91,10 @@ static void q35_host_get_pci_hole_start(Object *obj, Visitor *v, ? 0 : range_lob(&s->mch.pci_hole); value = val64; assert(value == val64); - visit_type_uint32(v, name, &value, errp); + return visit_type_uint32(v, name, &value, errp); } -static void q35_host_get_pci_hole_end(Object *obj, Visitor *v, +static bool q35_host_get_pci_hole_end(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { @@ -106,7 +106,7 @@ static void q35_host_get_pci_hole_end(Object *obj, Visitor *v, ? 0 : range_upb(&s->mch.pci_hole) + 1; value = val64; assert(value == val64); - visit_type_uint32(v, name, &value, errp); + return visit_type_uint32(v, name, &value, errp); } /* @@ -131,13 +131,13 @@ static uint64_t q35_host_get_pci_hole64_start_value(Object *obj) return value; } -static void q35_host_get_pci_hole64_start(Object *obj, Visitor *v, +static bool q35_host_get_pci_hole64_start(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { uint64_t hole64_start = q35_host_get_pci_hole64_start_value(obj); - visit_type_uint64(v, name, &hole64_start, errp); + return visit_type_uint64(v, name, &hole64_start, errp); } /* @@ -146,7 +146,7 @@ static void q35_host_get_pci_hole64_start(Object *obj, Visitor *v, * Then it is expanded to the PCI_HOST_PROP_PCI_HOLE64_SIZE * that can be configured by the user. */ -static void q35_host_get_pci_hole64_end(Object *obj, Visitor *v, +static bool q35_host_get_pci_hole64_end(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { @@ -162,7 +162,7 @@ static void q35_host_get_pci_hole64_end(Object *obj, Visitor *v, if (s->pci_hole64_fix && value < hole64_end) { value = hole64_end; } - visit_type_uint64(v, name, &value, errp); + return visit_type_uint64(v, name, &value, errp); } /* diff --git a/hw/ppc/spapr_caps.c b/hw/ppc/spapr_caps.c index cbc09b24b6..c72c33cc02 100644 --- a/hw/ppc/spapr_caps.c +++ b/hw/ppc/spapr_caps.c @@ -70,14 +70,14 @@ typedef struct SpaprCapabilityInfo { bool (*migrate_needed)(void *opaque); } SpaprCapabilityInfo; -static void spapr_cap_get_bool(Object *obj, Visitor *v, const char *name, +static bool spapr_cap_get_bool(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { SpaprCapabilityInfo *cap = opaque; SpaprMachineState *spapr = SPAPR_MACHINE(obj); bool value = spapr_get_cap(spapr, cap->index) == SPAPR_CAP_ON; - visit_type_bool(v, name, &value, errp); + return visit_type_bool(v, name, &value, errp); } static void spapr_cap_set_bool(Object *obj, Visitor *v, const char *name, @@ -96,7 +96,7 @@ static void spapr_cap_set_bool(Object *obj, Visitor *v, const char *name, } -static void spapr_cap_get_string(Object *obj, Visitor *v, const char *name, +static bool spapr_cap_get_string(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { SpaprCapabilityInfo *cap = opaque; @@ -106,12 +106,12 @@ static void spapr_cap_get_string(Object *obj, Visitor *v, const char *name, if (value >= cap->possible->num) { error_setg(errp, "Invalid value (%d) for cap-%s", value, cap->name); - return; + return false; } val = g_strdup(cap->possible->vals[value]); - visit_type_str(v, name, &val, errp); + return visit_type_str(v, name, &val, errp); } static void spapr_cap_set_string(Object *obj, Visitor *v, const char *name, @@ -144,7 +144,7 @@ out: g_free(val); } -static void spapr_cap_get_pagesize(Object *obj, Visitor *v, const char *name, +static bool spapr_cap_get_pagesize(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { SpaprCapabilityInfo *cap = opaque; @@ -152,7 +152,7 @@ static void spapr_cap_get_pagesize(Object *obj, Visitor *v, const char *name, uint8_t val = spapr_get_cap(spapr, cap->index); uint64_t pagesize = (1ULL << val); - visit_type_size(v, name, &pagesize, errp); + return visit_type_size(v, name, &pagesize, errp); } static void spapr_cap_set_pagesize(Object *obj, Visitor *v, const char *name, diff --git a/hw/ppc/spapr_drc.c b/hw/ppc/spapr_drc.c index 43d12bc33a..2ffbf5ea2b 100644 --- a/hw/ppc/spapr_drc.c +++ b/hw/ppc/spapr_drc.c @@ -289,15 +289,16 @@ static SpaprDREntitySense logical_entity_sense(SpaprDrc *drc) } } -static void prop_get_index(Object *obj, Visitor *v, const char *name, +static bool prop_get_index(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { SpaprDrc *drc = SPAPR_DR_CONNECTOR(obj); uint32_t value = spapr_drc_index(drc); - visit_type_uint32(v, name, &value, errp); + + return visit_type_uint32(v, name, &value, errp); } -static void prop_get_fdt(Object *obj, Visitor *v, const char *name, +static bool prop_get_fdt(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { SpaprDrc *drc = SPAPR_DR_CONNECTOR(obj); @@ -309,7 +310,7 @@ static void prop_get_fdt(Object *obj, Visitor *v, const char *name, if (!drc->fdt) { visit_type_null(v, NULL, &null, errp); qobject_unref(null); - return; + return false; } fdt = drc->fdt; @@ -328,7 +329,7 @@ static void prop_get_fdt(Object *obj, Visitor *v, const char *name, fdt_depth++; name = fdt_get_name(fdt, fdt_offset, &name_len); if (!visit_start_struct(v, name, NULL, 0, errp)) { - return; + return false; } break; case FDT_END_NODE: @@ -338,7 +339,7 @@ static void prop_get_fdt(Object *obj, Visitor *v, const char *name, visit_end_struct(v, NULL); if (err) { error_propagate(errp, err); - return; + return false; } fdt_depth--; break; @@ -347,19 +348,19 @@ static void prop_get_fdt(Object *obj, Visitor *v, const char *name, prop = fdt_get_property_by_offset(fdt, fdt_offset, &prop_len); name = fdt_string(fdt, fdt32_to_cpu(prop->nameoff)); if (!visit_start_list(v, name, NULL, 0, errp)) { - return; + return false; } for (i = 0; i < prop_len; i++) { if (!visit_type_uint8(v, NULL, (uint8_t *)&prop->data[i], errp)) { - return; + return false; } } visit_check_list(v, &err); visit_end_list(v, NULL); if (err) { error_propagate(errp, err); - return; + return false; } break; } @@ -369,6 +370,8 @@ static void prop_get_fdt(Object *obj, Visitor *v, const char *name, } fdt_offset = fdt_offset_next; } while (fdt_depth != 0); + + return true; } void spapr_drc_attach(SpaprDrc *drc, DeviceState *d, Error **errp) diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index 19a976c9a6..692e22cbaa 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -512,11 +512,11 @@ static void sifive_u_machine_set_start_in_flash(Object *obj, bool value, Error * s->start_in_flash = value; } -static void sifive_u_machine_get_uint32_prop(Object *obj, Visitor *v, +static bool sifive_u_machine_get_uint32_prop(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { - visit_type_uint32(v, name, (uint32_t *)opaque, errp); + return visit_type_uint32(v, name, (uint32_t *)opaque, errp); } static void sifive_u_machine_set_uint32_prop(Object *obj, Visitor *v, diff --git a/hw/s390x/css.c b/hw/s390x/css.c index 519dc91316..b3163ccc09 100644 --- a/hw/s390x/css.c +++ b/hw/s390x/css.c @@ -2341,7 +2341,7 @@ void css_reset(void) channel_subsys.max_ssid = 0; } -static void get_css_devid(Object *obj, Visitor *v, const char *name, +static bool get_css_devid(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { DeviceState *dev = DEVICE(obj); @@ -2365,7 +2365,7 @@ static void get_css_devid(Object *obj, Visitor *v, const char *name, snprintf(buffer, sizeof(buffer), "<unset>"); } - visit_type_str(v, name, &p, errp); + return visit_type_str(v, name, &p, errp); } /* diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c index 92146a2119..8c6cf66cb5 100644 --- a/hw/s390x/s390-pci-bus.c +++ b/hw/s390x/s390-pci-bus.c @@ -1244,13 +1244,13 @@ static void s390_pci_device_reset(DeviceState *dev) fmb_timer_free(pbdev); } -static void s390_pci_get_fid(Object *obj, Visitor *v, const char *name, +static bool s390_pci_get_fid(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { Property *prop = opaque; uint32_t *ptr = qdev_get_prop_ptr(DEVICE(obj), prop); - visit_type_uint32(v, name, ptr, errp); + return visit_type_uint32(v, name, ptr, errp); } static void s390_pci_set_fid(Object *obj, Visitor *v, const char *name, diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c index 2ed6a8df24..caca911fb0 100644 --- a/hw/usb/dev-storage.c +++ b/hw/usb/dev-storage.c @@ -719,13 +719,13 @@ static void usb_msd_class_storage_initfn(ObjectClass *klass, void *data) device_class_set_props(dc, msd_properties); } -static void usb_msd_get_bootindex(Object *obj, Visitor *v, const char *name, +static bool usb_msd_get_bootindex(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { USBDevice *dev = USB_DEVICE(obj); MSDState *s = USB_STORAGE_DEV(dev); - visit_type_int32(v, name, &s->conf.bootindex, errp); + return visit_type_int32(v, name, &s->conf.bootindex, errp); } static void usb_msd_set_bootindex(Object *obj, Visitor *v, const char *name, diff --git a/hw/vfio/pci-quirks.c b/hw/vfio/pci-quirks.c index 3a14b7c303..8e2f441c01 100644 --- a/hw/vfio/pci-quirks.c +++ b/hw/vfio/pci-quirks.c @@ -1484,7 +1484,7 @@ void vfio_setup_resetfn_quirk(VFIOPCIDevice *vdev) * * https://lists.gnu.org/archive/html/qemu-devel/2017-08/pdfUda5iEpgOS.pdf */ -static void get_nv_gpudirect_clique_id(Object *obj, Visitor *v, +static bool get_nv_gpudirect_clique_id(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { @@ -1492,7 +1492,7 @@ static void get_nv_gpudirect_clique_id(Object *obj, Visitor *v, Property *prop = opaque; uint8_t *ptr = qdev_get_prop_ptr(dev, prop); - visit_type_uint8(v, name, ptr, errp); + return visit_type_uint8(v, name, ptr, errp); } static void set_nv_gpudirect_clique_id(Object *obj, Visitor *v, @@ -1565,20 +1565,22 @@ static int vfio_add_nv_gpudirect_cap(VFIOPCIDevice *vdev, Error **errp) return 0; } -static void vfio_pci_nvlink2_get_tgt(Object *obj, Visitor *v, +static bool vfio_pci_nvlink2_get_tgt(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { uint64_t tgt = (uintptr_t) opaque; - visit_type_uint64(v, name, &tgt, errp); + + return visit_type_uint64(v, name, &tgt, errp); } -static void vfio_pci_nvlink2_get_link_speed(Object *obj, Visitor *v, +static bool vfio_pci_nvlink2_get_link_speed(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { uint32_t link_speed = (uint32_t)(uintptr_t) opaque; - visit_type_uint32(v, name, &link_speed, errp); + + return visit_type_uint32(v, name, &link_speed, errp); } int vfio_pci_nvidia_v100_ram_init(VFIOPCIDevice *vdev, Error **errp) diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c index e670f1e595..befac94eaf 100644 --- a/hw/virtio/virtio-balloon.c +++ b/hw/virtio/virtio-balloon.c @@ -232,11 +232,12 @@ static void balloon_stats_poll_cb(void *opaque) s->stats_vq_elem = NULL; } -static void balloon_stats_get_all(Object *obj, Visitor *v, const char *name, +static bool balloon_stats_get_all(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { Error *err = NULL; VirtIOBalloon *s = opaque; + bool ret; int i; if (!visit_start_struct(v, name, NULL, 0, &err)) { @@ -254,25 +255,28 @@ static void balloon_stats_get_all(Object *obj, Visitor *v, const char *name, goto out_nested; } } - visit_check_struct(v, &err); + ret = visit_check_struct(v, &err); out_nested: visit_end_struct(v, NULL); - if (!err) { - visit_check_struct(v, &err); + if (!ret) { + ret = visit_check_struct(v, &err); } out_end: visit_end_struct(v, NULL); out: error_propagate(errp, err); + + return ret; } -static void balloon_stats_get_poll_interval(Object *obj, Visitor *v, +static bool balloon_stats_get_poll_interval(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { VirtIOBalloon *s = opaque; - visit_type_int(v, name, &s->stats_poll_interval, errp); + + return visit_type_int(v, name, &s->stats_poll_interval, errp); } static void balloon_stats_set_poll_interval(Object *obj, Visitor *v, diff --git a/hw/virtio/virtio-mem.c b/hw/virtio/virtio-mem.c index 65850530e7..ddf09ed1bf 100644 --- a/hw/virtio/virtio-mem.c +++ b/hw/virtio/virtio-mem.c @@ -663,23 +663,23 @@ static void virtio_mem_remove_size_change_notifier(VirtIOMEM *vmem, notifier_remove(notifier); } -static void virtio_mem_get_size(Object *obj, Visitor *v, const char *name, +static bool virtio_mem_get_size(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { const VirtIOMEM *vmem = VIRTIO_MEM(obj); uint64_t value = vmem->size; - visit_type_size(v, name, &value, errp); + return visit_type_size(v, name, &value, errp); } -static void virtio_mem_get_requested_size(Object *obj, Visitor *v, +static bool virtio_mem_get_requested_size(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { const VirtIOMEM *vmem = VIRTIO_MEM(obj); uint64_t value = vmem->requested_size; - visit_type_size(v, name, &value, errp); + return visit_type_size(v, name, &value, errp); } static void virtio_mem_set_requested_size(Object *obj, Visitor *v, @@ -727,13 +727,13 @@ static void virtio_mem_set_requested_size(Object *obj, Visitor *v, } } -static void virtio_mem_get_block_size(Object *obj, Visitor *v, const char *name, +static bool virtio_mem_get_block_size(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { const VirtIOMEM *vmem = VIRTIO_MEM(obj); uint64_t value = vmem->block_size; - visit_type_size(v, name, &value, errp); + return visit_type_size(v, name, &value, errp); } static void virtio_mem_set_block_size(Object *obj, Visitor *v, const char *name, diff --git a/iothread.c b/iothread.c index 0598a6d20d..b4349b28ea 100644 --- a/iothread.c +++ b/iothread.c @@ -223,14 +223,14 @@ static PollParamInfo poll_shrink_info = { "poll-shrink", offsetof(IOThread, poll_shrink), }; -static void iothread_get_poll_param(Object *obj, Visitor *v, +static bool iothread_get_poll_param(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { IOThread *iothread = IOTHREAD(obj); PollParamInfo *info = opaque; int64_t *field = (void *)iothread + info->offset; - visit_type_int64(v, name, field, errp); + return visit_type_int64(v, name, field, errp); } static void iothread_set_poll_param(Object *obj, Visitor *v, diff --git a/net/colo-compare.c b/net/colo-compare.c index 398b7546ff..50492dfe4c 100644 --- a/net/colo-compare.c +++ b/net/colo-compare.c @@ -1078,14 +1078,14 @@ static void compare_set_notify_dev(Object *obj, const char *value, Error **errp) s->notify_dev = g_strdup(value); } -static void compare_get_timeout(Object *obj, Visitor *v, +static bool compare_get_timeout(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { CompareState *s = COLO_COMPARE(obj); uint32_t value = s->compare_timeout; - visit_type_uint32(v, name, &value, errp); + return visit_type_uint32(v, name, &value, errp); } static void compare_set_timeout(Object *obj, Visitor *v, @@ -1106,14 +1106,14 @@ static void compare_set_timeout(Object *obj, Visitor *v, s->compare_timeout = value; } -static void compare_get_expired_scan_cycle(Object *obj, Visitor *v, +static bool compare_get_expired_scan_cycle(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { CompareState *s = COLO_COMPARE(obj); uint32_t value = s->expired_scan_cycle; - visit_type_uint32(v, name, &value, errp); + return visit_type_uint32(v, name, &value, errp); } static void compare_set_expired_scan_cycle(Object *obj, Visitor *v, diff --git a/net/dump.c b/net/dump.c index 11a737a4bc..1e57bc63e7 100644 --- a/net/dump.c +++ b/net/dump.c @@ -179,13 +179,13 @@ static void filter_dump_setup(NetFilterState *nf, Error **errp) net_dump_state_init(&nfds->ds, nfds->filename, nfds->maxlen, errp); } -static void filter_dump_get_maxlen(Object *obj, Visitor *v, const char *name, +static bool filter_dump_get_maxlen(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { NetFilterDumpState *nfds = FILTER_DUMP(obj); uint32_t value = nfds->maxlen; - visit_type_uint32(v, name, &value, errp); + return visit_type_uint32(v, name, &value, errp); } static void filter_dump_set_maxlen(Object *obj, Visitor *v, const char *name, diff --git a/net/filter-buffer.c b/net/filter-buffer.c index dfa211794b..ee814aa1e3 100644 --- a/net/filter-buffer.c +++ b/net/filter-buffer.c @@ -155,14 +155,14 @@ static void filter_buffer_class_init(ObjectClass *oc, void *data) nfc->status_changed = filter_buffer_status_changed; } -static void filter_buffer_get_interval(Object *obj, Visitor *v, +static bool filter_buffer_get_interval(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { FilterBufferState *s = FILTER_BUFFER(obj); uint32_t value = s->interval; - visit_type_uint32(v, name, &value, errp); + return visit_type_uint32(v, name, &value, errp); } static void filter_buffer_set_interval(Object *obj, Visitor *v, diff --git a/qom/object.c b/qom/object.c index 7c13117f7d..ec288b288e 100644 --- a/qom/object.c +++ b/qom/object.c @@ -1644,7 +1644,7 @@ Object *object_get_internal_root(void) return internal_root; } -static void object_get_child_property(Object *obj, Visitor *v, +static bool object_get_child_property(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { @@ -1652,7 +1652,7 @@ static void object_get_child_property(Object *obj, Visitor *v, g_autofree char *path; path = object_get_canonical_path(child); - visit_type_str(v, name, &path, errp); + return visit_type_str(v, name, &path, errp); } static Object *object_resolve_child_property(Object *parent, void *opaque, @@ -1731,22 +1731,24 @@ object_link_get_targetp(Object *obj, LinkProperty *lprop) } } -static void object_get_link_property(Object *obj, Visitor *v, +static bool object_get_link_property(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { LinkProperty *lprop = opaque; Object **targetp = object_link_get_targetp(obj, lprop); char *path; + bool ret; if (*targetp) { path = object_get_canonical_path(*targetp); - visit_type_str(v, name, &path, errp); + ret = visit_type_str(v, name, &path, errp); g_free(path); } else { path = (char *)""; - visit_type_str(v, name, &path, errp); + ret = visit_type_str(v, name, &path, errp); } + return ret; } /* @@ -2094,7 +2096,7 @@ typedef struct StringProperty void (*set)(Object *, const char *, Error **); } StringProperty; -static void property_get_str(Object *obj, Visitor *v, const char *name, +static bool property_get_str(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { StringProperty *prop = opaque; @@ -2104,10 +2106,10 @@ static void property_get_str(Object *obj, Visitor *v, const char *name, value = prop->get(obj, &err); if (err) { error_propagate(errp, err); - return; + return false; } - visit_type_str(v, name, &value, errp); + return visit_type_str(v, name, &value, errp); } static void property_set_str(Object *obj, Visitor *v, const char *name, @@ -2172,7 +2174,7 @@ typedef struct BoolProperty void (*set)(Object *, bool, Error **); } BoolProperty; -static void property_get_bool(Object *obj, Visitor *v, const char *name, +static bool property_get_bool(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { BoolProperty *prop = opaque; @@ -2182,10 +2184,10 @@ static void property_get_bool(Object *obj, Visitor *v, const char *name, value = prop->get(obj, &err); if (err) { error_propagate(errp, err); - return; + return false; } - visit_type_bool(v, name, &value, errp); + return visit_type_bool(v, name, &value, errp); } static void property_set_bool(Object *obj, Visitor *v, const char *name, @@ -2242,7 +2244,7 @@ object_class_property_add_bool(ObjectClass *klass, const char *name, prop); } -static void property_get_enum(Object *obj, Visitor *v, const char *name, +static bool property_get_enum(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { EnumProperty *prop = opaque; @@ -2252,10 +2254,10 @@ static void property_get_enum(Object *obj, Visitor *v, const char *name, value = prop->get(obj, &err); if (err) { error_propagate(errp, err); - return; + return false; } - visit_type_enum(v, name, &value, prop->lookup, errp); + return visit_type_enum(v, name, &value, prop->lookup, errp); } static void property_set_enum(Object *obj, Visitor *v, const char *name, @@ -2321,21 +2323,22 @@ typedef struct TMProperty { void (*get)(Object *, struct tm *, Error **); } TMProperty; -static void property_get_tm(Object *obj, Visitor *v, const char *name, +static bool property_get_tm(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { TMProperty *prop = opaque; Error *err = NULL; struct tm value; + bool ret = false; prop->get(obj, &value, &err); if (err) { error_propagate(errp, err); - return; + return false; } if (!visit_start_struct(v, name, NULL, 0, errp)) { - return; + return false; } if (!visit_type_int32(v, "tm_year", &value.tm_year, errp)) { goto out_end; @@ -2355,9 +2358,11 @@ static void property_get_tm(Object *obj, Visitor *v, const char *name, if (!visit_type_int32(v, "tm_sec", &value.tm_sec, errp)) { goto out_end; } - visit_check_struct(v, errp); + ret = visit_check_struct(v, errp); out_end: visit_end_struct(v, NULL); + + return ret; } static void property_release_tm(Object *obj, const char *name, @@ -2399,11 +2404,12 @@ static char *object_get_type(Object *obj, Error **errp) return g_strdup(object_get_typename(obj)); } -static void property_get_uint8_ptr(Object *obj, Visitor *v, const char *name, +static bool property_get_uint8_ptr(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { uint8_t value = *(uint8_t *)opaque; - visit_type_uint8(v, name, &value, errp); + + return visit_type_uint8(v, name, &value, errp); } static void property_set_uint8_ptr(Object *obj, Visitor *v, const char *name, @@ -2419,11 +2425,12 @@ static void property_set_uint8_ptr(Object *obj, Visitor *v, const char *name, *field = value; } -static void property_get_uint16_ptr(Object *obj, Visitor *v, const char *name, +static bool property_get_uint16_ptr(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { uint16_t value = *(uint16_t *)opaque; - visit_type_uint16(v, name, &value, errp); + + return visit_type_uint16(v, name, &value, errp); } static void property_set_uint16_ptr(Object *obj, Visitor *v, const char *name, @@ -2439,11 +2446,12 @@ static void property_set_uint16_ptr(Object *obj, Visitor *v, const char *name, *field = value; } -static void property_get_uint32_ptr(Object *obj, Visitor *v, const char *name, +static bool property_get_uint32_ptr(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { uint32_t value = *(uint32_t *)opaque; - visit_type_uint32(v, name, &value, errp); + + return visit_type_uint32(v, name, &value, errp); } static void property_set_uint32_ptr(Object *obj, Visitor *v, const char *name, @@ -2459,11 +2467,12 @@ static void property_set_uint32_ptr(Object *obj, Visitor *v, const char *name, *field = value; } -static void property_get_uint64_ptr(Object *obj, Visitor *v, const char *name, +static bool property_get_uint64_ptr(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { uint64_t value = *(uint64_t *)opaque; - visit_type_uint64(v, name, &value, errp); + + return visit_type_uint64(v, name, &value, errp); } static void property_set_uint64_ptr(Object *obj, Visitor *v, const char *name, @@ -2644,12 +2653,12 @@ typedef struct { char *target_name; } AliasProperty; -static void property_get_alias(Object *obj, Visitor *v, const char *name, +static bool property_get_alias(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { AliasProperty *prop = opaque; - object_property_get(prop->target_obj, prop->target_name, v, errp); + return object_property_get(prop->target_obj, prop->target_name, v, errp); } static void property_set_alias(Object *obj, Visitor *v, const char *name, diff --git a/softmmu/memory.c b/softmmu/memory.c index 9200b20130..66631433c5 100644 --- a/softmmu/memory.c +++ b/softmmu/memory.c @@ -1170,20 +1170,22 @@ void memory_region_init(MemoryRegion *mr, memory_region_do_init(mr, owner, name, size); } -static void memory_region_get_container(Object *obj, Visitor *v, +static bool memory_region_get_container(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { MemoryRegion *mr = MEMORY_REGION(obj); char *path = (char *)""; + bool ret; if (mr->container) { path = object_get_canonical_path(OBJECT(mr->container)); } - visit_type_str(v, name, &path, errp); + ret = visit_type_str(v, name, &path, errp); if (mr->container) { g_free(path); } + return ret; } static Object *memory_region_resolve_container(Object *obj, void *opaque, @@ -1194,23 +1196,23 @@ static Object *memory_region_resolve_container(Object *obj, void *opaque, return OBJECT(mr->container); } -static void memory_region_get_priority(Object *obj, Visitor *v, +static bool memory_region_get_priority(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { MemoryRegion *mr = MEMORY_REGION(obj); int32_t value = mr->priority; - visit_type_int32(v, name, &value, errp); + return visit_type_int32(v, name, &value, errp); } -static void memory_region_get_size(Object *obj, Visitor *v, const char *name, +static bool memory_region_get_size(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { MemoryRegion *mr = MEMORY_REGION(obj); uint64_t value = memory_region_size(mr); - visit_type_uint64(v, name, &value, errp); + return visit_type_uint64(v, name, &value, errp); } static void memory_region_initfn(Object *obj) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index 15494002d2..436eb86f8e 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c @@ -445,7 +445,7 @@ void arm_cpu_sve_finalize(ARMCPU *cpu, Error **errp) cpu->sve_max_vq = max_vq; } -static void cpu_max_get_sve_max_vq(Object *obj, Visitor *v, const char *name, +static bool cpu_max_get_sve_max_vq(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { ARMCPU *cpu = ARM_CPU(obj); @@ -457,7 +457,8 @@ static void cpu_max_get_sve_max_vq(Object *obj, Visitor *v, const char *name, } else { value = cpu->sve_max_vq; } - visit_type_uint32(v, name, &value, errp); + + return visit_type_uint32(v, name, &value, errp); } static void cpu_max_set_sve_max_vq(Object *obj, Visitor *v, const char *name, @@ -486,7 +487,7 @@ static void cpu_max_set_sve_max_vq(Object *obj, Visitor *v, const char *name, cpu->sve_max_vq = max_vq; } -static void cpu_arm_get_sve_vq(Object *obj, Visitor *v, const char *name, +static bool cpu_arm_get_sve_vq(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { ARMCPU *cpu = ARM_CPU(obj); @@ -499,7 +500,8 @@ static void cpu_arm_get_sve_vq(Object *obj, Visitor *v, const char *name, } else { value = test_bit(vq - 1, cpu->sve_vq_map); } - visit_type_bool(v, name, &value, errp); + + return visit_type_bool(v, name, &value, errp); } static void cpu_arm_set_sve_vq(Object *obj, Visitor *v, const char *name, @@ -527,13 +529,13 @@ static void cpu_arm_set_sve_vq(Object *obj, Visitor *v, const char *name, set_bit(vq - 1, cpu->sve_vq_init); } -static void cpu_arm_get_sve(Object *obj, Visitor *v, const char *name, +static bool cpu_arm_get_sve(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { ARMCPU *cpu = ARM_CPU(obj); bool value = cpu_isar_feature(aa64_sve, cpu); - visit_type_bool(v, name, &value, errp); + return visit_type_bool(v, name, &value, errp); } static void cpu_arm_set_sve(Object *obj, Visitor *v, const char *name, diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 1e5123251d..5bdc726d4e 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -4394,7 +4394,7 @@ static void mark_unavailable_features(X86CPU *cpu, FeatureWord w, uint64_t mask, } } -static void x86_cpuid_version_get_family(Object *obj, Visitor *v, +static bool x86_cpuid_version_get_family(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { @@ -4406,7 +4406,8 @@ static void x86_cpuid_version_get_family(Object *obj, Visitor *v, if (value == 0xf) { value += (env->cpuid_version >> 20) & 0xff; } - visit_type_int(v, name, &value, errp); + + return visit_type_int(v, name, &value, errp); } static void x86_cpuid_version_set_family(Object *obj, Visitor *v, @@ -4436,7 +4437,7 @@ static void x86_cpuid_version_set_family(Object *obj, Visitor *v, } } -static void x86_cpuid_version_get_model(Object *obj, Visitor *v, +static bool x86_cpuid_version_get_model(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { @@ -4446,7 +4447,8 @@ static void x86_cpuid_version_get_model(Object *obj, Visitor *v, value = (env->cpuid_version >> 4) & 0xf; value |= ((env->cpuid_version >> 16) & 0xf) << 4; - visit_type_int(v, name, &value, errp); + + return visit_type_int(v, name, &value, errp); } static void x86_cpuid_version_set_model(Object *obj, Visitor *v, @@ -4472,7 +4474,7 @@ static void x86_cpuid_version_set_model(Object *obj, Visitor *v, env->cpuid_version |= ((value & 0xf) << 4) | ((value >> 4) << 16); } -static void x86_cpuid_version_get_stepping(Object *obj, Visitor *v, +static bool x86_cpuid_version_get_stepping(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { @@ -4481,7 +4483,8 @@ static void x86_cpuid_version_get_stepping(Object *obj, Visitor *v, int64_t value; value = env->cpuid_version & 0xf; - visit_type_int(v, name, &value, errp); + + return visit_type_int(v, name, &value, errp); } static void x86_cpuid_version_set_stepping(Object *obj, Visitor *v, @@ -4578,14 +4581,15 @@ static void x86_cpuid_set_model_id(Object *obj, const char *model_id, } } -static void x86_cpuid_get_tsc_freq(Object *obj, Visitor *v, const char *name, +static bool x86_cpuid_get_tsc_freq(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { X86CPU *cpu = X86_CPU(obj); int64_t value; value = cpu->env.tsc_khz * 1000; - visit_type_int(v, name, &value, errp); + + return visit_type_int(v, name, &value, errp); } static void x86_cpuid_set_tsc_freq(Object *obj, Visitor *v, const char *name, @@ -4609,7 +4613,7 @@ static void x86_cpuid_set_tsc_freq(Object *obj, Visitor *v, const char *name, } /* Generic getter for "feature-words" and "filtered-features" properties */ -static void x86_cpu_get_feature_words(Object *obj, Visitor *v, +static bool x86_cpu_get_feature_words(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { @@ -4641,7 +4645,8 @@ static void x86_cpu_get_feature_words(Object *obj, Visitor *v, list = &list_entries[w]; } - visit_type_X86CPUFeatureWordInfoList(v, "feature-words", &list, errp); + return visit_type_X86CPUFeatureWordInfoList(v, "feature-words", + &list, errp); } /* Convert all '_' in a feature string option name to '-', to make feature @@ -4804,7 +4809,7 @@ static void x86_cpu_list_feature_names(FeatureWordArray features, } } -static void x86_cpu_get_unavailable_features(Object *obj, Visitor *v, +static bool x86_cpu_get_unavailable_features(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { @@ -4812,7 +4817,8 @@ static void x86_cpu_get_unavailable_features(Object *obj, Visitor *v, strList *result = NULL; x86_cpu_list_feature_names(xc->filtered_features, &result); - visit_type_strList(v, "unavailable-features", &result, errp); + + return visit_type_strList(v, "unavailable-features", &result, errp); } /* Check for missing features that may prevent the CPU class from @@ -6766,14 +6772,15 @@ typedef struct BitProperty { uint64_t mask; } BitProperty; -static void x86_cpu_get_bit_prop(Object *obj, Visitor *v, const char *name, +static bool x86_cpu_get_bit_prop(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { X86CPU *cpu = X86_CPU(obj); BitProperty *fp = opaque; uint64_t f = cpu->env.features[fp->w]; bool value = (f & fp->mask) == fp->mask; - visit_type_bool(v, name, &value, errp); + + return visit_type_bool(v, name, &value, errp); } static void x86_cpu_set_bit_prop(Object *obj, Visitor *v, const char *name, @@ -6883,27 +6890,30 @@ static GuestPanicInformation *x86_cpu_get_crash_info(CPUState *cs) return panic_info; } -static void x86_cpu_get_crash_info_qom(Object *obj, Visitor *v, +static bool x86_cpu_get_crash_info_qom(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { CPUState *cs = CPU(obj); GuestPanicInformation *panic_info; + bool ret; if (!cs->crash_occurred) { error_setg(errp, "No crash occured"); - return; + return false; } panic_info = x86_cpu_get_crash_info(cs); if (panic_info == NULL) { error_setg(errp, "No crash information"); - return; + return false; } - visit_type_GuestPanicInformation(v, "crash-information", &panic_info, - errp); + ret = visit_type_GuestPanicInformation(v, "crash-information", &panic_info, + errp); qapi_free_GuestPanicInformation(panic_info); + + return ret; } #endif /* !CONFIG_USER_ONLY */ diff --git a/target/ppc/compat.c b/target/ppc/compat.c index 08aede88dc..d59eadd4da 100644 --- a/target/ppc/compat.c +++ b/target/ppc/compat.c @@ -238,7 +238,7 @@ int ppc_compat_max_vthreads(PowerPCCPU *cpu) return n_threads; } -static void ppc_compat_prop_get(Object *obj, Visitor *v, const char *name, +static bool ppc_compat_prop_get(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { uint32_t compat_pvr = *((uint32_t *)opaque); @@ -254,7 +254,7 @@ static void ppc_compat_prop_get(Object *obj, Visitor *v, const char *name, value = compat->name; } - visit_type_str(v, name, (char **)&value, errp); + return visit_type_str(v, name, (char **)&value, errp); } static void ppc_compat_prop_set(Object *obj, Visitor *v, const char *name, diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c index 08eb674d22..0f4f5c0eec 100644 --- a/target/s390x/cpu.c +++ b/target/s390x/cpu.c @@ -265,23 +265,26 @@ static GuestPanicInformation *s390_cpu_get_crash_info(CPUState *cs) return panic_info; } -static void s390_cpu_get_crash_info_qom(Object *obj, Visitor *v, +static bool s390_cpu_get_crash_info_qom(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { CPUState *cs = CPU(obj); GuestPanicInformation *panic_info; + bool ret; if (!cs->crash_occurred) { error_setg(errp, "No crash occurred"); - return; + return false; } panic_info = s390_cpu_get_crash_info(cs); - visit_type_GuestPanicInformation(v, "crash-information", &panic_info, - errp); + ret = visit_type_GuestPanicInformation(v, "crash-information", &panic_info, + errp); qapi_free_GuestPanicInformation(panic_info); + + return ret; } #endif diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c index c2af226174..4d884be759 100644 --- a/target/s390x/cpu_models.c +++ b/target/s390x/cpu_models.c @@ -978,7 +978,7 @@ void s390_realize_cpu_model(CPUState *cs, Error **errp) #endif } -static void get_feature(Object *obj, Visitor *v, const char *name, +static bool get_feature(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { S390Feat feat = (S390Feat) opaque; @@ -988,11 +988,12 @@ static void get_feature(Object *obj, Visitor *v, const char *name, if (!cpu->model) { error_setg(errp, "Details about the host CPU model are not available, " "features cannot be queried."); - return; + return false; } value = test_bit(feat, cpu->model->features); - visit_type_bool(v, name, &value, errp); + + return visit_type_bool(v, name, &value, errp); } static void set_feature(Object *obj, Visitor *v, const char *name, @@ -1029,7 +1030,7 @@ static void set_feature(Object *obj, Visitor *v, const char *name, } } -static void get_feature_group(Object *obj, Visitor *v, const char *name, +static bool get_feature_group(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { S390FeatGroup group = (S390FeatGroup) opaque; @@ -1041,13 +1042,14 @@ static void get_feature_group(Object *obj, Visitor *v, const char *name, if (!cpu->model) { error_setg(errp, "Details about the host CPU model are not available, " "features cannot be queried."); - return; + return false; } /* a group is enabled if all features are enabled */ bitmap_and(tmp, cpu->model->features, def->feat, S390_FEAT_MAX); value = bitmap_equal(tmp, def->feat, S390_FEAT_MAX); - visit_type_bool(v, name, &value, errp); + + return visit_type_bool(v, name, &value, errp); } static void set_feature_group(Object *obj, Visitor *v, const char *name, diff --git a/target/sparc/cpu.c b/target/sparc/cpu.c index cf21efd85f..aafb2a7960 100644 --- a/target/sparc/cpu.c +++ b/target/sparc/cpu.c @@ -786,13 +786,13 @@ static void sparc_cpu_initfn(Object *obj) } } -static void sparc_get_nwindows(Object *obj, Visitor *v, const char *name, +static bool sparc_get_nwindows(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { SPARCCPU *cpu = SPARC_CPU(obj); int64_t value = cpu->env.def.nwindows; - visit_type_int(v, name, &value, errp); + return visit_type_int(v, name, &value, errp); } static void sparc_set_nwindows(Object *obj, Visitor *v, const char *name, -- 2.21.3