include/hw/acpi/acpi_dev_interface.h | 7 +++---- include/hw/arm/linux-boot-if.h | 6 +++--- include/hw/fw-path-provider.h | 6 +++--- include/hw/hotplug.h | 6 +++--- include/hw/intc/intc.h | 7 +++---- include/hw/ipmi/ipmi.h | 6 +++--- include/hw/isa/isa.h | 2 +- include/hw/mem/memory-device.h | 6 +++--- include/hw/nmi.h | 6 +++--- include/hw/ppc/pnv_xscom.h | 4 ++-- include/hw/ppc/spapr_irq.h | 4 ++-- include/hw/ppc/xics.h | 4 ++-- include/hw/ppc/xive.h | 12 ++++++------ include/hw/rdma/rdma.h | 7 +++---- include/hw/rtc/m48t59.h | 6 +++--- include/hw/stream.h | 6 +++--- include/hw/vmstate-if.h | 6 +++--- include/qom/object.h | 14 +------------- include/qom/object_interfaces.h | 7 +++---- include/sysemu/tpm.h | 6 +++--- target/arm/idau.h | 6 +++--- tests/check-qom-interface.c | 6 +++--- 22 files changed, 62 insertions(+), 78 deletions(-)
This series replaces INTERFACE_CHECK with OBJECT_CHECK because both macros are exactly the same. The last patch is a new run of the OBJECT_CHECK -> DECLARE*_CHECKER* converter script that will convert the former INTERFACE_CHECK-based macros. Eduardo Habkost (3): qom: Correct object_class_dynamic_cast_assert() documentation qom: Replace INTERFACE_CHECK with OBJECT_CHECK [automated] Use DECLARE_*CHECKER* macros include/hw/acpi/acpi_dev_interface.h | 7 +++---- include/hw/arm/linux-boot-if.h | 6 +++--- include/hw/fw-path-provider.h | 6 +++--- include/hw/hotplug.h | 6 +++--- include/hw/intc/intc.h | 7 +++---- include/hw/ipmi/ipmi.h | 6 +++--- include/hw/isa/isa.h | 2 +- include/hw/mem/memory-device.h | 6 +++--- include/hw/nmi.h | 6 +++--- include/hw/ppc/pnv_xscom.h | 4 ++-- include/hw/ppc/spapr_irq.h | 4 ++-- include/hw/ppc/xics.h | 4 ++-- include/hw/ppc/xive.h | 12 ++++++------ include/hw/rdma/rdma.h | 7 +++---- include/hw/rtc/m48t59.h | 6 +++--- include/hw/stream.h | 6 +++--- include/hw/vmstate-if.h | 6 +++--- include/qom/object.h | 14 +------------- include/qom/object_interfaces.h | 7 +++---- include/sysemu/tpm.h | 6 +++--- target/arm/idau.h | 6 +++--- tests/check-qom-interface.c | 6 +++--- 22 files changed, 62 insertions(+), 78 deletions(-) -- 2.26.2
Hi On Wed, Sep 16, 2020 at 11:35 PM Eduardo Habkost <ehabkost@redhat.com> wrote: > This series replaces INTERFACE_CHECK with OBJECT_CHECK because > both macros are exactly the same. > > The last patch is a new run of the OBJECT_CHECK -> > DECLARE*_CHECKER* converter script that will convert the former > INTERFACE_CHECK-based macros. > > Well, at least having a different macro allows to tweak qom implementation or replace it with something different more easily. I have some wip branch somewhere where I actually made Interface a different beast than Object (it was saving some fields, and avoiding some potentially wrong casts iirc - I didn't bother to upstream that yet). Also I have a different branch where I played with GObject to replace qom. In both cases, your proposal would have, or would make, the work more complicated. Eduardo Habkost (3): > qom: Correct object_class_dynamic_cast_assert() documentation > qom: Replace INTERFACE_CHECK with OBJECT_CHECK > [automated] Use DECLARE_*CHECKER* macros > > include/hw/acpi/acpi_dev_interface.h | 7 +++---- > include/hw/arm/linux-boot-if.h | 6 +++--- > include/hw/fw-path-provider.h | 6 +++--- > include/hw/hotplug.h | 6 +++--- > include/hw/intc/intc.h | 7 +++---- > include/hw/ipmi/ipmi.h | 6 +++--- > include/hw/isa/isa.h | 2 +- > include/hw/mem/memory-device.h | 6 +++--- > include/hw/nmi.h | 6 +++--- > include/hw/ppc/pnv_xscom.h | 4 ++-- > include/hw/ppc/spapr_irq.h | 4 ++-- > include/hw/ppc/xics.h | 4 ++-- > include/hw/ppc/xive.h | 12 ++++++------ > include/hw/rdma/rdma.h | 7 +++---- > include/hw/rtc/m48t59.h | 6 +++--- > include/hw/stream.h | 6 +++--- > include/hw/vmstate-if.h | 6 +++--- > include/qom/object.h | 14 +------------- > include/qom/object_interfaces.h | 7 +++---- > include/sysemu/tpm.h | 6 +++--- > target/arm/idau.h | 6 +++--- > tests/check-qom-interface.c | 6 +++--- > 22 files changed, 62 insertions(+), 78 deletions(-) > > -- > 2.26.2 > > > > -- Marc-André Lureau
On Thu, Sep 17, 2020 at 01:31:50AM +0400, Marc-André Lureau wrote: > Hi > > On Wed, Sep 16, 2020 at 11:35 PM Eduardo Habkost <ehabkost@redhat.com> > wrote: > > > This series replaces INTERFACE_CHECK with OBJECT_CHECK because > > both macros are exactly the same. > > > > The last patch is a new run of the OBJECT_CHECK -> > > DECLARE*_CHECKER* converter script that will convert the former > > INTERFACE_CHECK-based macros. > > > > > Well, at least having a different macro allows to tweak qom implementation > or replace it with something different more easily. > > I have some wip branch somewhere where I actually made Interface a > different beast than Object (it was saving some fields, and avoiding some > potentially wrong casts iirc - I didn't bother to upstream that yet). Also > I have a different branch where I played with GObject to replace qom. In > both cases, your proposal would have, or would make, the work more > complicated. If there are expectations that the distinction will become useful, we can keep it by now. I will submit a different proposal to have a DECLARE_INTERFACE_CHECKER macro similar to DECLARE_INSTANCE_CHECKER, followed by a OBJECT_DECLARE_INTERFACE_TYPE macro similar to OBJECT_DECLARE_TYPE. -- Eduardo
On 9/16/20 11:31 PM, Marc-André Lureau wrote: > Hi > > On Wed, Sep 16, 2020 at 11:35 PM Eduardo Habkost <ehabkost@redhat.com > <mailto:ehabkost@redhat.com>> wrote: > > This series replaces INTERFACE_CHECK with OBJECT_CHECK because > both macros are exactly the same. > > The last patch is a new run of the OBJECT_CHECK -> > DECLARE*_CHECKER* converter script that will convert the former > INTERFACE_CHECK-based macros. > > > Well, at least having a different macro allows to tweak qom > implementation or replace it with something different more easily. > > I have some wip branch somewhere where I actually made Interface a > different beast than Object (it was saving some fields, and avoiding > some potentially wrong casts iirc - I didn't bother to upstream that > yet). Also I have a different branch where I played with GObject to > replace qom. In both cases, your proposal would have, or would make, the > work more complicated. Considering "wip branch not bothered to upstream" as "fork", your comment from [*] applies here... You can't blame upstream from doing cleanups and modernization, or stagnating. Forks are forks, with all the pain they carry. If they want to avoid the maintenance cost, they have to do the extra effort to get it upstream. This is also a "sneaky way" to remind them that effort is better spent in this direction. [*] https://www.mail-archive.com/qemu-devel@nongnu.org/msg720284.html
Hi On Thu, Sep 17, 2020 at 11:19 AM Philippe Mathieu-Daudé <philmd@redhat.com> wrote: > On 9/16/20 11:31 PM, Marc-André Lureau wrote: > > Hi > > > > On Wed, Sep 16, 2020 at 11:35 PM Eduardo Habkost <ehabkost@redhat.com > > <mailto:ehabkost@redhat.com>> wrote: > > > > This series replaces INTERFACE_CHECK with OBJECT_CHECK because > > both macros are exactly the same. > > > > The last patch is a new run of the OBJECT_CHECK -> > > DECLARE*_CHECKER* converter script that will convert the former > > INTERFACE_CHECK-based macros. > > > > > > Well, at least having a different macro allows to tweak qom > > implementation or replace it with something different more easily. > > > > I have some wip branch somewhere where I actually made Interface a > > different beast than Object (it was saving some fields, and avoiding > > some potentially wrong casts iirc - I didn't bother to upstream that > > yet). Also I have a different branch where I played with GObject to > > replace qom. In both cases, your proposal would have, or would make, the > > work more complicated. > > Considering "wip branch not bothered to upstream" as "fork", > your comment from [*] applies here... > > You can't blame upstream from doing cleanups and modernization, or > stagnating. Forks are forks, with all the pain they carry. If they > want to avoid the maintenance cost, they have to do the extra effort > to get it upstream. This is also a "sneaky way" to remind them that > effort is better spent in this direction. > > [*] https://www.mail-archive.com/qemu-devel@nongnu.org/msg720284.html > > Fair enough. Note I didn't nack it, but in general the proposal seems to blurry some worthy semantic difference between object & interface. Maybe #define alias INTERFACE_CHECK with OBJECT_CHECK instead ? -- Marc-André Lureau
On Thu, Sep 17, 2020 at 11:25:30AM +0400, Marc-André Lureau wrote: > Hi > > On Thu, Sep 17, 2020 at 11:19 AM Philippe Mathieu-Daudé <philmd@redhat.com> > wrote: > > > On 9/16/20 11:31 PM, Marc-André Lureau wrote: > > > Hi > > > > > > On Wed, Sep 16, 2020 at 11:35 PM Eduardo Habkost <ehabkost@redhat.com > > > <mailto:ehabkost@redhat.com>> wrote: > > > > > > This series replaces INTERFACE_CHECK with OBJECT_CHECK because > > > both macros are exactly the same. > > > > > > The last patch is a new run of the OBJECT_CHECK -> > > > DECLARE*_CHECKER* converter script that will convert the former > > > INTERFACE_CHECK-based macros. > > > > > > > > > Well, at least having a different macro allows to tweak qom > > > implementation or replace it with something different more easily. > > > > > > I have some wip branch somewhere where I actually made Interface a > > > different beast than Object (it was saving some fields, and avoiding > > > some potentially wrong casts iirc - I didn't bother to upstream that > > > yet). Also I have a different branch where I played with GObject to > > > replace qom. In both cases, your proposal would have, or would make, the > > > work more complicated. > > > > Considering "wip branch not bothered to upstream" as "fork", > > your comment from [*] applies here... > > > > You can't blame upstream from doing cleanups and modernization, or > > stagnating. Forks are forks, with all the pain they carry. If they > > want to avoid the maintenance cost, they have to do the extra effort > > to get it upstream. This is also a "sneaky way" to remind them that > > effort is better spent in this direction. > > > > [*] https://www.mail-archive.com/qemu-devel@nongnu.org/msg720284.html > > > > > Fair enough. Note I didn't nack it, but in general the proposal seems to > blurry some worthy semantic difference between object & interface. Maybe > #define alias INTERFACE_CHECK with OBJECT_CHECK instead ? I'm actually considering deleting INTERFACE_CHECK and OBJECT_CHECK completely after we finish the boilerplate conversion, and tell everybody to use OBJECT_DECLARE_INTERFACE/OBJECT_DECLARE_TYPE instead. -- Eduardo
Eduardo Habkost <ehabkost@redhat.com> writes: > This series replaces INTERFACE_CHECK with OBJECT_CHECK because > both macros are exactly the same. See also issue#2 in Subject: Issues around TYPE_INTERFACE Date: Tue, 12 Mar 2019 11:50:54 +0100 Message-ID: <87h8c82woh.fsf@dusky.pond.sub.org> https://lists.nongnu.org/archive/html/qemu-devel/2019-03/msg03840.html > The last patch is a new run of the OBJECT_CHECK -> > DECLARE*_CHECKER* converter script that will convert the former > INTERFACE_CHECK-based macros.
© 2016 - 2024 Red Hat, Inc.