diff mbox series

[v2] ppc/pnv: Make PnvXScomInterface an incomplete type

Message ID 157608025541.186670.1577861507610404326.stgit@bahia.lan (mailing list archive)
State New, archived
Headers show
Series [v2] ppc/pnv: Make PnvXScomInterface an incomplete type | expand

Commit Message

Greg Kurz Dec. 11, 2019, 4:04 p.m. UTC
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>
---
v2: convert OBJECT_CHECK() to INTERFACE_CHECK()
---
 include/hw/ppc/pnv_xscom.h |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

Comments

Philippe Mathieu-Daudé Dec. 11, 2019, 4:13 p.m. UTC | #1
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)
> 
>
Cédric Le Goater Dec. 11, 2019, 4:27 p.m. UTC | #2
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)
>
David Gibson Dec. 12, 2019, 12:37 a.m. UTC | #3
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)
>
diff mbox series

Patch

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)