From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by 2002:a5d:6089:0:0:0:0:0 with SMTP id w9csp769773wrt; Tue, 20 Nov 2018 08:33:57 -0800 (PST) X-Google-Smtp-Source: AJdET5empRZcxHRY6g2xSqUei+xHOwL4sFQo7M1fn06UuOAlkCYNlLyUW9MgMK1q7lkHlROSCFX7 X-Received: by 2002:a81:a381:: with SMTP id a123mr2653074ywh.295.1542731637473; Tue, 20 Nov 2018 08:33:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542731637; cv=none; d=google.com; s=arc-20160816; b=Rm5j/Fc94pC/lHn8F4ICSn8tfzaCKZ0SHFcpPH1WE1PaN9LBP8xDLZEKokDMUJ+TSc RdXyPqqhHkrg0FRT8DWjd3Bzxum1TYgfx44hJE1YnCKiqve7thkLHk9br3H271sfnIqw cMKe+LO3dzfXna6maeV6Sc2fib5nwxUibeMYks++lJm7ShkPfosKd+G53Kr7wHb8CPLu D+SwAJ+0obNcG0MkNsZqNteFvI3tCmBPtyQUcsB02ZaQdX+vOhp5BeQLL2J6nV/kw8dw 5jhWRifQS4WB11tVLdVhrae0IHsqq0Xg9K4v2K2p6lPMldaQdqXmYsFkIFrKZgiL8ldE fbCw== 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=e2kNRnvf0MqFAlBo7m+VwRb1sa3iHfKhQsf14FaO8YQ=; b=z2TkziK7Tjkhh7X8xkIDXSL8xt4ZEcJtrPzW7SdMo5vMmOgDsPQEHwGnmbv7VPrmIv hDuJ9AVcaEwrbjZdgrmvErxI7Ntt2QGbPhsGqG4BfS9idOEyojYr0cfHnTo2Mq1JLfEC YSfUZ/TlOQA5rAzqX4o1QF0POET7/iKZPXlQSqLlBJa1mE8Yh4gKkDIRE4uilv9XSzKs 4xppfqKcol4ta4ueK/EeXMaHoBeLGqYf7WPuQAArp+/3IoERSO5oKkq2FIkd0UujT5jD aq8aUzDPhQfEJmFTfC5SaEyn/QQ2nx71KymVXDteZNGqHrY7Z9NPnDJMEeyRSEvrF5Fe 9upg== 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 d76-v6si26135473ywh.448.2018.11.20.08.33.57 for (version=TLS1 cipher=AES128-SHA bits=128/128); Tue, 20 Nov 2018 08:33:57 -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]:34579 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gP8yK-0005JK-SZ for alex.bennee@linaro.org; Tue, 20 Nov 2018 11:33:56 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49986) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gP8y8-0005Hm-0p for qemu-arm@nongnu.org; Tue, 20 Nov 2018 11:33:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gP8y5-00072y-79 for qemu-arm@nongnu.org; Tue, 20 Nov 2018 11:33:43 -0500 Received: from mx1.redhat.com ([209.132.183.28]:60534) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gP8y4-00070C-Q7; Tue, 20 Nov 2018 11:33:41 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 23EBD3078AC2; Tue, 20 Nov 2018 16:33:38 +0000 (UTC) Received: from localhost (ovpn-204-50.brq.redhat.com [10.40.204.50]) by smtp.corp.redhat.com (Postfix) with ESMTP id B14CC88B3A; Tue, 20 Nov 2018 16:33:27 +0000 (UTC) Date: Tue, 20 Nov 2018 17:33:24 +0100 From: Igor Mammedov To: =?UTF-8?B?TWFyYy1BbmRyw6k=?= Lureau Message-ID: <20181120173324.64a36d8e@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.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.48]); Tue, 20 Nov 2018 16:33:38 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] 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 , lersek@redhat.com, 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: FxSfOvzDSTHr 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 > --- > 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; I like how it makes interface truly opaque and removes the need for structure declaration but: 1: I'm not sure if it's acceptable thing to do from language point of view 2: For a reader not aware of a trick, it's sort of confusing to have forwa= rd declaration but without structure itself. So if #1 is acceptable we prob= ably should document interface trick in object.h [...] 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: Tue, 20 Nov 2018 17:33:24 +0100 Message-ID: <20181120173324.64a36d8e@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 1gP8y4-0001pV-Hu for xen-devel@lists.xenproject.org; Tue, 20 Nov 2018 16:33:40 +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 , lersek@redhat.com, Andreas =?UTF-8?B?RsOkcmJlcg==?= , Artyom Tarasenko , Stefan Berger List-Id: xen-devel@lists.xenproject.org T24gV2VkLCAgNyBOb3YgMjAxOCAxNjozNjo0MCArMDQwMApNYXJjLUFuZHLDqSBMdXJlYXUgPG1h cmNhbmRyZS5sdXJlYXVAcmVkaGF0LmNvbT4gd3JvdGU6Cgo+IEludGVyZmFjZXMgZG9uJ3QgaGF2 ZSBpbnN0YW5jZSwgbGV0J3MgbWFrZSB0aGUgaW50ZXJmYWNlIHR5cGUgcmVhbGx5Cj4gYWJzdHJh Y3QgdG8gYXZvaWQgY29uZnVzaW9uLgo+IAo+IFNpZ25lZC1vZmYtYnk6IE1hcmMtQW5kcsOpIEx1 cmVhdSA8bWFyY2FuZHJlLmx1cmVhdUByZWRoYXQuY29tPgo+IC0tLQo+ICBpbmNsdWRlL2h3L2Fj cGkvYWNwaV9kZXZfaW50ZXJmYWNlLmggfCA2ICstLS0tLQo+ICBpbmNsdWRlL2h3L2FybS9saW51 eC1ib290LWlmLmggICAgICAgfCA1ICstLS0tCj4gIGluY2x1ZGUvaHcvZnctcGF0aC1wcm92aWRl ci5oICAgICAgICB8IDQgKy0tLQo+ICBpbmNsdWRlL2h3L2hvdHBsdWcuaCAgICAgICAgICAgICAg ICAgfCA2ICstLS0tLQo+ICBpbmNsdWRlL2h3L2ludGMvaW50Yy5oICAgICAgICAgICAgICAgfCA0 ICstLS0KPiAgaW5jbHVkZS9ody9pcG1pL2lwbWkuaCAgICAgICAgICAgICAgIHwgNCArLS0tCj4g IGluY2x1ZGUvaHcvaXNhL2lzYS5oICAgICAgICAgICAgICAgICB8IDQgLS0tLQo+ICBpbmNsdWRl L2h3L21lbS9tZW1vcnktZGV2aWNlLmggICAgICAgfCA0ICstLS0KPiAgaW5jbHVkZS9ody9ubWku aCAgICAgICAgICAgICAgICAgICAgIHwgNCArLS0tCj4gIGluY2x1ZGUvaHcvc3RyZWFtLmggICAg ICAgICAgICAgICAgICB8IDQgKy0tLQo+ICBpbmNsdWRlL2h3L3RpbWVyL200OHQ1OS5oICAgICAg ICAgICAgfCA0ICstLS0KPiAgaW5jbHVkZS9xb20vb2JqZWN0X2ludGVyZmFjZXMuaCAgICAgIHwg NiArLS0tLS0KPiAgaW5jbHVkZS9zeXNlbXUvdHBtLmggICAgICAgICAgICAgICAgIHwgNCArLS0t Cj4gIHRhcmdldC9hcm0vaWRhdS5oICAgICAgICAgICAgICAgICAgICB8IDQgKy0tLQo+ICB0ZXN0 cy9jaGVjay1xb20taW50ZXJmYWNlLmMgICAgICAgICAgfCA0ICstLS0KPiAgMTUgZmlsZXMgY2hh bmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgNTMgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBh L2luY2x1ZGUvaHcvYWNwaS9hY3BpX2Rldl9pbnRlcmZhY2UuaCBiL2luY2x1ZGUvaHcvYWNwaS9h Y3BpX2Rldl9pbnRlcmZhY2UuaAo+IGluZGV4IGRhYmY0YzRmYzkuLjQzZmYxMTkxNzkgMTAwNjQ0 Cj4gLS0tIGEvaW5jbHVkZS9ody9hY3BpL2FjcGlfZGV2X2ludGVyZmFjZS5oCj4gKysrIGIvaW5j bHVkZS9ody9hY3BpL2FjcGlfZGV2X2ludGVyZmFjZS5oCj4gQEAgLTI1LDExICsyNSw3IEBAIHR5 cGVkZWYgZW51bSB7Cj4gICAgICAgSU5URVJGQUNFX0NIRUNLKEFjcGlEZXZpY2VJZiwgKG9iaiks IFwKPiAgICAgICAgICAgICAgICAgICAgICAgVFlQRV9BQ1BJX0RFVklDRV9JRikKPiAgCj4gLQo+ IC10eXBlZGVmIHN0cnVjdCBBY3BpRGV2aWNlSWYgewo+IC0gICAgLyogPHByaXZhdGU+ICovCj4g LSAgICBPYmplY3QgUGFyZW50Owo+IC19IEFjcGlEZXZpY2VJZjsKPiArdHlwZWRlZiBzdHJ1Y3Qg QWNwaURldmljZUlmIEFjcGlEZXZpY2VJZjsKPiAgCj4gIHZvaWQgYWNwaV9zZW5kX2V2ZW50KERl dmljZVN0YXRlICpkZXYsIEFjcGlFdmVudFN0YXR1c0JpdHMgZXZlbnQpOwo+ICAKPiBkaWZmIC0t Z2l0IGEvaW5jbHVkZS9ody9hcm0vbGludXgtYm9vdC1pZi5oIGIvaW5jbHVkZS9ody9hcm0vbGlu dXgtYm9vdC1pZi5oCj4gaW5kZXggYWJhNDQ3OWExNC4uN2JiZGZkMWNjNiAxMDA2NDQKPiAtLS0g YS9pbmNsdWRlL2h3L2FybS9saW51eC1ib290LWlmLmgKPiArKysgYi9pbmNsdWRlL2h3L2FybS9s aW51eC1ib290LWlmLmgKPiBAQCAtMTYsMTAgKzE2LDcgQEAKPiAgI2RlZmluZSBBUk1fTElOVVhf Qk9PVF9JRihvYmopIFwKPiAgICAgIElOVEVSRkFDRV9DSEVDSyhBUk1MaW51eEJvb3RJZiwgKG9i aiksIFRZUEVfQVJNX0xJTlVYX0JPT1RfSUYpCj4gIAo+IC10eXBlZGVmIHN0cnVjdCBBUk1MaW51 eEJvb3RJZiB7Cj4gLSAgICAvKjwgcHJpdmF0ZSA+Ki8KPiAtICAgIE9iamVjdCBwYXJlbnRfb2Jq Owo+IC19IEFSTUxpbnV4Qm9vdElmOwo+ICt0eXBlZGVmIHN0cnVjdCBBUk1MaW51eEJvb3RJZiBB Uk1MaW51eEJvb3RJZjsKSSBsaWtlIGhvdyBpdCBtYWtlcyBpbnRlcmZhY2UgdHJ1bHkgb3BhcXVl IGFuZCByZW1vdmVzIHRoZSBuZWVkIGZvcgpzdHJ1Y3R1cmUgZGVjbGFyYXRpb24gYnV0OgoKIDE6 IEknbSBub3Qgc3VyZSBpZiBpdCdzIGFjY2VwdGFibGUgdGhpbmcgdG8gZG8gZnJvbSBsYW5ndWFn ZSBwb2ludCBvZiB2aWV3CgogMjogRm9yIGEgcmVhZGVyIG5vdCBhd2FyZSBvZiBhIHRyaWNrLCBp dCdzIHNvcnQgb2YgY29uZnVzaW5nIHRvIGhhdmUgZm9yd2FyZCBkZWNsYXJhdGlvbiBidXQgd2l0 aG91dCBzdHJ1Y3R1cmUgaXRzZWxmLiBTbyBpZiAjMSBpcyBhY2NlcHRhYmxlIHdlIHByb2JhYmx5 IHNob3VsZCBkb2N1bWVudCBpbnRlcmZhY2UgdHJpY2sgaW4gb2JqZWN0LmgKClsuLi5dCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFp bGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhl bnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50043) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gP8yA-0005J0-7W for qemu-devel@nongnu.org; Tue, 20 Nov 2018 11:33:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gP8y9-00078d-9S for qemu-devel@nongnu.org; Tue, 20 Nov 2018 11:33:46 -0500 Date: Tue, 20 Nov 2018 17:33:24 +0100 From: Igor Mammedov Message-ID: <20181120173324.64a36d8e@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 , lersek@redhat.com 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 > --- > 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; I like how it makes interface truly opaque and removes the need for structure declaration but: 1: I'm not sure if it's acceptable thing to do from language point of view 2: For a reader not aware of a trick, it's sort of confusing to have forwa= rd declaration but without structure itself. So if #1 is acceptable we prob= ably should document interface trick in object.h [...]