Philippe Mathieu-Daudé <f4...@amsat.org> writes: > On Fri, May 15, 2020 at 8:07 AM Markus Armbruster <arm...@redhat.com> wrote: >> >> Philippe Mathieu-Daudé <f4...@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é <f4...@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, > ---