* Re: [PATCH v2] ppc/pnv: Make PnvXScomInterface an incomplete type
2019-12-11 16:04 [PATCH v2] ppc/pnv: Make PnvXScomInterface an incomplete type Greg Kurz
@ 2019-12-11 16:13 ` Philippe Mathieu-Daudé
2019-12-11 16:27 ` Cédric Le Goater
2019-12-12 0:37 ` David Gibson
2 siblings, 0 replies; 4+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-12-11 16:13 UTC (permalink / raw)
To: Greg Kurz, David Gibson; +Cc: qemu-ppc, Cédric Le Goater, qemu-devel
On 12/11/19 5:04 PM, Greg Kurz wrote:
> PnvXScomInterface is an interface instance. It should never be
> dereferenced. Drop the dummy type definition for extra safety,
> which is the common practice with QOM interfaces.
>
> While here also convert the bogus OBJECT_CHECK() to INTERFACE_CHECK().
>
> Signed-off-by: Greg Kurz <groug@kaod.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> v2: convert OBJECT_CHECK() to INTERFACE_CHECK()
> ---
> include/hw/ppc/pnv_xscom.h | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/include/hw/ppc/pnv_xscom.h b/include/hw/ppc/pnv_xscom.h
> index 1c1d76bf9be5..306c22461587 100644
> --- a/include/hw/ppc/pnv_xscom.h
> +++ b/include/hw/ppc/pnv_xscom.h
> @@ -22,13 +22,11 @@
>
> #include "qom/object.h"
>
> -typedef struct PnvXScomInterface {
> - Object parent;
> -} PnvXScomInterface;
> +typedef struct PnvXScomInterface PnvXScomInterface;
>
> #define TYPE_PNV_XSCOM_INTERFACE "pnv-xscom-interface"
> #define PNV_XSCOM_INTERFACE(obj) \
> - OBJECT_CHECK(PnvXScomInterface, (obj), TYPE_PNV_XSCOM_INTERFACE)
> + INTERFACE_CHECK(PnvXScomInterface, (obj), TYPE_PNV_XSCOM_INTERFACE)
> #define PNV_XSCOM_INTERFACE_CLASS(klass) \
> OBJECT_CLASS_CHECK(PnvXScomInterfaceClass, (klass), \
> TYPE_PNV_XSCOM_INTERFACE)
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] ppc/pnv: Make PnvXScomInterface an incomplete type
2019-12-11 16:04 [PATCH v2] ppc/pnv: Make PnvXScomInterface an incomplete type Greg Kurz
2019-12-11 16:13 ` Philippe Mathieu-Daudé
@ 2019-12-11 16:27 ` Cédric Le Goater
2019-12-12 0:37 ` David Gibson
2 siblings, 0 replies; 4+ messages in thread
From: Cédric Le Goater @ 2019-12-11 16:27 UTC (permalink / raw)
To: Greg Kurz, David Gibson; +Cc: qemu-ppc, qemu-devel
On 11/12/2019 17:04, Greg Kurz wrote:
> PnvXScomInterface is an interface instance. It should never be
> dereferenced. Drop the dummy type definition for extra safety,
> which is the common practice with QOM interfaces.
>
> While here also convert the bogus OBJECT_CHECK() to INTERFACE_CHECK().
>
> Signed-off-by: Greg Kurz <groug@kaod.org>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
> ---
> v2: convert OBJECT_CHECK() to INTERFACE_CHECK()
> ---
> include/hw/ppc/pnv_xscom.h | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/include/hw/ppc/pnv_xscom.h b/include/hw/ppc/pnv_xscom.h
> index 1c1d76bf9be5..306c22461587 100644
> --- a/include/hw/ppc/pnv_xscom.h
> +++ b/include/hw/ppc/pnv_xscom.h
> @@ -22,13 +22,11 @@
>
> #include "qom/object.h"
>
> -typedef struct PnvXScomInterface {
> - Object parent;
> -} PnvXScomInterface;
> +typedef struct PnvXScomInterface PnvXScomInterface;
>
> #define TYPE_PNV_XSCOM_INTERFACE "pnv-xscom-interface"
> #define PNV_XSCOM_INTERFACE(obj) \
> - OBJECT_CHECK(PnvXScomInterface, (obj), TYPE_PNV_XSCOM_INTERFACE)
> + INTERFACE_CHECK(PnvXScomInterface, (obj), TYPE_PNV_XSCOM_INTERFACE)
> #define PNV_XSCOM_INTERFACE_CLASS(klass) \
> OBJECT_CLASS_CHECK(PnvXScomInterfaceClass, (klass), \
> TYPE_PNV_XSCOM_INTERFACE)
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] ppc/pnv: Make PnvXScomInterface an incomplete type
2019-12-11 16:04 [PATCH v2] ppc/pnv: Make PnvXScomInterface an incomplete type Greg Kurz
2019-12-11 16:13 ` Philippe Mathieu-Daudé
2019-12-11 16:27 ` Cédric Le Goater
@ 2019-12-12 0:37 ` David Gibson
2 siblings, 0 replies; 4+ messages in thread
From: David Gibson @ 2019-12-12 0:37 UTC (permalink / raw)
To: Greg Kurz; +Cc: qemu-ppc, Cédric Le Goater, qemu-devel
[-- Attachment #1: Type: text/plain, Size: 1581 bytes --]
On Wed, Dec 11, 2019 at 05:04:15PM +0100, Greg Kurz wrote:
> PnvXScomInterface is an interface instance. It should never be
> dereferenced. Drop the dummy type definition for extra safety,
> which is the common practice with QOM interfaces.
>
> While here also convert the bogus OBJECT_CHECK() to INTERFACE_CHECK().
>
> Signed-off-by: Greg Kurz <groug@kaod.org>
Applied, thanks.
> ---
> v2: convert OBJECT_CHECK() to INTERFACE_CHECK()
> ---
> include/hw/ppc/pnv_xscom.h | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/include/hw/ppc/pnv_xscom.h b/include/hw/ppc/pnv_xscom.h
> index 1c1d76bf9be5..306c22461587 100644
> --- a/include/hw/ppc/pnv_xscom.h
> +++ b/include/hw/ppc/pnv_xscom.h
> @@ -22,13 +22,11 @@
>
> #include "qom/object.h"
>
> -typedef struct PnvXScomInterface {
> - Object parent;
> -} PnvXScomInterface;
> +typedef struct PnvXScomInterface PnvXScomInterface;
>
> #define TYPE_PNV_XSCOM_INTERFACE "pnv-xscom-interface"
> #define PNV_XSCOM_INTERFACE(obj) \
> - OBJECT_CHECK(PnvXScomInterface, (obj), TYPE_PNV_XSCOM_INTERFACE)
> + INTERFACE_CHECK(PnvXScomInterface, (obj), TYPE_PNV_XSCOM_INTERFACE)
> #define PNV_XSCOM_INTERFACE_CLASS(klass) \
> OBJECT_CLASS_CHECK(PnvXScomInterfaceClass, (klass), \
> TYPE_PNV_XSCOM_INTERFACE)
>
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread