[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] e1000: Configure ResettableClass
From: |
Peter Maydell |
Subject: |
Re: [PATCH] e1000: Configure ResettableClass |
Date: |
Fri, 25 Nov 2022 14:17:16 +0000 |
On Fri, 25 Nov 2022 at 14:09, 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/e1000.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/hw/net/e1000.c b/hw/net/e1000.c
> index e26e0a64c1..f97610d7e1 100644
> --- a/hw/net/e1000.c
> +++ b/hw/net/e1000.c
> @@ -1746,9 +1746,9 @@ static void pci_e1000_realize(PCIDevice *pci_dev, Error
> **errp)
> e1000_flush_queue_timer, d);
> }
>
> -static void qdev_e1000_reset(DeviceState *dev)
> +static void qdev_e1000_reset(Object *obj)
> {
> - E1000State *d = E1000(dev);
> + E1000State *d = E1000(obj);
> e1000_reset(d);
> }
This function doesn't actually do anything except
call e1000_reset(), which is not called from
anywhere else. So we should:
* delete this function entirely
* update e1000_reset() to be named e1000_reset_hold() and
to have the prototype for a reset phase function
* directly set rc->phases.hold to e1000_reset_hold
As well as being less code, this avoids having a
function named "e1000_reset()" that gives the
impression that you can do device reset by calling
one function. That might be true now but if we ever
need to add something to the other 2 phases of reset
then it would stop being true.
thanks
-- PMM