diff mbox series

[v2,1/3] qom/object: Move Object typedef to 'qemu/typedefs.h'

Message ID 20200504115656.6045-2-f4bug@amsat.org
State New
Headers show
Series qom: Few trivial patches | expand

Commit Message

Philippe Mathieu-Daudé May 4, 2020, 11:56 a.m. UTC
We use the Object type all over the place.
Forward declare it in "qemu/typedefs.h".

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 include/qemu/typedefs.h   | 1 +
 include/qom/object.h      | 2 --
 include/qom/qom-qobject.h | 2 --
 include/sysemu/sysemu.h   | 1 -
 4 files changed, 1 insertion(+), 5 deletions(-)

Comments

Markus Armbruster May 15, 2020, 6:07 a.m. UTC | #1
Philippe Mathieu-Daudé <f4bug@amsat.org> writes:

> We use the Object type all over the place.
> Forward declare it in "qemu/typedefs.h".
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>  include/qemu/typedefs.h   | 1 +
>  include/qom/object.h      | 2 --
>  include/qom/qom-qobject.h | 2 --
>  include/sysemu/sysemu.h   | 1 -
>  4 files changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h
> index 375770a80f..b03ec9f40a 100644
> --- a/include/qemu/typedefs.h
> +++ b/include/qemu/typedefs.h
> @@ -75,6 +75,7 @@ typedef struct NetFilterState NetFilterState;
>  typedef struct NICInfo NICInfo;
>  typedef struct NodeInfo NodeInfo;
>  typedef struct NumaNodeMem NumaNodeMem;
> +typedef struct Object Object;
>  typedef struct ObjectClass ObjectClass;
>  typedef struct PCIBridge PCIBridge;
>  typedef struct PCIBus PCIBus;
> diff --git a/include/qom/object.h b/include/qom/object.h
> index 784c97c0e1..1edc12e64c 100644
> --- a/include/qom/object.h
> +++ b/include/qom/object.h
> @@ -20,8 +20,6 @@
>  struct TypeImpl;
>  typedef struct TypeImpl *Type;
>  
> -typedef struct Object Object;
> -
>  typedef struct TypeInfo TypeInfo;
>  
>  typedef struct InterfaceClass InterfaceClass;
> diff --git a/include/qom/qom-qobject.h b/include/qom/qom-qobject.h
> index 77cd717e3f..82136e6e80 100644
> --- a/include/qom/qom-qobject.h
> +++ b/include/qom/qom-qobject.h
> @@ -13,8 +13,6 @@
>  #ifndef QEMU_QOM_QOBJECT_H
>  #define QEMU_QOM_QOBJECT_H
>  
> -#include "qom/object.h"
> -
>  /*
>   * object_property_get_qobject:
>   * @obj: the object
> diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
> index ef81302e1a..ca4458e451 100644
> --- a/include/sysemu/sysemu.h
> +++ b/include/sysemu/sysemu.h
> @@ -5,7 +5,6 @@
>  #include "qemu/timer.h"
>  #include "qemu/notify.h"
>  #include "qemu/uuid.h"
> -#include "qom/object.h"
>  
>  /* vl.c */

How did you identify the inclusions to drop?
Philippe Mathieu-Daudé May 15, 2020, 7 a.m. UTC | #2
On Fri, May 15, 2020 at 8:07 AM Markus Armbruster <armbru@redhat.com> wrote:
>
> Philippe Mathieu-Daudé <f4bug@amsat.org> writes:
>
> > We use the Object type all over the place.
> > Forward declare it in "qemu/typedefs.h".
> >
> > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> > ---
> >  include/qemu/typedefs.h   | 1 +
> >  include/qom/object.h      | 2 --
> >  include/qom/qom-qobject.h | 2 --
> >  include/sysemu/sysemu.h   | 1 -
> >  4 files changed, 1 insertion(+), 5 deletions(-)
> >
> > diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h
> > index 375770a80f..b03ec9f40a 100644
> > --- a/include/qemu/typedefs.h
> > +++ b/include/qemu/typedefs.h
> > @@ -75,6 +75,7 @@ typedef struct NetFilterState NetFilterState;
> >  typedef struct NICInfo NICInfo;
> >  typedef struct NodeInfo NodeInfo;
> >  typedef struct NumaNodeMem NumaNodeMem;
> > +typedef struct Object Object;
> >  typedef struct ObjectClass ObjectClass;
> >  typedef struct PCIBridge PCIBridge;
> >  typedef struct PCIBus PCIBus;
> > diff --git a/include/qom/object.h b/include/qom/object.h
> > index 784c97c0e1..1edc12e64c 100644
> > --- a/include/qom/object.h
> > +++ b/include/qom/object.h
> > @@ -20,8 +20,6 @@
> >  struct TypeImpl;
> >  typedef struct TypeImpl *Type;
> >
> > -typedef struct Object Object;
> > -
> >  typedef struct TypeInfo TypeInfo;
> >
> >  typedef struct InterfaceClass InterfaceClass;
> > diff --git a/include/qom/qom-qobject.h b/include/qom/qom-qobject.h
> > index 77cd717e3f..82136e6e80 100644
> > --- a/include/qom/qom-qobject.h
> > +++ b/include/qom/qom-qobject.h
> > @@ -13,8 +13,6 @@
> >  #ifndef QEMU_QOM_QOBJECT_H
> >  #define QEMU_QOM_QOBJECT_H
> >
> > -#include "qom/object.h"
> > -
> >  /*
> >   * object_property_get_qobject:
> >   * @obj: the object
> > diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
> > index ef81302e1a..ca4458e451 100644
> > --- a/include/sysemu/sysemu.h
> > +++ b/include/sysemu/sysemu.h
> > @@ -5,7 +5,6 @@
> >  #include "qemu/timer.h"
> >  #include "qemu/notify.h"
> >  #include "qemu/uuid.h"
> > -#include "qom/object.h"
> >
> >  /* vl.c */
>
> How did you identify the inclusions to drop?

Nothing very strict I'm afraid. I suppose I had the files opened in my editor.

The output of
$ git grep -L -E '(OBJECT_|INTERFACE_)' $(git grep -l qom/object include)
suggests I missed those:

-- >8 --
diff --git a/include/hw/display/edid.h b/include/hw/display/edid.h
index ff99dc0a05..5b1de57f24 100644
--- a/include/hw/display/edid.h
+++ b/include/hw/display/edid.h
@@ -1,8 +1,6 @@
 #ifndef EDID_H
 #define EDID_H

-#include "qom/object.h"
-
 typedef struct qemu_edid_info {
     const char *vendor; /* http://www.uefi.org/pnp_id_list */
     const char *name;
diff --git a/include/io/task.h b/include/io/task.h
index 1abbfb8b65..6818dfedd0 100644
--- a/include/io/task.h
+++ b/include/io/task.h
@@ -21,8 +21,6 @@
 #ifndef QIO_TASK_H
 #define QIO_TASK_H

-#include "qom/object.h"
-
 typedef struct QIOTask QIOTask;

 typedef void (*QIOTaskFunc)(QIOTask *task,
---
Markus Armbruster May 18, 2020, 4:52 a.m. UTC | #3
Philippe Mathieu-Daudé <f4bug@amsat.org> writes:

> On Fri, May 15, 2020 at 8:07 AM Markus Armbruster <armbru@redhat.com> wrote:
>>
>> Philippe Mathieu-Daudé <f4bug@amsat.org> writes:
>>
>> > We use the Object type all over the place.
>> > Forward declare it in "qemu/typedefs.h".
>> >
>> > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>> > ---
>> >  include/qemu/typedefs.h   | 1 +
>> >  include/qom/object.h      | 2 --
>> >  include/qom/qom-qobject.h | 2 --
>> >  include/sysemu/sysemu.h   | 1 -
>> >  4 files changed, 1 insertion(+), 5 deletions(-)
>> >
>> > diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h
>> > index 375770a80f..b03ec9f40a 100644
>> > --- a/include/qemu/typedefs.h
>> > +++ b/include/qemu/typedefs.h
>> > @@ -75,6 +75,7 @@ typedef struct NetFilterState NetFilterState;
>> >  typedef struct NICInfo NICInfo;
>> >  typedef struct NodeInfo NodeInfo;
>> >  typedef struct NumaNodeMem NumaNodeMem;
>> > +typedef struct Object Object;
>> >  typedef struct ObjectClass ObjectClass;
>> >  typedef struct PCIBridge PCIBridge;
>> >  typedef struct PCIBus PCIBus;
>> > diff --git a/include/qom/object.h b/include/qom/object.h
>> > index 784c97c0e1..1edc12e64c 100644
>> > --- a/include/qom/object.h
>> > +++ b/include/qom/object.h
>> > @@ -20,8 +20,6 @@
>> >  struct TypeImpl;
>> >  typedef struct TypeImpl *Type;
>> >
>> > -typedef struct Object Object;
>> > -
>> >  typedef struct TypeInfo TypeInfo;
>> >
>> >  typedef struct InterfaceClass InterfaceClass;
>> > diff --git a/include/qom/qom-qobject.h b/include/qom/qom-qobject.h
>> > index 77cd717e3f..82136e6e80 100644
>> > --- a/include/qom/qom-qobject.h
>> > +++ b/include/qom/qom-qobject.h
>> > @@ -13,8 +13,6 @@
>> >  #ifndef QEMU_QOM_QOBJECT_H
>> >  #define QEMU_QOM_QOBJECT_H
>> >
>> > -#include "qom/object.h"
>> > -
>> >  /*
>> >   * object_property_get_qobject:
>> >   * @obj: the object
>> > diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
>> > index ef81302e1a..ca4458e451 100644
>> > --- a/include/sysemu/sysemu.h
>> > +++ b/include/sysemu/sysemu.h
>> > @@ -5,7 +5,6 @@
>> >  #include "qemu/timer.h"
>> >  #include "qemu/notify.h"
>> >  #include "qemu/uuid.h"
>> > -#include "qom/object.h"
>> >
>> >  /* vl.c */
>>
>> How did you identify the inclusions to drop?
>
> Nothing very strict I'm afraid. I suppose I had the files opened in my editor.
>
> The output of
> $ git grep -L -E '(OBJECT_|INTERFACE_)' $(git grep -l qom/object include)

Why limit to include, and not check '*.h', or even '*.[ch]'?

> suggests I missed those:
>
> -- >8 --
> diff --git a/include/hw/display/edid.h b/include/hw/display/edid.h
> index ff99dc0a05..5b1de57f24 100644
> --- a/include/hw/display/edid.h
> +++ b/include/hw/display/edid.h
> @@ -1,8 +1,6 @@
>  #ifndef EDID_H
>  #define EDID_H
>
> -#include "qom/object.h"
> -
>  typedef struct qemu_edid_info {
>      const char *vendor; /* http://www.uefi.org/pnp_id_list */
>      const char *name;
> diff --git a/include/io/task.h b/include/io/task.h
> index 1abbfb8b65..6818dfedd0 100644
> --- a/include/io/task.h
> +++ b/include/io/task.h
> @@ -21,8 +21,6 @@
>  #ifndef QIO_TASK_H
>  #define QIO_TASK_H
>
> -#include "qom/object.h"
> -
>  typedef struct QIOTask QIOTask;
>
>  typedef void (*QIOTaskFunc)(QIOTask *task,
> ---
Paolo Bonzini May 21, 2020, 2:13 p.m. UTC | #4
On 15/05/20 09:00, Philippe Mathieu-Daudé wrote:
> On Fri, May 15, 2020 at 8:07 AM Markus Armbruster <armbru@redhat.com> wrote:
>>
>> Philippe Mathieu-Daudé <f4bug@amsat.org> writes:
>>
>>> We use the Object type all over the place.
>>> Forward declare it in "qemu/typedefs.h".
>>>
>>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>>> ---
>>>  include/qemu/typedefs.h   | 1 +
>>>  include/qom/object.h      | 2 --
>>>  include/qom/qom-qobject.h | 2 --
>>>  include/sysemu/sysemu.h   | 1 -
>>>  4 files changed, 1 insertion(+), 5 deletions(-)
>>>
>>> diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h
>>> index 375770a80f..b03ec9f40a 100644
>>> --- a/include/qemu/typedefs.h
>>> +++ b/include/qemu/typedefs.h
>>> @@ -75,6 +75,7 @@ typedef struct NetFilterState NetFilterState;
>>>  typedef struct NICInfo NICInfo;
>>>  typedef struct NodeInfo NodeInfo;
>>>  typedef struct NumaNodeMem NumaNodeMem;
>>> +typedef struct Object Object;
>>>  typedef struct ObjectClass ObjectClass;
>>>  typedef struct PCIBridge PCIBridge;
>>>  typedef struct PCIBus PCIBus;
>>> diff --git a/include/qom/object.h b/include/qom/object.h
>>> index 784c97c0e1..1edc12e64c 100644
>>> --- a/include/qom/object.h
>>> +++ b/include/qom/object.h
>>> @@ -20,8 +20,6 @@
>>>  struct TypeImpl;
>>>  typedef struct TypeImpl *Type;
>>>
>>> -typedef struct Object Object;
>>> -
>>>  typedef struct TypeInfo TypeInfo;
>>>
>>>  typedef struct InterfaceClass InterfaceClass;
>>> diff --git a/include/qom/qom-qobject.h b/include/qom/qom-qobject.h
>>> index 77cd717e3f..82136e6e80 100644
>>> --- a/include/qom/qom-qobject.h
>>> +++ b/include/qom/qom-qobject.h
>>> @@ -13,8 +13,6 @@
>>>  #ifndef QEMU_QOM_QOBJECT_H
>>>  #define QEMU_QOM_QOBJECT_H
>>>
>>> -#include "qom/object.h"
>>> -
>>>  /*
>>>   * object_property_get_qobject:
>>>   * @obj: the object
>>> diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
>>> index ef81302e1a..ca4458e451 100644
>>> --- a/include/sysemu/sysemu.h
>>> +++ b/include/sysemu/sysemu.h
>>> @@ -5,7 +5,6 @@
>>>  #include "qemu/timer.h"
>>>  #include "qemu/notify.h"
>>>  #include "qemu/uuid.h"
>>> -#include "qom/object.h"
>>>
>>>  /* vl.c */
>>
>> How did you identify the inclusions to drop?
> 
> Nothing very strict I'm afraid. I suppose I had the files opened in my editor.

Looks like all of these are affected:

 accel/accel.c             | 1 -
 block/throttle-groups.c   | 1 -
 hw/audio/soundhw.c        | 1 -
 hw/block/vhost-user-blk.c | 1 -
 hw/pci-host/pam.c         | 1 -
 hw/ppc/spapr_drc.c        | 1 -
 hw/scsi/vhost-user-scsi.c | 1 -
 include/hw/display/edid.h | 1 -
 include/hw/misc/pvpanic.h | 1 -
 include/hw/timer/hpet.h   | 1 -
 io/task.c                 | 1 -
 memory.c                  | 1 -
 stubs/qmp_memory_device.c | 1 -
 target/arm/kvm.c          | 1 -
 tests/test-io-task.c      | 1 -

Patch 3 doesn't apply anymore, I queued the first two.

Paolo
diff mbox series

Patch

diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h
index 375770a80f..b03ec9f40a 100644
--- a/include/qemu/typedefs.h
+++ b/include/qemu/typedefs.h
@@ -75,6 +75,7 @@  typedef struct NetFilterState NetFilterState;
 typedef struct NICInfo NICInfo;
 typedef struct NodeInfo NodeInfo;
 typedef struct NumaNodeMem NumaNodeMem;
+typedef struct Object Object;
 typedef struct ObjectClass ObjectClass;
 typedef struct PCIBridge PCIBridge;
 typedef struct PCIBus PCIBus;
diff --git a/include/qom/object.h b/include/qom/object.h
index 784c97c0e1..1edc12e64c 100644
--- a/include/qom/object.h
+++ b/include/qom/object.h
@@ -20,8 +20,6 @@ 
 struct TypeImpl;
 typedef struct TypeImpl *Type;
 
-typedef struct Object Object;
-
 typedef struct TypeInfo TypeInfo;
 
 typedef struct InterfaceClass InterfaceClass;
diff --git a/include/qom/qom-qobject.h b/include/qom/qom-qobject.h
index 77cd717e3f..82136e6e80 100644
--- a/include/qom/qom-qobject.h
+++ b/include/qom/qom-qobject.h
@@ -13,8 +13,6 @@ 
 #ifndef QEMU_QOM_QOBJECT_H
 #define QEMU_QOM_QOBJECT_H
 
-#include "qom/object.h"
-
 /*
  * object_property_get_qobject:
  * @obj: the object
diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
index ef81302e1a..ca4458e451 100644
--- a/include/sysemu/sysemu.h
+++ b/include/sysemu/sysemu.h
@@ -5,7 +5,6 @@ 
 #include "qemu/timer.h"
 #include "qemu/notify.h"
 #include "qemu/uuid.h"
-#include "qom/object.h"
 
 /* vl.c */