From: Igor Mammedov <imammedo@redhat.com>
To: "Marc-André Lureau" <marcandre.lureau@redhat.com>
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
"Stefano Stabellini" <sstabellini@kernel.org>,
"Eduardo Habkost" <ehabkost@redhat.com>,
"Corey Minyard" <minyard@acm.org>, "Amit Shah" <amit@kernel.org>,
qemu-ppc@nongnu.org, "Michael S. Tsirkin" <mst@redhat.com>,
"Mark Cave-Ayland" <mark.cave-ayland@ilande.co.uk>,
qemu-devel@nongnu.org, dgilbert@redhat.com, qemu-arm@nongnu.org,
"Hervé Poussineau" <hpoussin@reactos.org>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Anthony Perard" <anthony.perard@citrix.com>,
xen-devel@lists.xenproject.org,
"Richard Henderson" <rth@twiddle.net>,
"Andreas Färber" <afaerber@suse.de>,
"Artyom Tarasenko" <atar4qemu@gmail.com>,
"Stefan Berger" <stefanb@linux.ibm.com>
Subject: Re: [Qemu-arm] [Qemu-devel] [PATCH for-3.2 v3 02/14] qom: make interface types abstract
Date: Fri, 23 Nov 2018 15:03:42 +0100 [thread overview]
Message-ID: <20181123150342.0d74f0fe@redhat.com> (raw)
In-Reply-To: <20181107123652.23417-3-marcandre.lureau@redhat.com>
On Wed, 7 Nov 2018 16:36:40 +0400
Marc-André Lureau <marcandre.lureau@redhat.com> wrote:
> Interfaces don't have instance, let's make the interface type really
> abstract to avoid confusion.
>
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
> ---
> 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(-)
>
> 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)
>
> -
> -typedef struct AcpiDeviceIf {
> - /* <private> */
> - Object Parent;
> -} AcpiDeviceIf;
> +typedef struct AcpiDeviceIf AcpiDeviceIf;
>
> void acpi_send_event(DeviceState *dev, AcpiEventStatusBits event);
>
> diff --git a/include/hw/arm/linux-boot-if.h b/include/hw/arm/linux-boot-if.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)
>
> -typedef struct ARMLinuxBootIf {
> - /*< private >*/
> - Object parent_obj;
> -} ARMLinuxBootIf;
> +typedef struct ARMLinuxBootIf ARMLinuxBootIf;
>
> 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)
>
> -typedef struct FWPathProvider {
> - Object parent_obj;
> -} FWPathProvider;
> +typedef struct FWPathProvider FWPathProvider;
>
> 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)
>
> -
> -typedef struct HotplugHandler {
> - /* <private> */
> - Object Parent;
> -} HotplugHandler;
> +typedef struct HotplugHandler HotplugHandler;
>
> /**
> * 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)
>
> -typedef struct InterruptStatsProvider {
> - Object parent;
> -} InterruptStatsProvider;
> +typedef struct InterruptStatsProvider InterruptStatsProvider;
>
> 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)
>
> -typedef struct IPMIInterface {
> - Object parent;
> -} IPMIInterface;
> +typedef struct IPMIInterface IPMIInterface;
>
> 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)
>
> -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-device.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)
>
> -typedef struct MemoryDeviceState {
> - Object parent_obj;
> -} MemoryDeviceState;
> +typedef struct MemoryDeviceState MemoryDeviceState;
>
> /**
> * 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)
>
> -typedef struct NMIState {
> - Object parent_obj;
> -} NMIState;
> +typedef struct NMIState NMIState;
>
> 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)
>
> -typedef struct StreamSlave {
> - Object Parent;
> -} StreamSlave;
> +typedef struct StreamSlave StreamSlave;
>
> typedef void (*StreamCanPushNotifyFn)(void *opaque);
>
> 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)
>
> -typedef struct Nvram {
> - Object parent;
> -} Nvram;
> +typedef struct Nvram Nvram;
>
> typedef struct NvramClass {
> InterfaceClass parent;
> diff --git a/include/qom/object_interfaces.h b/include/qom/object_interfaces.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)
>
> -
> -typedef struct UserCreatable {
> - /* <private> */
> - Object Parent;
> -} UserCreatable;
> +typedef struct UserCreatable UserCreatable;
>
> /**
> * 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)
>
> -typedef struct TPMIf {
> - Object parent_obj;
> -} TPMIf;
> +typedef struct TPMIf TPMIf;
>
> 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)
>
> -typedef struct IDAUInterface {
> - Object parent;
> -} IDAUInterface;
> +typedef struct IDAUInterface IDAUInterface;
>
> #define IREGION_NOTVALID -1
>
> 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)
>
> -typedef struct TestIf {
> - Object parent_obj;
> -} TestIf;
> +typedef struct TestIf TestIf;
>
> typedef struct TestIfClass {
> InterfaceClass parent_class;
WARNING: multiple messages have this Message-ID (diff)
From: Igor Mammedov <imammedo@redhat.com>
To: "Marc-André Lureau" <marcandre.lureau@redhat.com>
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
"Stefano Stabellini" <sstabellini@kernel.org>,
"Eduardo Habkost" <ehabkost@redhat.com>,
"Corey Minyard" <minyard@acm.org>, "Amit Shah" <amit@kernel.org>,
qemu-ppc@nongnu.org, "Michael S. Tsirkin" <mst@redhat.com>,
"Mark Cave-Ayland" <mark.cave-ayland@ilande.co.uk>,
qemu-devel@nongnu.org, dgilbert@redhat.com, qemu-arm@nongnu.org,
"Hervé Poussineau" <hpoussin@reactos.org>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Anthony Perard" <anthony.perard@citrix.com>,
xen-devel@lists.xenproject.org,
"Richard Henderson" <rth@twiddle.net>,
"Andreas Färber" <afaerber@suse.de>,
"Artyom Tarasenko" <atar4qemu@gmail.com>,
"Stefan Berger" <stefanb@linux.ibm.com>
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 [thread overview]
Message-ID: <20181123150342.0d74f0fe@redhat.com> (raw)
In-Reply-To: <20181107123652.23417-3-marcandre.lureau@redhat.com>
On Wed, 7 Nov 2018 16:36:40 +0400
Marc-André Lureau <marcandre.lureau@redhat.com> wrote:
> Interfaces don't have instance, let's make the interface type really
> abstract to avoid confusion.
>
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
> ---
> 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(-)
>
> 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)
>
> -
> -typedef struct AcpiDeviceIf {
> - /* <private> */
> - Object Parent;
> -} AcpiDeviceIf;
> +typedef struct AcpiDeviceIf AcpiDeviceIf;
>
> void acpi_send_event(DeviceState *dev, AcpiEventStatusBits event);
>
> diff --git a/include/hw/arm/linux-boot-if.h b/include/hw/arm/linux-boot-if.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)
>
> -typedef struct ARMLinuxBootIf {
> - /*< private >*/
> - Object parent_obj;
> -} ARMLinuxBootIf;
> +typedef struct ARMLinuxBootIf ARMLinuxBootIf;
>
> 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)
>
> -typedef struct FWPathProvider {
> - Object parent_obj;
> -} FWPathProvider;
> +typedef struct FWPathProvider FWPathProvider;
>
> 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)
>
> -
> -typedef struct HotplugHandler {
> - /* <private> */
> - Object Parent;
> -} HotplugHandler;
> +typedef struct HotplugHandler HotplugHandler;
>
> /**
> * 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)
>
> -typedef struct InterruptStatsProvider {
> - Object parent;
> -} InterruptStatsProvider;
> +typedef struct InterruptStatsProvider InterruptStatsProvider;
>
> 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)
>
> -typedef struct IPMIInterface {
> - Object parent;
> -} IPMIInterface;
> +typedef struct IPMIInterface IPMIInterface;
>
> 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)
>
> -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-device.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)
>
> -typedef struct MemoryDeviceState {
> - Object parent_obj;
> -} MemoryDeviceState;
> +typedef struct MemoryDeviceState MemoryDeviceState;
>
> /**
> * 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)
>
> -typedef struct NMIState {
> - Object parent_obj;
> -} NMIState;
> +typedef struct NMIState NMIState;
>
> 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)
>
> -typedef struct StreamSlave {
> - Object Parent;
> -} StreamSlave;
> +typedef struct StreamSlave StreamSlave;
>
> typedef void (*StreamCanPushNotifyFn)(void *opaque);
>
> 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)
>
> -typedef struct Nvram {
> - Object parent;
> -} Nvram;
> +typedef struct Nvram Nvram;
>
> typedef struct NvramClass {
> InterfaceClass parent;
> diff --git a/include/qom/object_interfaces.h b/include/qom/object_interfaces.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)
>
> -
> -typedef struct UserCreatable {
> - /* <private> */
> - Object Parent;
> -} UserCreatable;
> +typedef struct UserCreatable UserCreatable;
>
> /**
> * 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)
>
> -typedef struct TPMIf {
> - Object parent_obj;
> -} TPMIf;
> +typedef struct TPMIf TPMIf;
>
> 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)
>
> -typedef struct IDAUInterface {
> - Object parent;
> -} IDAUInterface;
> +typedef struct IDAUInterface IDAUInterface;
>
> #define IREGION_NOTVALID -1
>
> 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)
>
> -typedef struct TestIf {
> - Object parent_obj;
> -} TestIf;
> +typedef struct TestIf TestIf;
>
> typedef struct TestIfClass {
> InterfaceClass parent_class;
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
WARNING: multiple messages have this Message-ID (diff)
From: Igor Mammedov <imammedo@redhat.com>
To: "Marc-André Lureau" <marcandre.lureau@redhat.com>
Cc: qemu-devel@nongnu.org, "Peter Maydell" <peter.maydell@linaro.org>,
"Stefano Stabellini" <sstabellini@kernel.org>,
xen-devel@lists.xenproject.org, "Corey Minyard" <minyard@acm.org>,
"Amit Shah" <amit@kernel.org>,
"Hervé Poussineau" <hpoussin@reactos.org>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Mark Cave-Ayland" <mark.cave-ayland@ilande.co.uk>,
dgilbert@redhat.com, "Eduardo Habkost" <ehabkost@redhat.com>,
qemu-arm@nongnu.org, qemu-ppc@nongnu.org,
"Anthony Perard" <anthony.perard@citrix.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Stefan Berger" <stefanb@linux.ibm.com>,
"Andreas Färber" <afaerber@suse.de>,
"Artyom Tarasenko" <atar4qemu@gmail.com>,
"Richard Henderson" <rth@twiddle.net>
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 [thread overview]
Message-ID: <20181123150342.0d74f0fe@redhat.com> (raw)
In-Reply-To: <20181107123652.23417-3-marcandre.lureau@redhat.com>
On Wed, 7 Nov 2018 16:36:40 +0400
Marc-André Lureau <marcandre.lureau@redhat.com> wrote:
> Interfaces don't have instance, let's make the interface type really
> abstract to avoid confusion.
>
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
> ---
> 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(-)
>
> 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)
>
> -
> -typedef struct AcpiDeviceIf {
> - /* <private> */
> - Object Parent;
> -} AcpiDeviceIf;
> +typedef struct AcpiDeviceIf AcpiDeviceIf;
>
> void acpi_send_event(DeviceState *dev, AcpiEventStatusBits event);
>
> diff --git a/include/hw/arm/linux-boot-if.h b/include/hw/arm/linux-boot-if.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)
>
> -typedef struct ARMLinuxBootIf {
> - /*< private >*/
> - Object parent_obj;
> -} ARMLinuxBootIf;
> +typedef struct ARMLinuxBootIf ARMLinuxBootIf;
>
> 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)
>
> -typedef struct FWPathProvider {
> - Object parent_obj;
> -} FWPathProvider;
> +typedef struct FWPathProvider FWPathProvider;
>
> 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)
>
> -
> -typedef struct HotplugHandler {
> - /* <private> */
> - Object Parent;
> -} HotplugHandler;
> +typedef struct HotplugHandler HotplugHandler;
>
> /**
> * 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)
>
> -typedef struct InterruptStatsProvider {
> - Object parent;
> -} InterruptStatsProvider;
> +typedef struct InterruptStatsProvider InterruptStatsProvider;
>
> 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)
>
> -typedef struct IPMIInterface {
> - Object parent;
> -} IPMIInterface;
> +typedef struct IPMIInterface IPMIInterface;
>
> 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)
>
> -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-device.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)
>
> -typedef struct MemoryDeviceState {
> - Object parent_obj;
> -} MemoryDeviceState;
> +typedef struct MemoryDeviceState MemoryDeviceState;
>
> /**
> * 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)
>
> -typedef struct NMIState {
> - Object parent_obj;
> -} NMIState;
> +typedef struct NMIState NMIState;
>
> 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)
>
> -typedef struct StreamSlave {
> - Object Parent;
> -} StreamSlave;
> +typedef struct StreamSlave StreamSlave;
>
> typedef void (*StreamCanPushNotifyFn)(void *opaque);
>
> 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)
>
> -typedef struct Nvram {
> - Object parent;
> -} Nvram;
> +typedef struct Nvram Nvram;
>
> typedef struct NvramClass {
> InterfaceClass parent;
> diff --git a/include/qom/object_interfaces.h b/include/qom/object_interfaces.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)
>
> -
> -typedef struct UserCreatable {
> - /* <private> */
> - Object Parent;
> -} UserCreatable;
> +typedef struct UserCreatable UserCreatable;
>
> /**
> * 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)
>
> -typedef struct TPMIf {
> - Object parent_obj;
> -} TPMIf;
> +typedef struct TPMIf TPMIf;
>
> 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)
>
> -typedef struct IDAUInterface {
> - Object parent;
> -} IDAUInterface;
> +typedef struct IDAUInterface IDAUInterface;
>
> #define IREGION_NOTVALID -1
>
> 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)
>
> -typedef struct TestIf {
> - Object parent_obj;
> -} TestIf;
> +typedef struct TestIf TestIf;
>
> typedef struct TestIfClass {
> InterfaceClass parent_class;
next prev parent reply other threads:[~2018-11-23 14:04 UTC|newest]
Thread overview: 101+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-07 12:36 [Qemu-arm] [PATCH for-3.2 v3 00/14] Generalize machine compatibility properties Marc-André Lureau
2018-11-07 12:36 ` [Qemu-devel] " Marc-André Lureau
2018-11-07 12:36 ` Marc-André Lureau
2018-11-07 12:36 ` [Qemu-arm] [PATCH for-3.2 v3 01/14] tests: qdev_prop_check_globals() doesn't return "all_used" Marc-André Lureau
2018-11-07 12:36 ` [Qemu-devel] " Marc-André Lureau
2018-11-07 12:36 ` Marc-André Lureau
2018-11-20 15:33 ` [Qemu-arm] [Qemu-devel] " Igor Mammedov
2018-11-20 15:33 ` Igor Mammedov
2018-11-20 15:33 ` Igor Mammedov
2018-11-07 12:36 ` [Qemu-devel] [PATCH for-3.2 v3 02/14] qom: make interface types abstract Marc-André Lureau
2018-11-07 12:36 ` Marc-André Lureau
2018-11-07 12:36 ` Marc-André Lureau
2018-11-20 16:33 ` [Qemu-arm] [Qemu-devel] " Igor Mammedov
2018-11-20 16:33 ` Igor Mammedov
2018-11-20 16:33 ` Igor Mammedov
2018-11-20 17:42 ` [Qemu-arm] " Eduardo Habkost
2018-11-20 17:42 ` Eduardo Habkost
2018-11-20 17:42 ` Eduardo Habkost
2018-11-20 18:54 ` [Qemu-arm] " Laszlo Ersek
2018-11-20 18:54 ` Laszlo Ersek
2018-11-20 18:54 ` Laszlo Ersek
2018-11-21 9:10 ` [Qemu-arm] " Igor Mammedov
2018-11-21 9:10 ` Igor Mammedov
2018-11-21 9:10 ` Igor Mammedov
2018-11-23 14:03 ` Igor Mammedov [this message]
2018-11-23 14:03 ` Igor Mammedov
2018-11-23 14:03 ` Igor Mammedov
2018-11-07 12:36 ` [Qemu-arm] [PATCH for-3.2 v3 03/14] qom: make user_creatable_complete() specific to UserCreatable Marc-André Lureau
2018-11-07 12:36 ` [Qemu-devel] " Marc-André Lureau
2018-11-07 12:36 ` Marc-André Lureau
2018-11-20 16:39 ` [Qemu-arm] " Igor Mammedov
2018-11-20 16:39 ` [Qemu-devel] " Igor Mammedov
2018-11-20 16:39 ` Igor Mammedov
2018-11-07 12:36 ` [Qemu-arm] [PATCH for-3.2 v3 04/14] accel: register global_props like machine globals Marc-André Lureau
2018-11-07 12:36 ` [Qemu-devel] " Marc-André Lureau
2018-11-07 12:36 ` Marc-André Lureau
2018-11-07 12:36 ` [Qemu-devel] [PATCH for-3.2 v3 05/14] qdev: move qdev_prop_register_global_list() to tests Marc-André Lureau
2018-11-07 12:36 ` Marc-André Lureau
2018-11-07 12:36 ` Marc-André Lureau
2018-11-11 23:46 ` [Qemu-arm] [Qemu-devel] " Philippe Mathieu-Daudé
2018-11-11 23:46 ` Philippe Mathieu-Daudé
2018-11-11 23:46 ` Philippe Mathieu-Daudé
2018-11-20 16:40 ` Igor Mammedov
2018-11-20 16:40 ` Igor Mammedov
2018-11-20 16:40 ` Igor Mammedov
2018-11-07 12:36 ` [Qemu-arm] [PATCH for-3.2 v3 06/14] qdev: do not mix compat props with global props Marc-André Lureau
2018-11-07 12:36 ` [Qemu-devel] " Marc-André Lureau
2018-11-07 12:36 ` Marc-André Lureau
2018-11-23 14:02 ` [Qemu-arm] " Igor Mammedov
2018-11-23 14:02 ` [Qemu-devel] " Igor Mammedov
2018-11-23 14:02 ` Igor Mammedov
2018-11-07 12:36 ` [Qemu-arm] [PATCH for-3.2 v3 07/14] qdev: all globals are now user-provided Marc-André Lureau
2018-11-07 12:36 ` [Qemu-devel] " Marc-André Lureau
2018-11-07 12:36 ` Marc-André Lureau
2018-11-23 14:20 ` [Qemu-arm] " Igor Mammedov
2018-11-23 14:20 ` [Qemu-devel] " Igor Mammedov
2018-11-23 14:20 ` Igor Mammedov
2018-11-07 12:36 ` [Qemu-devel] [PATCH for-3.2 v3 08/14] qdev-props: convert global_props to GArray Marc-André Lureau
2018-11-07 12:36 ` Marc-André Lureau
2018-11-07 12:36 ` Marc-André Lureau
2018-11-23 14:26 ` [Qemu-arm] " Igor Mammedov
2018-11-23 14:26 ` [Qemu-devel] " Igor Mammedov
2018-11-23 14:26 ` Igor Mammedov
2018-11-07 12:36 ` [Qemu-arm] [PATCH for-3.2 v3 09/14] qdev-props: remove errp from GlobalProperty Marc-André Lureau
2018-11-07 12:36 ` [Qemu-devel] " Marc-André Lureau
2018-11-07 12:36 ` Marc-André Lureau
2018-11-07 12:36 ` [Qemu-arm] [PATCH for-3.2 v3 10/14] qdev-props: call object_apply_global_props() Marc-André Lureau
2018-11-07 12:36 ` [Qemu-devel] " Marc-André Lureau
2018-11-07 12:36 ` Marc-André Lureau
2018-11-26 13:20 ` [Qemu-arm] " Igor Mammedov
2018-11-26 13:20 ` [Qemu-devel] " Igor Mammedov
2018-11-26 13:20 ` Igor Mammedov
2018-11-26 20:02 ` [Qemu-arm] [Qemu-devel] " Marc-André Lureau
2018-11-26 20:02 ` Marc-André Lureau
2018-11-26 20:02 ` Marc-André Lureau
2018-11-27 14:12 ` [Qemu-arm] " Igor Mammedov
2018-11-27 14:12 ` Igor Mammedov
2018-11-27 14:12 ` Igor Mammedov
2018-11-07 12:36 ` [Qemu-arm] [PATCH for-3.2 v3 11/14] qom: teach interfaces to implement post-init Marc-André Lureau
2018-11-07 12:36 ` [Qemu-devel] " Marc-André Lureau
2018-11-07 12:36 ` Marc-André Lureau
2018-11-26 13:46 ` [Qemu-arm] " Igor Mammedov
2018-11-26 13:46 ` [Qemu-devel] " Igor Mammedov
2018-11-07 12:36 ` [Qemu-arm] [PATCH for-3.2 v3 12/14] machine: add compat-props interface Marc-André Lureau
2018-11-07 12:36 ` [Qemu-devel] " Marc-André Lureau
2018-11-07 12:36 ` Marc-André Lureau
2018-11-07 12:36 ` [Qemu-arm] [PATCH for-3.2 v3 13/14] hw/i386: add pc-i440fx-3.2 & pc-q35-3.2 Marc-André Lureau
2018-11-07 12:36 ` [Qemu-devel] " Marc-André Lureau
2018-11-07 12:36 ` Marc-André Lureau
2018-11-07 15:49 ` [Qemu-arm] [Qemu-devel] " Marc-André Lureau
2018-11-07 15:49 ` Marc-André Lureau
2018-11-07 19:01 ` [Qemu-arm] " Eduardo Habkost
2018-11-07 19:01 ` Eduardo Habkost
2018-11-07 19:01 ` Eduardo Habkost
2018-11-07 15:49 ` Marc-André Lureau
2018-11-07 12:36 ` [Qemu-devel] [PATCH for-3.2 v3 14/14] hostmem: use object id for memory region name with >= 3.1 Marc-André Lureau
2018-11-07 12:36 ` Marc-André Lureau
2018-11-07 12:36 ` Marc-André Lureau
2018-11-26 13:55 ` [Qemu-arm] [Qemu-devel] [PATCH for-3.2 v3 00/14] Generalize machine compatibility properties Igor Mammedov
2018-11-26 13:55 ` Igor Mammedov
2018-11-26 13:55 ` Igor Mammedov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181123150342.0d74f0fe@redhat.com \
--to=imammedo@redhat.com \
--cc=afaerber@suse.de \
--cc=amit@kernel.org \
--cc=anthony.perard@citrix.com \
--cc=atar4qemu@gmail.com \
--cc=dgilbert@redhat.com \
--cc=ehabkost@redhat.com \
--cc=hpoussin@reactos.org \
--cc=marcandre.lureau@redhat.com \
--cc=mark.cave-ayland@ilande.co.uk \
--cc=minyard@acm.org \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=rth@twiddle.net \
--cc=sstabellini@kernel.org \
--cc=stefanb@linux.ibm.com \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.