[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 3/3] wdt_ib700: Free timer
From: |
Marc-André Lureau |
Subject: |
Re: [Qemu-devel] [PATCH v2 3/3] wdt_ib700: Free timer |
Date: |
Fri, 22 Jul 2016 05:26:27 -0400 (EDT) |
Hi
----- Original Message -----
> From: Corey Minyard <address@hidden>
>
> Add an unrealize function to free the timer allocated in the
> realize function and to delete the port memory added there,
> too.
>
> Signed-off-by: Corey Minyard <address@hidden>
> Cc: Richard W.M. Jones <address@hidden>
> Cc: Marc-André Lureau <address@hidden>
> Reviewed-by: Richard W.M. Jones <address@hidden>
> ---
> hw/watchdog/wdt_ib700.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/hw/watchdog/wdt_ib700.c b/hw/watchdog/wdt_ib700.c
> index 532afe8..23d4857 100644
> --- a/hw/watchdog/wdt_ib700.c
> +++ b/hw/watchdog/wdt_ib700.c
> @@ -117,6 +117,15 @@ static void wdt_ib700_realize(DeviceState *dev, Error
> **errp)
> portio_list_add(&s->port_list, isa_address_space_io(&s->parent_obj), 0);
> }
>
> +static void wdt_ib700_unrealize(DeviceState *dev, Error **errp)
> +{
> + IB700State *s = IB700(dev);
> +
> + timer_del(s->timer);
> + timer_free(s->timer);
> + portio_list_del(&s->port_list);
actually portio_list_destroy() seems to be more appropriate (cleaning up
allocations)
btw, I do not how to test this yet either.
> +}
> +
> static void wdt_ib700_reset(DeviceState *dev)
> {
> IB700State *s = IB700(dev);
> @@ -136,6 +145,7 @@ static void wdt_ib700_class_init(ObjectClass *klass, void
> *data)
> DeviceClass *dc = DEVICE_CLASS(klass);
>
> dc->realize = wdt_ib700_realize;
> + dc->unrealize = wdt_ib700_unrealize;
> dc->reset = wdt_ib700_reset;
> dc->vmsd = &vmstate_ib700;
> set_bit(DEVICE_CATEGORY_MISC, dc->categories);
> --
> 2.7.4
>
>