From: Markus Armbruster <armbru@redhat.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 09/13] Add exit callback to DeviceInfo.
Date: Thu, 24 Sep 2009 21:02:53 +0200 [thread overview]
Message-ID: <87d45gb1ya.fsf@pike.pond.sub.org> (raw)
In-Reply-To: <1253611767-6483-10-git-send-email-kraxel@redhat.com> (Gerd Hoffmann's message of "Tue\, 22 Sep 2009 11\:29\:23 +0200")
Gerd Hoffmann <kraxel@redhat.com> writes:
> This adds a exit callback for device destruction to DeviceInfo, so
> we can hook cleanups into qdev device destruction.
>
> Followup patches will put that into use.
>
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
> hw/qdev.c | 2 ++
> hw/qdev.h | 2 ++
> 2 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/hw/qdev.c b/hw/qdev.c
> index 4931da1..a25245a 100644
> --- a/hw/qdev.c
> +++ b/hw/qdev.c
> @@ -245,6 +245,8 @@ void qdev_free(DeviceState *dev)
> #endif
> if (dev->info->reset)
> qemu_unregister_reset(dev->info->reset, dev);
> + if (dev->info->exit)
> + dev->info->exit(dev);
> }
> QLIST_REMOVE(dev, sibling);
> qemu_free(dev);
> diff --git a/hw/qdev.h b/hw/qdev.h
> index c036aff..0db2d32 100644
> --- a/hw/qdev.h
> +++ b/hw/qdev.h
> @@ -107,6 +107,7 @@ BusState *qdev_get_child_bus(DeviceState *dev, const char *name);
> /*** Device API. ***/
>
> typedef int (*qdev_initfn)(DeviceState *dev, DeviceInfo *info);
> +typedef int (*qdev_exitfn)(DeviceState *dev);
>
> struct DeviceInfo {
> const char *name;
> @@ -124,6 +125,7 @@ struct DeviceInfo {
>
> /* Private to qdev / bus. */
> qdev_initfn init;
> + qdev_exitfn exit;
> BusInfo *bus_info;
> struct DeviceInfo *next;
> };
I don't like the name "exit". The buddy of init() is often called
fini().
next prev parent reply other threads:[~2009-09-24 19:03 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-22 9:29 [Qemu-devel] [PATCH 00/13] qdev: bus management updates Gerd Hoffmann
2009-09-22 9:29 ` [Qemu-devel] [PATCH 01/13] allow qdev busses allocations be inplace Gerd Hoffmann
2009-09-22 9:29 ` [Qemu-devel] [PATCH 02/13] switch scsi bus to inplace allocation Gerd Hoffmann
2009-09-22 9:29 ` [Qemu-devel] [PATCH 03/13] switch usb " Gerd Hoffmann
2009-09-22 9:29 ` [Qemu-devel] [PATCH 04/13] switch ide " Gerd Hoffmann
2009-09-22 9:29 ` [Qemu-devel] [PATCH 05/13] inplace allocation for pci, split irq init Gerd Hoffmann
2009-09-22 9:29 ` [Qemu-devel] [PATCH 06/13] convert pci bridge to qdev Gerd Hoffmann
2009-09-23 16:02 ` Michael S. Tsirkin
2009-09-24 18:29 ` Markus Armbruster
2009-09-24 18:51 ` Michael S. Tsirkin
2009-09-25 7:19 ` Gerd Hoffmann
2009-09-22 9:29 ` [Qemu-devel] [PATCH 07/13] piix_pci: kill PIIX3IrqState Gerd Hoffmann
2009-09-24 18:42 ` Markus Armbruster
2009-09-25 7:24 ` Gerd Hoffmann
2009-09-22 9:29 ` [Qemu-devel] [PATCH 08/13] qdev: device free fixups Gerd Hoffmann
2009-09-24 18:55 ` Markus Armbruster
2009-09-22 9:29 ` [Qemu-devel] [PATCH 09/13] Add exit callback to DeviceInfo Gerd Hoffmann
2009-09-22 10:06 ` Christoph Egger
2009-09-22 10:19 ` Gerd Hoffmann
2009-09-24 19:02 ` Markus Armbruster [this message]
2009-09-25 7:33 ` Gerd Hoffmann
2009-09-22 9:29 ` [Qemu-devel] [PATCH 10/13] Implement scsi device destruction Gerd Hoffmann
2009-09-24 19:15 ` Markus Armbruster
2009-09-25 7:45 ` Gerd Hoffmann
2009-09-25 13:10 ` Markus Armbruster
2009-09-25 14:54 ` Gerd Hoffmann
2009-09-25 15:59 ` Artyom Tarasenko
2009-09-25 16:31 ` Markus Armbruster
2009-09-22 9:29 ` [Qemu-devel] [PATCH 11/13] pci: use qdev for " Gerd Hoffmann
2009-09-22 9:29 ` [Qemu-devel] [PATCH 12/13] pci: move unregister from PCIDevice to PCIDeviceInfo Gerd Hoffmann
2009-09-23 15:58 ` Michael S. Tsirkin
2009-09-25 7:49 ` Gerd Hoffmann
2009-09-29 15:50 ` Michael S. Tsirkin
2009-09-29 18:16 ` Gerd Hoffmann
2009-09-22 9:29 ` [Qemu-devel] [PATCH 13/13] usb: hook unplug into qdev, cleanups + fixes Gerd Hoffmann
2009-09-24 19:18 ` [Qemu-devel] [PATCH 00/13] qdev: bus management updates Markus Armbruster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87d45gb1ya.fsf@pike.pond.sub.org \
--to=armbru@redhat.com \
--cc=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.