Message ID | 20230213184338.46712-9-philmd@linaro.org |
---|---|
State | New |
Headers | show |
Series | hw: Use QOM macros and remove DO_UPCAST() uses | expand |
Hi Jason, do you Ack this patch? On 13/2/23 19:43, Philippe Mathieu-Daudé wrote: > Define TYPE_PCI_NE2000 and the QOM PCI_NE2000() macro. > Use PCI_NE2000() instead of DO_UPCAST(). > > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> > --- > hw/net/ne2000-pci.c | 18 ++++++++++++------ > 1 file changed, 12 insertions(+), 6 deletions(-) > > diff --git a/hw/net/ne2000-pci.c b/hw/net/ne2000-pci.c > index edc6689d33..0332e7f616 100644 > --- a/hw/net/ne2000-pci.c > +++ b/hw/net/ne2000-pci.c > @@ -30,10 +30,16 @@ > #include "ne2000.h" > #include "sysemu/sysemu.h" > > -typedef struct PCINE2000State { > +#define TYPE_PCI_NE2000 "ne2k_pci" > +OBJECT_DECLARE_SIMPLE_TYPE(PCINE2000State, PCI_NE2000) > + > +struct PCINE2000State { > + /*< private >*/ > PCIDevice dev; > + /*< public >*/ > + > NE2000State ne2000; > -} PCINE2000State; > +}; > > static const VMStateDescription vmstate_pci_ne2000 = { > .name = "ne2000", > @@ -54,7 +60,7 @@ static NetClientInfo net_ne2000_info = { > > static void pci_ne2000_realize(PCIDevice *pci_dev, Error **errp) > { > - PCINE2000State *d = DO_UPCAST(PCINE2000State, dev, pci_dev); > + PCINE2000State *d = PCI_NE2000(pci_dev); > NE2000State *s; > uint8_t *pci_conf; > > @@ -77,7 +83,7 @@ static void pci_ne2000_realize(PCIDevice *pci_dev, Error **errp) > > static void pci_ne2000_exit(PCIDevice *pci_dev) > { > - PCINE2000State *d = DO_UPCAST(PCINE2000State, dev, pci_dev); > + PCINE2000State *d = PCI_NE2000(pci_dev); > NE2000State *s = &d->ne2000; > > qemu_del_nic(s->nic); > @@ -87,7 +93,7 @@ static void pci_ne2000_exit(PCIDevice *pci_dev) > static void ne2000_instance_init(Object *obj) > { > PCIDevice *pci_dev = PCI_DEVICE(obj); > - PCINE2000State *d = DO_UPCAST(PCINE2000State, dev, pci_dev); > + PCINE2000State *d = PCI_NE2000(pci_dev); > NE2000State *s = &d->ne2000; > > device_add_bootindex_property(obj, &s->c.bootindex, > @@ -117,7 +123,7 @@ static void ne2000_class_init(ObjectClass *klass, void *data) > } > > static const TypeInfo ne2000_info = { > - .name = "ne2k_pci", > + .name = TYPE_PCI_NE2000, > .parent = TYPE_PCI_DEVICE, > .instance_size = sizeof(PCINE2000State), > .class_init = ne2000_class_init,
diff --git a/hw/net/ne2000-pci.c b/hw/net/ne2000-pci.c index edc6689d33..0332e7f616 100644 --- a/hw/net/ne2000-pci.c +++ b/hw/net/ne2000-pci.c @@ -30,10 +30,16 @@ #include "ne2000.h" #include "sysemu/sysemu.h" -typedef struct PCINE2000State { +#define TYPE_PCI_NE2000 "ne2k_pci" +OBJECT_DECLARE_SIMPLE_TYPE(PCINE2000State, PCI_NE2000) + +struct PCINE2000State { + /*< private >*/ PCIDevice dev; + /*< public >*/ + NE2000State ne2000; -} PCINE2000State; +}; static const VMStateDescription vmstate_pci_ne2000 = { .name = "ne2000", @@ -54,7 +60,7 @@ static NetClientInfo net_ne2000_info = { static void pci_ne2000_realize(PCIDevice *pci_dev, Error **errp) { - PCINE2000State *d = DO_UPCAST(PCINE2000State, dev, pci_dev); + PCINE2000State *d = PCI_NE2000(pci_dev); NE2000State *s; uint8_t *pci_conf; @@ -77,7 +83,7 @@ static void pci_ne2000_realize(PCIDevice *pci_dev, Error **errp) static void pci_ne2000_exit(PCIDevice *pci_dev) { - PCINE2000State *d = DO_UPCAST(PCINE2000State, dev, pci_dev); + PCINE2000State *d = PCI_NE2000(pci_dev); NE2000State *s = &d->ne2000; qemu_del_nic(s->nic); @@ -87,7 +93,7 @@ static void pci_ne2000_exit(PCIDevice *pci_dev) static void ne2000_instance_init(Object *obj) { PCIDevice *pci_dev = PCI_DEVICE(obj); - PCINE2000State *d = DO_UPCAST(PCINE2000State, dev, pci_dev); + PCINE2000State *d = PCI_NE2000(pci_dev); NE2000State *s = &d->ne2000; device_add_bootindex_property(obj, &s->c.bootindex, @@ -117,7 +123,7 @@ static void ne2000_class_init(ObjectClass *klass, void *data) } static const TypeInfo ne2000_info = { - .name = "ne2k_pci", + .name = TYPE_PCI_NE2000, .parent = TYPE_PCI_DEVICE, .instance_size = sizeof(PCINE2000State), .class_init = ne2000_class_init,
Define TYPE_PCI_NE2000 and the QOM PCI_NE2000() macro. Use PCI_NE2000() instead of DO_UPCAST(). Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- hw/net/ne2000-pci.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-)