Message ID | 20221125140922.56760-1-akihiko.odaki@daynix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | e1000e: Configure ResettableClass | expand |
On Fri, 25 Nov 2022 at 14:10, Akihiko Odaki <akihiko.odaki@daynix.com> wrote: > > This is part of recent efforts of refactoring e1000 and e1000e. > > DeviceClass's reset member is deprecated so migrate to ResettableClass. > Thre is no behavioral difference. > > Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> > --- > hw/net/e1000e.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/hw/net/e1000e.c b/hw/net/e1000e.c > index 7523e9f5d2..4f31a7894a 100644 > --- a/hw/net/e1000e.c > +++ b/hw/net/e1000e.c > @@ -512,9 +512,9 @@ static void e1000e_pci_uninit(PCIDevice *pci_dev) > msi_uninit(pci_dev); > } > > -static void e1000e_qdev_reset(DeviceState *dev) > +static void e1000e_qdev_reset(Object *obj) We should name this e1000e_qdev_reset_hold(). > { > - E1000EState *s = E1000E(dev); > + E1000EState *s = E1000E(obj); > > trace_e1000e_cb_qdev_reset(); > > @@ -669,6 +669,7 @@ static Property e1000e_properties[] = { > static void e1000e_class_init(ObjectClass *class, void *data) > { > DeviceClass *dc = DEVICE_CLASS(class); > + ResettableClass *rc = RESETTABLE_CLASS(class); > PCIDeviceClass *c = PCI_DEVICE_CLASS(class); > > c->realize = e1000e_pci_realize; > @@ -679,8 +680,9 @@ static void e1000e_class_init(ObjectClass *class, void *data) > c->romfile = "efi-e1000e.rom"; > c->class_id = PCI_CLASS_NETWORK_ETHERNET; > > + rc->phases.hold = e1000e_qdev_reset; > + > dc->desc = "Intel 82574L GbE Controller"; > - dc->reset = e1000e_qdev_reset; > dc->vmsd = &e1000e_vmstate; Otherwise Reviewed-by: Peter Maydell <peter.maydell@linaro.org> thanks -- PMM
diff --git a/hw/net/e1000e.c b/hw/net/e1000e.c index 7523e9f5d2..4f31a7894a 100644 --- a/hw/net/e1000e.c +++ b/hw/net/e1000e.c @@ -512,9 +512,9 @@ static void e1000e_pci_uninit(PCIDevice *pci_dev) msi_uninit(pci_dev); } -static void e1000e_qdev_reset(DeviceState *dev) +static void e1000e_qdev_reset(Object *obj) { - E1000EState *s = E1000E(dev); + E1000EState *s = E1000E(obj); trace_e1000e_cb_qdev_reset(); @@ -669,6 +669,7 @@ static Property e1000e_properties[] = { static void e1000e_class_init(ObjectClass *class, void *data) { DeviceClass *dc = DEVICE_CLASS(class); + ResettableClass *rc = RESETTABLE_CLASS(class); PCIDeviceClass *c = PCI_DEVICE_CLASS(class); c->realize = e1000e_pci_realize; @@ -679,8 +680,9 @@ static void e1000e_class_init(ObjectClass *class, void *data) c->romfile = "efi-e1000e.rom"; c->class_id = PCI_CLASS_NETWORK_ETHERNET; + rc->phases.hold = e1000e_qdev_reset; + dc->desc = "Intel 82574L GbE Controller"; - dc->reset = e1000e_qdev_reset; dc->vmsd = &e1000e_vmstate; e1000e_prop_disable_vnet = qdev_prop_uint8;
This is part of recent efforts of refactoring e1000 and e1000e. DeviceClass's reset member is deprecated so migrate to ResettableClass. Thre is no behavioral difference. Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> --- hw/net/e1000e.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)