From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by 2002:a5d:6089:0:0:0:0:0 with SMTP id w9csp2071506wrt; Fri, 23 Nov 2018 06:04:16 -0800 (PST) X-Google-Smtp-Source: AFSGD/Xt3Irco0MeSxQa1ky/z+WvPG0BL25ncHDpO2WhedNguphnnPjTf/CO71SPaGXRPe3j7tiv X-Received: by 2002:a25:a506:: with SMTP id h6-v6mr6156202ybi.311.1542981855967; Fri, 23 Nov 2018 06:04:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542981855; cv=none; d=google.com; s=arc-20160816; b=WVpQ4LG9mQin+CLM8kgWZ9R2JT+XZKx2TFgTS/Wh053ypms5ZxHea11VVFcUoMPkg6 7oZvrmBXb80oEd0tHEBjFgKFpdXRpKeiWqWeCq+6cjGd1rWAZwvdYD5pJ0nKPU6VWZs4 /lzOCaS1dqNbi3vnPRI/+5zRxfybAbN/ZkRdf0Jm9BwpiYsAQVy3iMUwMMVKngshQDp2 ZgZDTz++LLtfRT8pYBn0126Qx7vQJfS+DQ1Xf9a0RTXwKshS/4wENtf6ejbmZg0r2frv KP39LyxRru0B4lCZLGBQGGd1MKdOYCiFFONM42Bag1gNGDRBV8EfbhTvbFz93hj8JKpV K7YA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject :content-transfer-encoding:mime-version:references:in-reply-to :message-id:to:from:date; bh=mZkp8CI7q/19gcnWG9qlOiMzKd56uuaN136pZejZLlM=; b=OaqjNeSZquHjyuPqb3Pj6PvVYYbllBdlqfmlUeuZDXPoHvMp44ncPKdKg7GTwZei0R I7ZpEs0TywjC6MbPPhGJXbKAz01pjfuELp3153wZBrXjwSyz+wVUDBeIbf+cVUtbRJnk KsHDQup1Pjg9m1yA6W/Z+MkmwMXJWgFOPFlHlCcViuHR5J413qD0YfN490CdPOd9ZL0d Z1IZvlgjSRnCLu63aVJoxwkX9YJL5EFSTzHhqDI3o++5CkCZ672cwGlSSEnm7Rz9kjeW gQ37fl+jMKU2au7NPW8hJ/RGSBL4Y8tbG1LcAqVikuiK/0rpqfuSYZCa42EI4kkZxHLY k/Yw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org. [2001:4830:134:3::11]) by mx.google.com with ESMTPS id k64-v6si5906644ybf.117.2018.11.23.06.04.15 for (version=TLS1 cipher=AES128-SHA bits=128/128); Fri, 23 Nov 2018 06:04:15 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) client-ip=2001:4830:134:3::11; Authentication-Results: mx.google.com; spf=pass (google.com: domain of qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from localhost ([::1]:52518 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gQC47-00024a-Cq for alex.bennee@linaro.org; Fri, 23 Nov 2018 09:04:15 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58920) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gQC3o-00022R-Ay for qemu-arm@nongnu.org; Fri, 23 Nov 2018 09:03:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gQC3l-0004UY-1j for qemu-arm@nongnu.org; Fri, 23 Nov 2018 09:03:56 -0500 Received: from mx1.redhat.com ([209.132.183.28]:55112) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gQC3k-0004Sr-KN; Fri, 23 Nov 2018 09:03:52 -0500 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 3F1CA7BDA0; Fri, 23 Nov 2018 14:03:51 +0000 (UTC) Received: from localhost (unknown [10.43.2.182]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9354B83EA1; Fri, 23 Nov 2018 14:03:43 +0000 (UTC) Date: Fri, 23 Nov 2018 15:03:42 +0100 From: Igor Mammedov To: =?UTF-8?B?TWFyYy1BbmRyw6k=?= Lureau Message-ID: <20181123150342.0d74f0fe@redhat.com> In-Reply-To: <20181107123652.23417-3-marcandre.lureau@redhat.com> References: <20181107123652.23417-1-marcandre.lureau@redhat.com> <20181107123652.23417-3-marcandre.lureau@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Fri, 23 Nov 2018 14:03:51 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: Re: [Qemu-arm] [Qemu-devel] [PATCH for-3.2 v3 02/14] qom: make interface types abstract X-BeenThere: qemu-arm@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Stefano Stabellini , Eduardo Habkost , Corey Minyard , Amit Shah , qemu-ppc@nongnu.org, "Michael S. Tsirkin" , Mark Cave-Ayland , qemu-devel@nongnu.org, dgilbert@redhat.com, qemu-arm@nongnu.org, =?UTF-8?B?SGVy?= =?UTF-8?B?dsOp?= Poussineau , Paolo Bonzini , Anthony Perard , xen-devel@lists.xenproject.org, Richard Henderson , Andreas =?UTF-8?B?RsOkcmJlcg==?= , Artyom Tarasenko , Stefan Berger Errors-To: qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org Sender: "Qemu-arm" X-TUID: vutYnc13iobu On Wed, 7 Nov 2018 16:36:40 +0400 Marc-Andr=C3=A9 Lureau wrote: > Interfaces don't have instance, let's make the interface type really > abstract to avoid confusion. >=20 > Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Igor Mammedov > --- > include/hw/acpi/acpi_dev_interface.h | 6 +----- > include/hw/arm/linux-boot-if.h | 5 +---- > include/hw/fw-path-provider.h | 4 +--- > include/hw/hotplug.h | 6 +----- > include/hw/intc/intc.h | 4 +--- > include/hw/ipmi/ipmi.h | 4 +--- > include/hw/isa/isa.h | 4 ---- > include/hw/mem/memory-device.h | 4 +--- > include/hw/nmi.h | 4 +--- > include/hw/stream.h | 4 +--- > include/hw/timer/m48t59.h | 4 +--- > include/qom/object_interfaces.h | 6 +----- > include/sysemu/tpm.h | 4 +--- > target/arm/idau.h | 4 +--- > tests/check-qom-interface.c | 4 +--- > 15 files changed, 14 insertions(+), 53 deletions(-) >=20 > diff --git a/include/hw/acpi/acpi_dev_interface.h b/include/hw/acpi/acpi_= dev_interface.h > index dabf4c4fc9..43ff119179 100644 > --- a/include/hw/acpi/acpi_dev_interface.h > +++ b/include/hw/acpi/acpi_dev_interface.h > @@ -25,11 +25,7 @@ typedef enum { > INTERFACE_CHECK(AcpiDeviceIf, (obj), \ > TYPE_ACPI_DEVICE_IF) > =20 > - > -typedef struct AcpiDeviceIf { > - /* */ > - Object Parent; > -} AcpiDeviceIf; > +typedef struct AcpiDeviceIf AcpiDeviceIf; > =20 > void acpi_send_event(DeviceState *dev, AcpiEventStatusBits event); > =20 > diff --git a/include/hw/arm/linux-boot-if.h b/include/hw/arm/linux-boot-i= f.h > index aba4479a14..7bbdfd1cc6 100644 > --- a/include/hw/arm/linux-boot-if.h > +++ b/include/hw/arm/linux-boot-if.h > @@ -16,10 +16,7 @@ > #define ARM_LINUX_BOOT_IF(obj) \ > INTERFACE_CHECK(ARMLinuxBootIf, (obj), TYPE_ARM_LINUX_BOOT_IF) > =20 > -typedef struct ARMLinuxBootIf { > - /*< private >*/ > - Object parent_obj; > -} ARMLinuxBootIf; > +typedef struct ARMLinuxBootIf ARMLinuxBootIf; > =20 > typedef struct ARMLinuxBootIfClass { > /*< private >*/ > diff --git a/include/hw/fw-path-provider.h b/include/hw/fw-path-provider.h > index 050cb05d92..5df893a3d8 100644 > --- a/include/hw/fw-path-provider.h > +++ b/include/hw/fw-path-provider.h > @@ -30,9 +30,7 @@ > #define FW_PATH_PROVIDER(obj) \ > INTERFACE_CHECK(FWPathProvider, (obj), TYPE_FW_PATH_PROVIDER) > =20 > -typedef struct FWPathProvider { > - Object parent_obj; > -} FWPathProvider; > +typedef struct FWPathProvider FWPathProvider; > =20 > typedef struct FWPathProviderClass { > InterfaceClass parent_class; > diff --git a/include/hw/hotplug.h b/include/hw/hotplug.h > index 1a0516a479..6321e292fd 100644 > --- a/include/hw/hotplug.h > +++ b/include/hw/hotplug.h > @@ -23,11 +23,7 @@ > #define HOTPLUG_HANDLER(obj) \ > INTERFACE_CHECK(HotplugHandler, (obj), TYPE_HOTPLUG_HANDLER) > =20 > - > -typedef struct HotplugHandler { > - /* */ > - Object Parent; > -} HotplugHandler; > +typedef struct HotplugHandler HotplugHandler; > =20 > /** > * hotplug_fn: > diff --git a/include/hw/intc/intc.h b/include/hw/intc/intc.h > index 27d9828943..fb3e8e621f 100644 > --- a/include/hw/intc/intc.h > +++ b/include/hw/intc/intc.h > @@ -15,9 +15,7 @@ > INTERFACE_CHECK(InterruptStatsProvider, (obj), \ > TYPE_INTERRUPT_STATS_PROVIDER) > =20 > -typedef struct InterruptStatsProvider { > - Object parent; > -} InterruptStatsProvider; > +typedef struct InterruptStatsProvider InterruptStatsProvider; > =20 > typedef struct InterruptStatsProviderClass { > InterfaceClass parent; > diff --git a/include/hw/ipmi/ipmi.h b/include/hw/ipmi/ipmi.h > index 0affe5a4d8..99661d2bf0 100644 > --- a/include/hw/ipmi/ipmi.h > +++ b/include/hw/ipmi/ipmi.h > @@ -114,9 +114,7 @@ uint32_t ipmi_next_uuid(void); > #define IPMI_INTERFACE_GET_CLASS(class) \ > OBJECT_GET_CLASS(IPMIInterfaceClass, (class), TYPE_IPMI_INTERFACE) > =20 > -typedef struct IPMIInterface { > - Object parent; > -} IPMIInterface; > +typedef struct IPMIInterface IPMIInterface; > =20 > typedef struct IPMIInterfaceClass { > InterfaceClass parent; > diff --git a/include/hw/isa/isa.h b/include/hw/isa/isa.h > index b9dbab24b4..e62ac91c19 100644 > --- a/include/hw/isa/isa.h > +++ b/include/hw/isa/isa.h > @@ -43,10 +43,6 @@ static inline uint16_t applesmc_port(void) > #define ISADMA(obj) \ > INTERFACE_CHECK(IsaDma, (obj), TYPE_ISADMA) > =20 > -struct IsaDma { > - Object parent; > -}; > - > typedef enum { > ISADMA_TRANSFER_VERIFY, > ISADMA_TRANSFER_READ, > diff --git a/include/hw/mem/memory-device.h b/include/hw/mem/memory-devic= e.h > index e904e194d5..0293a96abb 100644 > --- a/include/hw/mem/memory-device.h > +++ b/include/hw/mem/memory-device.h > @@ -25,9 +25,7 @@ > #define MEMORY_DEVICE(obj) \ > INTERFACE_CHECK(MemoryDeviceState, (obj), TYPE_MEMORY_DEVICE) > =20 > -typedef struct MemoryDeviceState { > - Object parent_obj; > -} MemoryDeviceState; > +typedef struct MemoryDeviceState MemoryDeviceState; > =20 > /** > * MemoryDeviceClass: > diff --git a/include/hw/nmi.h b/include/hw/nmi.h > index d092c684a1..ad857f3832 100644 > --- a/include/hw/nmi.h > +++ b/include/hw/nmi.h > @@ -34,9 +34,7 @@ > #define NMI(obj) \ > INTERFACE_CHECK(NMI, (obj), TYPE_NMI) > =20 > -typedef struct NMIState { > - Object parent_obj; > -} NMIState; > +typedef struct NMIState NMIState; > =20 > typedef struct NMIClass { > InterfaceClass parent_class; > diff --git a/include/hw/stream.h b/include/hw/stream.h > index c370ba0c66..15774f07ab 100644 > --- a/include/hw/stream.h > +++ b/include/hw/stream.h > @@ -14,9 +14,7 @@ > #define STREAM_SLAVE(obj) \ > INTERFACE_CHECK(StreamSlave, (obj), TYPE_STREAM_SLAVE) > =20 > -typedef struct StreamSlave { > - Object Parent; > -} StreamSlave; > +typedef struct StreamSlave StreamSlave; > =20 > typedef void (*StreamCanPushNotifyFn)(void *opaque); > =20 > diff --git a/include/hw/timer/m48t59.h b/include/hw/timer/m48t59.h > index db5e43a8da..6f8db04fce 100644 > --- a/include/hw/timer/m48t59.h > +++ b/include/hw/timer/m48t59.h > @@ -13,9 +13,7 @@ > #define NVRAM(obj) \ > INTERFACE_CHECK(Nvram, (obj), TYPE_NVRAM) > =20 > -typedef struct Nvram { > - Object parent; > -} Nvram; > +typedef struct Nvram Nvram; > =20 > typedef struct NvramClass { > InterfaceClass parent; > diff --git a/include/qom/object_interfaces.h b/include/qom/object_interfa= ces.h > index 4d513fb329..652a16d2ba 100644 > --- a/include/qom/object_interfaces.h > +++ b/include/qom/object_interfaces.h > @@ -16,11 +16,7 @@ > INTERFACE_CHECK(UserCreatable, (obj), \ > TYPE_USER_CREATABLE) > =20 > - > -typedef struct UserCreatable { > - /* */ > - Object Parent; > -} UserCreatable; > +typedef struct UserCreatable UserCreatable; > =20 > /** > * UserCreatableClass: > diff --git a/include/sysemu/tpm.h b/include/sysemu/tpm.h > index 17a97ed77a..5b541a71c8 100644 > --- a/include/sysemu/tpm.h > +++ b/include/sysemu/tpm.h > @@ -33,9 +33,7 @@ typedef enum TPMVersion { > #define TPM_IF(obj) \ > INTERFACE_CHECK(TPMIf, (obj), TYPE_TPM_IF) > =20 > -typedef struct TPMIf { > - Object parent_obj; > -} TPMIf; > +typedef struct TPMIf TPMIf; > =20 > typedef struct TPMIfClass { > InterfaceClass parent_class; > diff --git a/target/arm/idau.h b/target/arm/idau.h > index cac27b95fa..7c0e4e3776 100644 > --- a/target/arm/idau.h > +++ b/target/arm/idau.h > @@ -38,9 +38,7 @@ > #define IDAU_INTERFACE_GET_CLASS(obj) \ > OBJECT_GET_CLASS(IDAUInterfaceClass, (obj), TYPE_IDAU_INTERFACE) > =20 > -typedef struct IDAUInterface { > - Object parent; > -} IDAUInterface; > +typedef struct IDAUInterface IDAUInterface; > =20 > #define IREGION_NOTVALID -1 > =20 > diff --git a/tests/check-qom-interface.c b/tests/check-qom-interface.c > index f87c9aaa8a..2177f0dce5 100644 > --- a/tests/check-qom-interface.c > +++ b/tests/check-qom-interface.c > @@ -23,9 +23,7 @@ > #define TEST_IF(obj) \ > INTERFACE_CHECK(TestIf, (obj), TYPE_TEST_IF) > =20 > -typedef struct TestIf { > - Object parent_obj; > -} TestIf; > +typedef struct TestIf TestIf; > =20 > typedef struct TestIfClass { > InterfaceClass parent_class; From mboxrd@z Thu Jan 1 00:00:00 1970 From: Igor Mammedov Subject: Re: [Qemu-devel] [PATCH for-3.2 v3 02/14] qom: make interface types abstract Date: Fri, 23 Nov 2018 15:03:42 +0100 Message-ID: <20181123150342.0d74f0fe@redhat.com> References: <20181107123652.23417-1-marcandre.lureau@redhat.com> <20181107123652.23417-3-marcandre.lureau@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gQC3l-00066F-GH for xen-devel@lists.xenproject.org; Fri, 23 Nov 2018 14:03:53 +0000 In-Reply-To: <20181107123652.23417-3-marcandre.lureau@redhat.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: =?UTF-8?B?TWFyYy1BbmRyw6k=?= Lureau Cc: Peter Maydell , Stefano Stabellini , Eduardo Habkost , Corey Minyard , Amit Shah , qemu-ppc@nongnu.org, "Michael S. Tsirkin" , Mark Cave-Ayland , qemu-devel@nongnu.org, dgilbert@redhat.com, qemu-arm@nongnu.org, =?UTF-8?B?SGVy?= =?UTF-8?B?dsOp?= Poussineau , Paolo Bonzini , Anthony Perard , xen-devel@lists.xenproject.org, Richard Henderson , Andreas =?UTF-8?B?RsOkcmJlcg==?= , Artyom Tarasenko , Stefan Berger List-Id: xen-devel@lists.xenproject.org T24gV2VkLCAgNyBOb3YgMjAxOCAxNjozNjo0MCArMDQwMApNYXJjLUFuZHLDqSBMdXJlYXUgPG1h cmNhbmRyZS5sdXJlYXVAcmVkaGF0LmNvbT4gd3JvdGU6Cgo+IEludGVyZmFjZXMgZG9uJ3QgaGF2 ZSBpbnN0YW5jZSwgbGV0J3MgbWFrZSB0aGUgaW50ZXJmYWNlIHR5cGUgcmVhbGx5Cj4gYWJzdHJh Y3QgdG8gYXZvaWQgY29uZnVzaW9uLgo+IAo+IFNpZ25lZC1vZmYtYnk6IE1hcmMtQW5kcsOpIEx1 cmVhdSA8bWFyY2FuZHJlLmx1cmVhdUByZWRoYXQuY29tPgoKUmV2aWV3ZWQtYnk6IElnb3IgTWFt bWVkb3YgPGltYW1tZWRvQHJlZGhhdC5jb20+Cgo+IC0tLQo+ICBpbmNsdWRlL2h3L2FjcGkvYWNw aV9kZXZfaW50ZXJmYWNlLmggfCA2ICstLS0tLQo+ICBpbmNsdWRlL2h3L2FybS9saW51eC1ib290 LWlmLmggICAgICAgfCA1ICstLS0tCj4gIGluY2x1ZGUvaHcvZnctcGF0aC1wcm92aWRlci5oICAg ICAgICB8IDQgKy0tLQo+ICBpbmNsdWRlL2h3L2hvdHBsdWcuaCAgICAgICAgICAgICAgICAgfCA2 ICstLS0tLQo+ICBpbmNsdWRlL2h3L2ludGMvaW50Yy5oICAgICAgICAgICAgICAgfCA0ICstLS0K PiAgaW5jbHVkZS9ody9pcG1pL2lwbWkuaCAgICAgICAgICAgICAgIHwgNCArLS0tCj4gIGluY2x1 ZGUvaHcvaXNhL2lzYS5oICAgICAgICAgICAgICAgICB8IDQgLS0tLQo+ICBpbmNsdWRlL2h3L21l bS9tZW1vcnktZGV2aWNlLmggICAgICAgfCA0ICstLS0KPiAgaW5jbHVkZS9ody9ubWkuaCAgICAg ICAgICAgICAgICAgICAgIHwgNCArLS0tCj4gIGluY2x1ZGUvaHcvc3RyZWFtLmggICAgICAgICAg ICAgICAgICB8IDQgKy0tLQo+ICBpbmNsdWRlL2h3L3RpbWVyL200OHQ1OS5oICAgICAgICAgICAg fCA0ICstLS0KPiAgaW5jbHVkZS9xb20vb2JqZWN0X2ludGVyZmFjZXMuaCAgICAgIHwgNiArLS0t LS0KPiAgaW5jbHVkZS9zeXNlbXUvdHBtLmggICAgICAgICAgICAgICAgIHwgNCArLS0tCj4gIHRh cmdldC9hcm0vaWRhdS5oICAgICAgICAgICAgICAgICAgICB8IDQgKy0tLQo+ICB0ZXN0cy9jaGVj ay1xb20taW50ZXJmYWNlLmMgICAgICAgICAgfCA0ICstLS0KPiAgMTUgZmlsZXMgY2hhbmdlZCwg MTQgaW5zZXJ0aW9ucygrKSwgNTMgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2luY2x1 ZGUvaHcvYWNwaS9hY3BpX2Rldl9pbnRlcmZhY2UuaCBiL2luY2x1ZGUvaHcvYWNwaS9hY3BpX2Rl dl9pbnRlcmZhY2UuaAo+IGluZGV4IGRhYmY0YzRmYzkuLjQzZmYxMTkxNzkgMTAwNjQ0Cj4gLS0t IGEvaW5jbHVkZS9ody9hY3BpL2FjcGlfZGV2X2ludGVyZmFjZS5oCj4gKysrIGIvaW5jbHVkZS9o dy9hY3BpL2FjcGlfZGV2X2ludGVyZmFjZS5oCj4gQEAgLTI1LDExICsyNSw3IEBAIHR5cGVkZWYg ZW51bSB7Cj4gICAgICAgSU5URVJGQUNFX0NIRUNLKEFjcGlEZXZpY2VJZiwgKG9iaiksIFwKPiAg ICAgICAgICAgICAgICAgICAgICAgVFlQRV9BQ1BJX0RFVklDRV9JRikKPiAgCj4gLQo+IC10eXBl ZGVmIHN0cnVjdCBBY3BpRGV2aWNlSWYgewo+IC0gICAgLyogPHByaXZhdGU+ICovCj4gLSAgICBP YmplY3QgUGFyZW50Owo+IC19IEFjcGlEZXZpY2VJZjsKPiArdHlwZWRlZiBzdHJ1Y3QgQWNwaURl dmljZUlmIEFjcGlEZXZpY2VJZjsKPiAgCj4gIHZvaWQgYWNwaV9zZW5kX2V2ZW50KERldmljZVN0 YXRlICpkZXYsIEFjcGlFdmVudFN0YXR1c0JpdHMgZXZlbnQpOwo+ICAKPiBkaWZmIC0tZ2l0IGEv aW5jbHVkZS9ody9hcm0vbGludXgtYm9vdC1pZi5oIGIvaW5jbHVkZS9ody9hcm0vbGludXgtYm9v dC1pZi5oCj4gaW5kZXggYWJhNDQ3OWExNC4uN2JiZGZkMWNjNiAxMDA2NDQKPiAtLS0gYS9pbmNs dWRlL2h3L2FybS9saW51eC1ib290LWlmLmgKPiArKysgYi9pbmNsdWRlL2h3L2FybS9saW51eC1i b290LWlmLmgKPiBAQCAtMTYsMTAgKzE2LDcgQEAKPiAgI2RlZmluZSBBUk1fTElOVVhfQk9PVF9J RihvYmopIFwKPiAgICAgIElOVEVSRkFDRV9DSEVDSyhBUk1MaW51eEJvb3RJZiwgKG9iaiksIFRZ UEVfQVJNX0xJTlVYX0JPT1RfSUYpCj4gIAo+IC10eXBlZGVmIHN0cnVjdCBBUk1MaW51eEJvb3RJ ZiB7Cj4gLSAgICAvKjwgcHJpdmF0ZSA+Ki8KPiAtICAgIE9iamVjdCBwYXJlbnRfb2JqOwo+IC19 IEFSTUxpbnV4Qm9vdElmOwo+ICt0eXBlZGVmIHN0cnVjdCBBUk1MaW51eEJvb3RJZiBBUk1MaW51 eEJvb3RJZjsKPiAgCj4gIHR5cGVkZWYgc3RydWN0IEFSTUxpbnV4Qm9vdElmQ2xhc3Mgewo+ICAg ICAgLyo8IHByaXZhdGUgPiovCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcvZnctcGF0aC1wcm92 aWRlci5oIGIvaW5jbHVkZS9ody9mdy1wYXRoLXByb3ZpZGVyLmgKPiBpbmRleCAwNTBjYjA1ZDky Li41ZGY4OTNhM2Q4IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvaHcvZnctcGF0aC1wcm92aWRlci5o Cj4gKysrIGIvaW5jbHVkZS9ody9mdy1wYXRoLXByb3ZpZGVyLmgKPiBAQCAtMzAsOSArMzAsNyBA QAo+ICAjZGVmaW5lIEZXX1BBVEhfUFJPVklERVIob2JqKSBcCj4gICAgICAgSU5URVJGQUNFX0NI RUNLKEZXUGF0aFByb3ZpZGVyLCAob2JqKSwgVFlQRV9GV19QQVRIX1BST1ZJREVSKQo+ICAKPiAt dHlwZWRlZiBzdHJ1Y3QgRldQYXRoUHJvdmlkZXIgewo+IC0gICAgT2JqZWN0IHBhcmVudF9vYmo7 Cj4gLX0gRldQYXRoUHJvdmlkZXI7Cj4gK3R5cGVkZWYgc3RydWN0IEZXUGF0aFByb3ZpZGVyIEZX UGF0aFByb3ZpZGVyOwo+ICAKPiAgdHlwZWRlZiBzdHJ1Y3QgRldQYXRoUHJvdmlkZXJDbGFzcyB7 Cj4gICAgICBJbnRlcmZhY2VDbGFzcyBwYXJlbnRfY2xhc3M7Cj4gZGlmZiAtLWdpdCBhL2luY2x1 ZGUvaHcvaG90cGx1Zy5oIGIvaW5jbHVkZS9ody9ob3RwbHVnLmgKPiBpbmRleCAxYTA1MTZhNDc5 Li42MzIxZTI5MmZkIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvaHcvaG90cGx1Zy5oCj4gKysrIGIv aW5jbHVkZS9ody9ob3RwbHVnLmgKPiBAQCAtMjMsMTEgKzIzLDcgQEAKPiAgI2RlZmluZSBIT1RQ TFVHX0hBTkRMRVIob2JqKSBcCj4gICAgICAgSU5URVJGQUNFX0NIRUNLKEhvdHBsdWdIYW5kbGVy LCAob2JqKSwgVFlQRV9IT1RQTFVHX0hBTkRMRVIpCj4gIAo+IC0KPiAtdHlwZWRlZiBzdHJ1Y3Qg SG90cGx1Z0hhbmRsZXIgewo+IC0gICAgLyogPHByaXZhdGU+ICovCj4gLSAgICBPYmplY3QgUGFy ZW50Owo+IC19IEhvdHBsdWdIYW5kbGVyOwo+ICt0eXBlZGVmIHN0cnVjdCBIb3RwbHVnSGFuZGxl ciBIb3RwbHVnSGFuZGxlcjsKPiAgCj4gIC8qKgo+ICAgKiBob3RwbHVnX2ZuOgo+IGRpZmYgLS1n aXQgYS9pbmNsdWRlL2h3L2ludGMvaW50Yy5oIGIvaW5jbHVkZS9ody9pbnRjL2ludGMuaAo+IGlu ZGV4IDI3ZDk4Mjg5NDMuLmZiM2U4ZTYyMWYgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9ody9pbnRj L2ludGMuaAo+ICsrKyBiL2luY2x1ZGUvaHcvaW50Yy9pbnRjLmgKPiBAQCAtMTUsOSArMTUsNyBA QAo+ICAgICAgSU5URVJGQUNFX0NIRUNLKEludGVycnVwdFN0YXRzUHJvdmlkZXIsIChvYmopLCBc Cj4gICAgICAgICAgICAgICAgICAgICAgVFlQRV9JTlRFUlJVUFRfU1RBVFNfUFJPVklERVIpCj4g IAo+IC10eXBlZGVmIHN0cnVjdCBJbnRlcnJ1cHRTdGF0c1Byb3ZpZGVyIHsKPiAtICAgIE9iamVj dCBwYXJlbnQ7Cj4gLX0gSW50ZXJydXB0U3RhdHNQcm92aWRlcjsKPiArdHlwZWRlZiBzdHJ1Y3Qg SW50ZXJydXB0U3RhdHNQcm92aWRlciBJbnRlcnJ1cHRTdGF0c1Byb3ZpZGVyOwo+ICAKPiAgdHlw ZWRlZiBzdHJ1Y3QgSW50ZXJydXB0U3RhdHNQcm92aWRlckNsYXNzIHsKPiAgICAgIEludGVyZmFj ZUNsYXNzIHBhcmVudDsKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ody9pcG1pL2lwbWkuaCBiL2lu Y2x1ZGUvaHcvaXBtaS9pcG1pLmgKPiBpbmRleCAwYWZmZTVhNGQ4Li45OTY2MWQyYmYwIDEwMDY0 NAo+IC0tLSBhL2luY2x1ZGUvaHcvaXBtaS9pcG1pLmgKPiArKysgYi9pbmNsdWRlL2h3L2lwbWkv aXBtaS5oCj4gQEAgLTExNCw5ICsxMTQsNyBAQCB1aW50MzJfdCBpcG1pX25leHRfdXVpZCh2b2lk KTsKPiAgI2RlZmluZSBJUE1JX0lOVEVSRkFDRV9HRVRfQ0xBU1MoY2xhc3MpIFwKPiAgICAgICBP QkpFQ1RfR0VUX0NMQVNTKElQTUlJbnRlcmZhY2VDbGFzcywgKGNsYXNzKSwgVFlQRV9JUE1JX0lO VEVSRkFDRSkKPiAgCj4gLXR5cGVkZWYgc3RydWN0IElQTUlJbnRlcmZhY2Ugewo+IC0gICAgT2Jq ZWN0IHBhcmVudDsKPiAtfSBJUE1JSW50ZXJmYWNlOwo+ICt0eXBlZGVmIHN0cnVjdCBJUE1JSW50 ZXJmYWNlIElQTUlJbnRlcmZhY2U7Cj4gIAo+ICB0eXBlZGVmIHN0cnVjdCBJUE1JSW50ZXJmYWNl Q2xhc3Mgewo+ICAgICAgSW50ZXJmYWNlQ2xhc3MgcGFyZW50Owo+IGRpZmYgLS1naXQgYS9pbmNs dWRlL2h3L2lzYS9pc2EuaCBiL2luY2x1ZGUvaHcvaXNhL2lzYS5oCj4gaW5kZXggYjlkYmFiMjRi NC4uZTYyYWM5MWMxOSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2h3L2lzYS9pc2EuaAo+ICsrKyBi L2luY2x1ZGUvaHcvaXNhL2lzYS5oCj4gQEAgLTQzLDEwICs0Myw2IEBAIHN0YXRpYyBpbmxpbmUg dWludDE2X3QgYXBwbGVzbWNfcG9ydCh2b2lkKQo+ICAjZGVmaW5lIElTQURNQShvYmopIFwKPiAg ICAgIElOVEVSRkFDRV9DSEVDSyhJc2FEbWEsIChvYmopLCBUWVBFX0lTQURNQSkKPiAgCj4gLXN0 cnVjdCBJc2FEbWEgewo+IC0gICAgT2JqZWN0IHBhcmVudDsKPiAtfTsKPiAtCj4gIHR5cGVkZWYg ZW51bSB7Cj4gICAgICBJU0FETUFfVFJBTlNGRVJfVkVSSUZZLAo+ICAgICAgSVNBRE1BX1RSQU5T RkVSX1JFQUQsCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcvbWVtL21lbW9yeS1kZXZpY2UuaCBi L2luY2x1ZGUvaHcvbWVtL21lbW9yeS1kZXZpY2UuaAo+IGluZGV4IGU5MDRlMTk0ZDUuLjAyOTNh OTZhYmIgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9ody9tZW0vbWVtb3J5LWRldmljZS5oCj4gKysr IGIvaW5jbHVkZS9ody9tZW0vbWVtb3J5LWRldmljZS5oCj4gQEAgLTI1LDkgKzI1LDcgQEAKPiAg I2RlZmluZSBNRU1PUllfREVWSUNFKG9iaikgXAo+ICAgICAgIElOVEVSRkFDRV9DSEVDSyhNZW1v cnlEZXZpY2VTdGF0ZSwgKG9iaiksIFRZUEVfTUVNT1JZX0RFVklDRSkKPiAgCj4gLXR5cGVkZWYg c3RydWN0IE1lbW9yeURldmljZVN0YXRlIHsKPiAtICAgIE9iamVjdCBwYXJlbnRfb2JqOwo+IC19 IE1lbW9yeURldmljZVN0YXRlOwo+ICt0eXBlZGVmIHN0cnVjdCBNZW1vcnlEZXZpY2VTdGF0ZSBN ZW1vcnlEZXZpY2VTdGF0ZTsKPiAgCj4gIC8qKgo+ICAgKiBNZW1vcnlEZXZpY2VDbGFzczoKPiBk aWZmIC0tZ2l0IGEvaW5jbHVkZS9ody9ubWkuaCBiL2luY2x1ZGUvaHcvbm1pLmgKPiBpbmRleCBk MDkyYzY4NGExLi5hZDg1N2YzODMyIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvaHcvbm1pLmgKPiAr KysgYi9pbmNsdWRlL2h3L25taS5oCj4gQEAgLTM0LDkgKzM0LDcgQEAKPiAgI2RlZmluZSBOTUko b2JqKSBcCj4gICAgICAgSU5URVJGQUNFX0NIRUNLKE5NSSwgKG9iaiksIFRZUEVfTk1JKQo+ICAK PiAtdHlwZWRlZiBzdHJ1Y3QgTk1JU3RhdGUgewo+IC0gICAgT2JqZWN0IHBhcmVudF9vYmo7Cj4g LX0gTk1JU3RhdGU7Cj4gK3R5cGVkZWYgc3RydWN0IE5NSVN0YXRlIE5NSVN0YXRlOwo+ICAKPiAg dHlwZWRlZiBzdHJ1Y3QgTk1JQ2xhc3Mgewo+ICAgICAgSW50ZXJmYWNlQ2xhc3MgcGFyZW50X2Ns YXNzOwo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2h3L3N0cmVhbS5oIGIvaW5jbHVkZS9ody9zdHJl YW0uaAo+IGluZGV4IGMzNzBiYTBjNjYuLjE1Nzc0ZjA3YWIgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVk ZS9ody9zdHJlYW0uaAo+ICsrKyBiL2luY2x1ZGUvaHcvc3RyZWFtLmgKPiBAQCAtMTQsOSArMTQs NyBAQAo+ICAjZGVmaW5lIFNUUkVBTV9TTEFWRShvYmopIFwKPiAgICAgICBJTlRFUkZBQ0VfQ0hF Q0soU3RyZWFtU2xhdmUsIChvYmopLCBUWVBFX1NUUkVBTV9TTEFWRSkKPiAgCj4gLXR5cGVkZWYg c3RydWN0IFN0cmVhbVNsYXZlIHsKPiAtICAgIE9iamVjdCBQYXJlbnQ7Cj4gLX0gU3RyZWFtU2xh dmU7Cj4gK3R5cGVkZWYgc3RydWN0IFN0cmVhbVNsYXZlIFN0cmVhbVNsYXZlOwo+ICAKPiAgdHlw ZWRlZiB2b2lkICgqU3RyZWFtQ2FuUHVzaE5vdGlmeUZuKSh2b2lkICpvcGFxdWUpOwo+ICAKPiBk aWZmIC0tZ2l0IGEvaW5jbHVkZS9ody90aW1lci9tNDh0NTkuaCBiL2luY2x1ZGUvaHcvdGltZXIv bTQ4dDU5LmgKPiBpbmRleCBkYjVlNDNhOGRhLi42ZjhkYjA0ZmNlIDEwMDY0NAo+IC0tLSBhL2lu Y2x1ZGUvaHcvdGltZXIvbTQ4dDU5LmgKPiArKysgYi9pbmNsdWRlL2h3L3RpbWVyL200OHQ1OS5o Cj4gQEAgLTEzLDkgKzEzLDcgQEAKPiAgI2RlZmluZSBOVlJBTShvYmopIFwKPiAgICAgIElOVEVS RkFDRV9DSEVDSyhOdnJhbSwgKG9iaiksIFRZUEVfTlZSQU0pCj4gIAo+IC10eXBlZGVmIHN0cnVj dCBOdnJhbSB7Cj4gLSAgICBPYmplY3QgcGFyZW50Owo+IC19IE52cmFtOwo+ICt0eXBlZGVmIHN0 cnVjdCBOdnJhbSBOdnJhbTsKPiAgCj4gIHR5cGVkZWYgc3RydWN0IE52cmFtQ2xhc3Mgewo+ICAg ICAgSW50ZXJmYWNlQ2xhc3MgcGFyZW50Owo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3FvbS9vYmpl Y3RfaW50ZXJmYWNlcy5oIGIvaW5jbHVkZS9xb20vb2JqZWN0X2ludGVyZmFjZXMuaAo+IGluZGV4 IDRkNTEzZmIzMjkuLjY1MmExNmQyYmEgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9xb20vb2JqZWN0 X2ludGVyZmFjZXMuaAo+ICsrKyBiL2luY2x1ZGUvcW9tL29iamVjdF9pbnRlcmZhY2VzLmgKPiBA QCAtMTYsMTEgKzE2LDcgQEAKPiAgICAgICBJTlRFUkZBQ0VfQ0hFQ0soVXNlckNyZWF0YWJsZSwg KG9iaiksIFwKPiAgICAgICAgICAgICAgICAgICAgICAgVFlQRV9VU0VSX0NSRUFUQUJMRSkKPiAg Cj4gLQo+IC10eXBlZGVmIHN0cnVjdCBVc2VyQ3JlYXRhYmxlIHsKPiAtICAgIC8qIDxwcml2YXRl PiAqLwo+IC0gICAgT2JqZWN0IFBhcmVudDsKPiAtfSBVc2VyQ3JlYXRhYmxlOwo+ICt0eXBlZGVm IHN0cnVjdCBVc2VyQ3JlYXRhYmxlIFVzZXJDcmVhdGFibGU7Cj4gIAo+ICAvKioKPiAgICogVXNl ckNyZWF0YWJsZUNsYXNzOgo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3N5c2VtdS90cG0uaCBiL2lu Y2x1ZGUvc3lzZW11L3RwbS5oCj4gaW5kZXggMTdhOTdlZDc3YS4uNWI1NDFhNzFjOCAxMDA2NDQK PiAtLS0gYS9pbmNsdWRlL3N5c2VtdS90cG0uaAo+ICsrKyBiL2luY2x1ZGUvc3lzZW11L3RwbS5o Cj4gQEAgLTMzLDkgKzMzLDcgQEAgdHlwZWRlZiBlbnVtIFRQTVZlcnNpb24gewo+ICAjZGVmaW5l IFRQTV9JRihvYmopICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gICAgICBJTlRFUkZB Q0VfQ0hFQ0soVFBNSWYsIChvYmopLCBUWVBFX1RQTV9JRikKPiAgCj4gLXR5cGVkZWYgc3RydWN0 IFRQTUlmIHsKPiAtICAgIE9iamVjdCBwYXJlbnRfb2JqOwo+IC19IFRQTUlmOwo+ICt0eXBlZGVm IHN0cnVjdCBUUE1JZiBUUE1JZjsKPiAgCj4gIHR5cGVkZWYgc3RydWN0IFRQTUlmQ2xhc3Mgewo+ ICAgICAgSW50ZXJmYWNlQ2xhc3MgcGFyZW50X2NsYXNzOwo+IGRpZmYgLS1naXQgYS90YXJnZXQv YXJtL2lkYXUuaCBiL3RhcmdldC9hcm0vaWRhdS5oCj4gaW5kZXggY2FjMjdiOTVmYS4uN2MwZTRl Mzc3NiAxMDA2NDQKPiAtLS0gYS90YXJnZXQvYXJtL2lkYXUuaAo+ICsrKyBiL3RhcmdldC9hcm0v aWRhdS5oCj4gQEAgLTM4LDkgKzM4LDcgQEAKPiAgI2RlZmluZSBJREFVX0lOVEVSRkFDRV9HRVRf Q0xBU1Mob2JqKSBcCj4gICAgICBPQkpFQ1RfR0VUX0NMQVNTKElEQVVJbnRlcmZhY2VDbGFzcywg KG9iaiksIFRZUEVfSURBVV9JTlRFUkZBQ0UpCj4gIAo+IC10eXBlZGVmIHN0cnVjdCBJREFVSW50 ZXJmYWNlIHsKPiAtICAgIE9iamVjdCBwYXJlbnQ7Cj4gLX0gSURBVUludGVyZmFjZTsKPiArdHlw ZWRlZiBzdHJ1Y3QgSURBVUludGVyZmFjZSBJREFVSW50ZXJmYWNlOwo+ICAKPiAgI2RlZmluZSBJ UkVHSU9OX05PVFZBTElEIC0xCj4gIAo+IGRpZmYgLS1naXQgYS90ZXN0cy9jaGVjay1xb20taW50 ZXJmYWNlLmMgYi90ZXN0cy9jaGVjay1xb20taW50ZXJmYWNlLmMKPiBpbmRleCBmODdjOWFhYThh Li4yMTc3ZjBkY2U1IDEwMDY0NAo+IC0tLSBhL3Rlc3RzL2NoZWNrLXFvbS1pbnRlcmZhY2UuYwo+ ICsrKyBiL3Rlc3RzL2NoZWNrLXFvbS1pbnRlcmZhY2UuYwo+IEBAIC0yMyw5ICsyMyw3IEBACj4g ICNkZWZpbmUgVEVTVF9JRihvYmopIFwKPiAgICAgICBJTlRFUkZBQ0VfQ0hFQ0soVGVzdElmLCAo b2JqKSwgVFlQRV9URVNUX0lGKQo+ICAKPiAtdHlwZWRlZiBzdHJ1Y3QgVGVzdElmIHsKPiAtICAg IE9iamVjdCBwYXJlbnRfb2JqOwo+IC19IFRlc3RJZjsKPiArdHlwZWRlZiBzdHJ1Y3QgVGVzdElm IFRlc3RJZjsKPiAgCj4gIHR5cGVkZWYgc3RydWN0IFRlc3RJZkNsYXNzIHsKPiAgICAgIEludGVy ZmFjZUNsYXNzIHBhcmVudF9jbGFzczsKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGlu Zm8veGVuLWRldmVs From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58948) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gQC3w-00026y-3s for qemu-devel@nongnu.org; Fri, 23 Nov 2018 09:04:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gQC3q-0004ct-Dj for qemu-devel@nongnu.org; Fri, 23 Nov 2018 09:04:03 -0500 Date: Fri, 23 Nov 2018 15:03:42 +0100 From: Igor Mammedov Message-ID: <20181123150342.0d74f0fe@redhat.com> In-Reply-To: <20181107123652.23417-3-marcandre.lureau@redhat.com> References: <20181107123652.23417-1-marcandre.lureau@redhat.com> <20181107123652.23417-3-marcandre.lureau@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH for-3.2 v3 02/14] qom: make interface types abstract List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?TWFyYy1BbmRyw6k=?= Lureau Cc: qemu-devel@nongnu.org, Peter Maydell , Stefano Stabellini , xen-devel@lists.xenproject.org, Corey Minyard , Amit Shah , =?UTF-8?B?SGVy?= =?UTF-8?B?dsOp?= Poussineau , "Michael S. Tsirkin" , Mark Cave-Ayland , dgilbert@redhat.com, Eduardo Habkost , qemu-arm@nongnu.org, qemu-ppc@nongnu.org, Anthony Perard , Paolo Bonzini , Stefan Berger , Andreas =?UTF-8?B?RsOkcmJlcg==?= , Artyom Tarasenko , Richard Henderson On Wed, 7 Nov 2018 16:36:40 +0400 Marc-Andr=C3=A9 Lureau wrote: > Interfaces don't have instance, let's make the interface type really > abstract to avoid confusion. >=20 > Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Igor Mammedov > --- > include/hw/acpi/acpi_dev_interface.h | 6 +----- > include/hw/arm/linux-boot-if.h | 5 +---- > include/hw/fw-path-provider.h | 4 +--- > include/hw/hotplug.h | 6 +----- > include/hw/intc/intc.h | 4 +--- > include/hw/ipmi/ipmi.h | 4 +--- > include/hw/isa/isa.h | 4 ---- > include/hw/mem/memory-device.h | 4 +--- > include/hw/nmi.h | 4 +--- > include/hw/stream.h | 4 +--- > include/hw/timer/m48t59.h | 4 +--- > include/qom/object_interfaces.h | 6 +----- > include/sysemu/tpm.h | 4 +--- > target/arm/idau.h | 4 +--- > tests/check-qom-interface.c | 4 +--- > 15 files changed, 14 insertions(+), 53 deletions(-) >=20 > diff --git a/include/hw/acpi/acpi_dev_interface.h b/include/hw/acpi/acpi_= dev_interface.h > index dabf4c4fc9..43ff119179 100644 > --- a/include/hw/acpi/acpi_dev_interface.h > +++ b/include/hw/acpi/acpi_dev_interface.h > @@ -25,11 +25,7 @@ typedef enum { > INTERFACE_CHECK(AcpiDeviceIf, (obj), \ > TYPE_ACPI_DEVICE_IF) > =20 > - > -typedef struct AcpiDeviceIf { > - /* */ > - Object Parent; > -} AcpiDeviceIf; > +typedef struct AcpiDeviceIf AcpiDeviceIf; > =20 > void acpi_send_event(DeviceState *dev, AcpiEventStatusBits event); > =20 > diff --git a/include/hw/arm/linux-boot-if.h b/include/hw/arm/linux-boot-i= f.h > index aba4479a14..7bbdfd1cc6 100644 > --- a/include/hw/arm/linux-boot-if.h > +++ b/include/hw/arm/linux-boot-if.h > @@ -16,10 +16,7 @@ > #define ARM_LINUX_BOOT_IF(obj) \ > INTERFACE_CHECK(ARMLinuxBootIf, (obj), TYPE_ARM_LINUX_BOOT_IF) > =20 > -typedef struct ARMLinuxBootIf { > - /*< private >*/ > - Object parent_obj; > -} ARMLinuxBootIf; > +typedef struct ARMLinuxBootIf ARMLinuxBootIf; > =20 > typedef struct ARMLinuxBootIfClass { > /*< private >*/ > diff --git a/include/hw/fw-path-provider.h b/include/hw/fw-path-provider.h > index 050cb05d92..5df893a3d8 100644 > --- a/include/hw/fw-path-provider.h > +++ b/include/hw/fw-path-provider.h > @@ -30,9 +30,7 @@ > #define FW_PATH_PROVIDER(obj) \ > INTERFACE_CHECK(FWPathProvider, (obj), TYPE_FW_PATH_PROVIDER) > =20 > -typedef struct FWPathProvider { > - Object parent_obj; > -} FWPathProvider; > +typedef struct FWPathProvider FWPathProvider; > =20 > typedef struct FWPathProviderClass { > InterfaceClass parent_class; > diff --git a/include/hw/hotplug.h b/include/hw/hotplug.h > index 1a0516a479..6321e292fd 100644 > --- a/include/hw/hotplug.h > +++ b/include/hw/hotplug.h > @@ -23,11 +23,7 @@ > #define HOTPLUG_HANDLER(obj) \ > INTERFACE_CHECK(HotplugHandler, (obj), TYPE_HOTPLUG_HANDLER) > =20 > - > -typedef struct HotplugHandler { > - /* */ > - Object Parent; > -} HotplugHandler; > +typedef struct HotplugHandler HotplugHandler; > =20 > /** > * hotplug_fn: > diff --git a/include/hw/intc/intc.h b/include/hw/intc/intc.h > index 27d9828943..fb3e8e621f 100644 > --- a/include/hw/intc/intc.h > +++ b/include/hw/intc/intc.h > @@ -15,9 +15,7 @@ > INTERFACE_CHECK(InterruptStatsProvider, (obj), \ > TYPE_INTERRUPT_STATS_PROVIDER) > =20 > -typedef struct InterruptStatsProvider { > - Object parent; > -} InterruptStatsProvider; > +typedef struct InterruptStatsProvider InterruptStatsProvider; > =20 > typedef struct InterruptStatsProviderClass { > InterfaceClass parent; > diff --git a/include/hw/ipmi/ipmi.h b/include/hw/ipmi/ipmi.h > index 0affe5a4d8..99661d2bf0 100644 > --- a/include/hw/ipmi/ipmi.h > +++ b/include/hw/ipmi/ipmi.h > @@ -114,9 +114,7 @@ uint32_t ipmi_next_uuid(void); > #define IPMI_INTERFACE_GET_CLASS(class) \ > OBJECT_GET_CLASS(IPMIInterfaceClass, (class), TYPE_IPMI_INTERFACE) > =20 > -typedef struct IPMIInterface { > - Object parent; > -} IPMIInterface; > +typedef struct IPMIInterface IPMIInterface; > =20 > typedef struct IPMIInterfaceClass { > InterfaceClass parent; > diff --git a/include/hw/isa/isa.h b/include/hw/isa/isa.h > index b9dbab24b4..e62ac91c19 100644 > --- a/include/hw/isa/isa.h > +++ b/include/hw/isa/isa.h > @@ -43,10 +43,6 @@ static inline uint16_t applesmc_port(void) > #define ISADMA(obj) \ > INTERFACE_CHECK(IsaDma, (obj), TYPE_ISADMA) > =20 > -struct IsaDma { > - Object parent; > -}; > - > typedef enum { > ISADMA_TRANSFER_VERIFY, > ISADMA_TRANSFER_READ, > diff --git a/include/hw/mem/memory-device.h b/include/hw/mem/memory-devic= e.h > index e904e194d5..0293a96abb 100644 > --- a/include/hw/mem/memory-device.h > +++ b/include/hw/mem/memory-device.h > @@ -25,9 +25,7 @@ > #define MEMORY_DEVICE(obj) \ > INTERFACE_CHECK(MemoryDeviceState, (obj), TYPE_MEMORY_DEVICE) > =20 > -typedef struct MemoryDeviceState { > - Object parent_obj; > -} MemoryDeviceState; > +typedef struct MemoryDeviceState MemoryDeviceState; > =20 > /** > * MemoryDeviceClass: > diff --git a/include/hw/nmi.h b/include/hw/nmi.h > index d092c684a1..ad857f3832 100644 > --- a/include/hw/nmi.h > +++ b/include/hw/nmi.h > @@ -34,9 +34,7 @@ > #define NMI(obj) \ > INTERFACE_CHECK(NMI, (obj), TYPE_NMI) > =20 > -typedef struct NMIState { > - Object parent_obj; > -} NMIState; > +typedef struct NMIState NMIState; > =20 > typedef struct NMIClass { > InterfaceClass parent_class; > diff --git a/include/hw/stream.h b/include/hw/stream.h > index c370ba0c66..15774f07ab 100644 > --- a/include/hw/stream.h > +++ b/include/hw/stream.h > @@ -14,9 +14,7 @@ > #define STREAM_SLAVE(obj) \ > INTERFACE_CHECK(StreamSlave, (obj), TYPE_STREAM_SLAVE) > =20 > -typedef struct StreamSlave { > - Object Parent; > -} StreamSlave; > +typedef struct StreamSlave StreamSlave; > =20 > typedef void (*StreamCanPushNotifyFn)(void *opaque); > =20 > diff --git a/include/hw/timer/m48t59.h b/include/hw/timer/m48t59.h > index db5e43a8da..6f8db04fce 100644 > --- a/include/hw/timer/m48t59.h > +++ b/include/hw/timer/m48t59.h > @@ -13,9 +13,7 @@ > #define NVRAM(obj) \ > INTERFACE_CHECK(Nvram, (obj), TYPE_NVRAM) > =20 > -typedef struct Nvram { > - Object parent; > -} Nvram; > +typedef struct Nvram Nvram; > =20 > typedef struct NvramClass { > InterfaceClass parent; > diff --git a/include/qom/object_interfaces.h b/include/qom/object_interfa= ces.h > index 4d513fb329..652a16d2ba 100644 > --- a/include/qom/object_interfaces.h > +++ b/include/qom/object_interfaces.h > @@ -16,11 +16,7 @@ > INTERFACE_CHECK(UserCreatable, (obj), \ > TYPE_USER_CREATABLE) > =20 > - > -typedef struct UserCreatable { > - /* */ > - Object Parent; > -} UserCreatable; > +typedef struct UserCreatable UserCreatable; > =20 > /** > * UserCreatableClass: > diff --git a/include/sysemu/tpm.h b/include/sysemu/tpm.h > index 17a97ed77a..5b541a71c8 100644 > --- a/include/sysemu/tpm.h > +++ b/include/sysemu/tpm.h > @@ -33,9 +33,7 @@ typedef enum TPMVersion { > #define TPM_IF(obj) \ > INTERFACE_CHECK(TPMIf, (obj), TYPE_TPM_IF) > =20 > -typedef struct TPMIf { > - Object parent_obj; > -} TPMIf; > +typedef struct TPMIf TPMIf; > =20 > typedef struct TPMIfClass { > InterfaceClass parent_class; > diff --git a/target/arm/idau.h b/target/arm/idau.h > index cac27b95fa..7c0e4e3776 100644 > --- a/target/arm/idau.h > +++ b/target/arm/idau.h > @@ -38,9 +38,7 @@ > #define IDAU_INTERFACE_GET_CLASS(obj) \ > OBJECT_GET_CLASS(IDAUInterfaceClass, (obj), TYPE_IDAU_INTERFACE) > =20 > -typedef struct IDAUInterface { > - Object parent; > -} IDAUInterface; > +typedef struct IDAUInterface IDAUInterface; > =20 > #define IREGION_NOTVALID -1 > =20 > diff --git a/tests/check-qom-interface.c b/tests/check-qom-interface.c > index f87c9aaa8a..2177f0dce5 100644 > --- a/tests/check-qom-interface.c > +++ b/tests/check-qom-interface.c > @@ -23,9 +23,7 @@ > #define TEST_IF(obj) \ > INTERFACE_CHECK(TestIf, (obj), TYPE_TEST_IF) > =20 > -typedef struct TestIf { > - Object parent_obj; > -} TestIf; > +typedef struct TestIf TestIf; > =20 > typedef struct TestIfClass { > InterfaceClass parent_class;