[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC PATCH 0/4] qom: Introduce object_class_property_deprecate()
From: |
Philippe Mathieu-Daudé |
Subject: |
[RFC PATCH 0/4] qom: Introduce object_class_property_deprecate() |
Date: |
Mon, 9 Jan 2023 23:54:15 +0100 |
Hi,
There will always be a need to deprecate things. Here I'm
tackling the QOM (class) properties, since they can be set
from some CLI options (-object -device -global ...).
As an experiment, we add object_class_property_deprecate()
to register a class property as deprecated (since some version),
then we deprecate the TYPE_PFLASH_CFI02 'width' property, and
finally as a bonus we emit a warning when the deprecation period
is over, as a reminder. (For that we introduce few 'versions'
helpers).
Output example:
$ qemu-system-arm -M musicpal,accel=qtest -S \
-drive if=pflash,driver=null-co,read-zeroes=on,size=8M \
-global driver=cfi.pflash02,property=width,value=2
qemu-system-arm: warning: Property 'cfi.pflash02.width' is deprecated (renamed
as 'cfi.pflash02.device-width').
$ qemu-system-arm -M musicpal,accel=qtest -S \
-drive if=pflash,driver=null-co,read-zeroes=on,size=8M \
-global driver=cfi.pflash02,property=device-width,value=2
qemu-system-arm: warning: Property 'cfi.pflash02.width' has been deprecated in
release v8.0 and can be removed.
Thought?
Regards,
Phil.
[earlier inspiration:
https://lore.kernel.org/qemu-devel/Y7wlnqwU+/auE0Jj@redhat.com/]
Philippe Mathieu-Daudé (4):
qom: Introduce object_class_property_deprecate()
hw/block: Rename TYPE_PFLASH_CFI02 'width' property as 'device-width'
util: Introduce helpers to compare QEMU versions
qom: Warn when deprecated class property can be removed
hw/block/pflash_cfi02.c | 8 +++++++-
include/qemu/qemu-version.h | 36 ++++++++++++++++++++++++++++++++++++
include/qom/object.h | 17 +++++++++++++++++
qom/object.c | 30 ++++++++++++++++++++++++++++++
util/meson.build | 1 +
util/qemu-version.c | 37 +++++++++++++++++++++++++++++++++++++
6 files changed, 128 insertions(+), 1 deletion(-)
create mode 100644 include/qemu/qemu-version.h
create mode 100644 util/qemu-version.c
--
2.38.1
- [RFC PATCH 0/4] qom: Introduce object_class_property_deprecate(),
Philippe Mathieu-Daudé <=
- [RFC PATCH 1/4] qom: Introduce object_class_property_deprecate(), Philippe Mathieu-Daudé, 2023/01/09
- [RFC PATCH 2/4] hw/block: Rename TYPE_PFLASH_CFI02 'width' property as 'device-width', Philippe Mathieu-Daudé, 2023/01/09
- [RFC PATCH 3/4] util: Introduce helpers to compare QEMU versions, Philippe Mathieu-Daudé, 2023/01/09
- [RFC PATCH 4/4] qom: Warn when deprecated class property can be removed, Philippe Mathieu-Daudé, 2023/01/09
- Re: [RFC PATCH 0/4] qom: Introduce object_class_property_deprecate(), Kevin Wolf, 2023/01/10