Based-on: 20201104160021.2342108-1-ehabk...@redhat.com Git branch: https://gitlab.com/ehabkost/qemu/-/commits/work/qdev-qlit-defaults
This extend qlit.h to support all QNum types (signed int, unsigned int, and double), and use QLitObject to represent field property defaults. It allows us to get rid of most type-specific .set_default_value functions for QOM property types. Changes v1 -> v2: * Rebase to latest version of field properties series * Fix unit test failure * Coding style changes Eduardo Habkost (8): qobject: Include API docs in docs/devel/qobject.html qnum: Make qnum_get_double() get const pointer qnum: QNumValue type for QNum value literals qnum: qnum_value_is_equal() function qlit: Support all types of QNums qlit: qlit_type() function qom: Make object_property_set_default() public qom: Use qlit to represent property defaults docs/devel/index.rst | 1 + docs/devel/qobject.rst | 11 +++ include/hw/qdev-properties-system.h | 2 +- include/qapi/qmp/qlit.h | 16 +++- include/qapi/qmp/qnum.h | 47 ++++++++++- include/qapi/qmp/qobject.h | 48 +++++++---- include/qom/field-property-internal.h | 4 - include/qom/field-property.h | 26 +++--- include/qom/object.h | 11 +++ include/qom/property-types.h | 19 ++--- hw/core/qdev-properties-system.c | 8 -- qobject/qlit.c | 5 +- qobject/qnum.c | 116 +++++++++++++++----------- qom/field-property.c | 27 ++++-- qom/object.c | 2 +- qom/property-types.c | 36 ++------ tests/check-qjson.c | 72 ++++++++++++++-- tests/check-qnum.c | 14 ++-- 18 files changed, 301 insertions(+), 164 deletions(-) create mode 100644 docs/devel/qobject.rst -- 2.28.0