* [PATCH v2] e1000: Configure ResettableClass
@ 2022-11-25 14:32 Akihiko Odaki
2022-11-25 14:35 ` Peter Maydell
2022-11-30 10:26 ` Philippe Mathieu-Daudé
0 siblings, 2 replies; 3+ messages in thread
From: Akihiko Odaki @ 2022-11-25 14:32 UTC (permalink / raw)
Cc: qemu-devel, Dmitry Fleytman, Jason Wang, Yan Vugenfirer,
Yuri Benditovich, Philippe Mathieu-Daudé, Akihiko Odaki
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/e1000.c | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/hw/net/e1000.c b/hw/net/e1000.c
index e26e0a64c1..025aba726b 100644
--- a/hw/net/e1000.c
+++ b/hw/net/e1000.c
@@ -373,9 +373,9 @@ static bool e1000_vet_init_need(void *opaque)
return chkflag(VET);
}
-static void e1000_reset(void *opaque)
+static void e1000_reset_hold(Object *obj)
{
- E1000State *d = opaque;
+ E1000State *d = E1000(obj);
E1000BaseClass *edc = E1000_GET_CLASS(d);
uint8_t *macaddr = d->conf.macaddr.a;
@@ -1746,12 +1746,6 @@ static void pci_e1000_realize(PCIDevice *pci_dev, Error **errp)
e1000_flush_queue_timer, d);
}
-static void qdev_e1000_reset(DeviceState *dev)
-{
- E1000State *d = E1000(dev);
- e1000_reset(d);
-}
-
static Property e1000_properties[] = {
DEFINE_NIC_PROPERTIES(E1000State, conf),
DEFINE_PROP_BIT("autonegotiation", E1000State,
@@ -1777,6 +1771,7 @@ typedef struct E1000Info {
static void e1000_class_init(ObjectClass *klass, void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
+ ResettableClass *rc = RESETTABLE_CLASS(klass);
PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
E1000BaseClass *e = E1000_CLASS(klass);
const E1000Info *info = data;
@@ -1789,9 +1784,9 @@ static void e1000_class_init(ObjectClass *klass, void *data)
k->revision = info->revision;
e->phy_id2 = info->phy_id2;
k->class_id = PCI_CLASS_NETWORK_ETHERNET;
+ rc->phases.hold = e1000_reset_hold;
set_bit(DEVICE_CATEGORY_NETWORK, dc->categories);
dc->desc = "Intel Gigabit Ethernet";
- dc->reset = qdev_e1000_reset;
dc->vmsd = &vmstate_e1000;
device_class_set_props(dc, e1000_properties);
}
--
2.38.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2] e1000: Configure ResettableClass
2022-11-25 14:32 [PATCH v2] e1000: Configure ResettableClass Akihiko Odaki
@ 2022-11-25 14:35 ` Peter Maydell
2022-11-30 10:26 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 3+ messages in thread
From: Peter Maydell @ 2022-11-25 14:35 UTC (permalink / raw)
To: Akihiko Odaki
Cc: qemu-devel, Dmitry Fleytman, Jason Wang, Yan Vugenfirer,
Yuri Benditovich, Philippe Mathieu-Daudé
On Fri, 25 Nov 2022 at 14:33, 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>
> ---
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
thanks
-- PMM
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2] e1000: Configure ResettableClass
2022-11-25 14:32 [PATCH v2] e1000: Configure ResettableClass Akihiko Odaki
2022-11-25 14:35 ` Peter Maydell
@ 2022-11-30 10:26 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 3+ messages in thread
From: Philippe Mathieu-Daudé @ 2022-11-30 10:26 UTC (permalink / raw)
To: Akihiko Odaki
Cc: qemu-devel, Dmitry Fleytman, Jason Wang, Yan Vugenfirer,
Yuri Benditovich
On 25/11/22 15:32, Akihiko Odaki 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.
Typo "There" (also in your e1000e v2 patch).
>
> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
> ---
> hw/net/e1000.c | 13 ++++---------
> 1 file changed, 4 insertions(+), 9 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-11-30 10:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-25 14:32 [PATCH v2] e1000: Configure ResettableClass Akihiko Odaki
2022-11-25 14:35 ` Peter Maydell
2022-11-30 10:26 ` Philippe Mathieu-Daudé
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).