On Mon, Aug 02, 2021 at 01:19:14PM +0100, Peter Maydell wrote: > On Thu, 29 Jul 2021 at 19:01, Eduardo Habkost <ehabk...@redhat.com> wrote: > > > > When there's no specific class struct used for a QOM type, we > > normally don't define a typedef for it. Remove the typedef from > > the minimal example, as it is unnecessary. > > > > Signed-off-by: Eduardo Habkost <ehabk...@redhat.com> > > --- > > docs/devel/qom.rst | 3 --- > > 1 file changed, 3 deletions(-) > > > > diff --git a/docs/devel/qom.rst b/docs/devel/qom.rst > > index 05d045bf570..dee60a64c0a 100644 > > --- a/docs/devel/qom.rst > > +++ b/docs/devel/qom.rst > > @@ -20,9 +20,6 @@ features: > > > > #define TYPE_MY_DEVICE "my-device" > > > > - // No new virtual functions: we can reuse the typedef for the > > - // superclass. > > - typedef DeviceClass MyDeviceClass; > > typedef struct MyDevice > > { > > DeviceState parent; > > Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> > > though I agree with Daniel that in the long-term we should reverse > the structure of the documents so the recommended macros go first > and the behind-the-scenes boilerplate last.
I agree 100%, and maybe I will give it a try later. My immediate goal was to just remove the examples in the docs where type checking macros were defined manually. Since we introduced the new QOM helper macros, the number of OBJECT_CHECK macros in the QEMU tree almost doubled (from 40 in commit 8110fa1d94f2 to 75 in commit bccabb3a5d60). -- Eduardo