From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:34553) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RtaaX-0001UK-3L for qemu-devel@nongnu.org; Sat, 04 Feb 2012 03:03:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RtaaN-000580-SD for qemu-devel@nongnu.org; Sat, 04 Feb 2012 03:03:12 -0500 Received: from mail-we0-f173.google.com ([74.125.82.173]:55443) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RtaaN-00057N-J9 for qemu-devel@nongnu.org; Sat, 04 Feb 2012 03:03:03 -0500 Received: by werh12 with SMTP id h12so3839005wer.4 for ; Sat, 04 Feb 2012 00:03:02 -0800 (PST) Sender: Paolo Bonzini From: Paolo Bonzini Date: Sat, 4 Feb 2012 09:02:30 +0100 Message-Id: <1328342577-25732-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PATCH v2 00/27] next steps for qdev & QOM List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Here is the patch series from last thursday, on steroids. Patches 1 to 12 include the QOM parts of the previous series, plus other things I found after a more thorough code review. In particular I implemented the restriction of partial-path search to a particular type, fixed some problems with interfaces and the composition tree, and added some docs. Patches 13 to 25 include the qdev parts of the previous series, rebased to include the LostTickPolicy property type (which, it turns out, can be very nicely generalized). I added a cleanup patch to remove two fields from PropertyInfo. Patches 26 and 27 are the beginning of cool things to come. By converting the OMAP clock into a QOM object, the clocks can be changed from PROP_PTR to link properties. Paolo Bonzini (27): qom: clean up cast macros qom: more documentation on subclassing qom: clean up/optimize object_dynamic_cast qom: avoid useless conversions from string to type qom: do not include qdev header file qom: add QObject-based property get/set wrappers qom: add property get/set wrappers for C types qom: fix off-by-one qom: add object_resolve_path_type qom: use object_resolve_path_type for links qom: fix canonical paths vs. interfaces qom: add property get/set wrappers for links qdev: remove direct calls to print/parse qdev: allow reusing get/set for legacy property qdev: remove parse method for string properties qdev: remove print/parse methods from LostTickPolicy properties qdev: remove parse/print methods for mac properties qdev: make the non-legacy pci address property accept an integer qdev: remove parse/print methods for pointer properties qdev: let QOM free properties qdev: fix off-by-one qdev: access properties via QOM qdev: inline qdev_prop_set into qdev_prop_set_ptr qdev: initialize properties via QOM qdev: remove unused fields from PropertyInfo omap_clk: convert to QOM omap: remove PROP_PTR properties hw/omap.h | 4 + hw/omap1.c | 6 +- hw/omap2.c | 16 +- hw/omap_clk.c | 357 ++++++++++++++++++++--------------- hw/omap_gpio.c | 46 +++-- hw/omap_intc.c | 26 ++- hw/qdev-addr.c | 7 +- hw/qdev-monitor.c | 30 ++-- hw/qdev-properties.c | 510 +++++++++++++++++++++----------------------- hw/qdev.c | 32 ++-- hw/qdev.h | 39 +--- include/qemu/object.h | 241 ++++++++++++++++++++++-- include/qemu/qom-qobject.h | 43 ++++ qemu-common.h | 1 + qerror.c | 4 + qerror.h | 3 + qmp.c | 18 +-- qom/object.c | 289 ++++++++++++++++++++++------ qom/Makefile | 2 +- qom/qom-qobject.c | 44 ++++ create mode 100644 include/qemu/qom-qobject.h create mode 100644 qom/qom-qobject.c 17 files changed, 1036 insertions(+), 592 deletions(-) -- 1.7.7.6