From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53486) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XYvhA-00016O-Pz for qemu-devel@nongnu.org; Tue, 30 Sep 2014 07:34:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XYvh4-0007Dg-LZ for qemu-devel@nongnu.org; Tue, 30 Sep 2014 07:34:16 -0400 Received: from mx1.redhat.com ([209.132.183.28]:3602) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XYvh4-0007DR-FE for qemu-devel@nongnu.org; Tue, 30 Sep 2014 07:34:10 -0400 From: Gerd Hoffmann Date: Tue, 30 Sep 2014 13:33:34 +0200 Message-Id: <1412076814-21725-2-git-send-email-kraxel@redhat.com> In-Reply-To: <1412076814-21725-1-git-send-email-kraxel@redhat.com> References: <1412076814-21725-1-git-send-email-kraxel@redhat.com> Subject: [Qemu-devel] [PULL 1/1] ac97: register reset via qom List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: "Vassili Karpov (malc)" , Gerd Hoffmann So it gets properly unregistered on hot-unplug. Signed-off-by: Gerd Hoffmann --- hw/audio/ac97.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/audio/ac97.c b/hw/audio/ac97.c index 0e22bb9..111ec0e 100644 --- a/hw/audio/ac97.c +++ b/hw/audio/ac97.c @@ -1321,9 +1321,9 @@ static const MemoryRegionOps ac97_io_nabm_ops = { .endianness = DEVICE_LITTLE_ENDIAN, }; -static void ac97_on_reset (void *opaque) +static void ac97_on_reset (DeviceState *dev) { - AC97LinkState *s = opaque; + AC97LinkState *s = container_of(dev, AC97LinkState, dev.qdev); reset_bm_regs (s, &s->bm_regs[0]); reset_bm_regs (s, &s->bm_regs[1]); @@ -1382,9 +1382,8 @@ static int ac97_initfn (PCIDevice *dev) "ac97-nabm", 256); pci_register_bar (&s->dev, 0, PCI_BASE_ADDRESS_SPACE_IO, &s->io_nam); pci_register_bar (&s->dev, 1, PCI_BASE_ADDRESS_SPACE_IO, &s->io_nabm); - qemu_register_reset (ac97_on_reset, s); AUD_register_card ("ac97", &s->card); - ac97_on_reset (s); + ac97_on_reset (&s->dev.qdev); return 0; } @@ -1413,6 +1412,7 @@ static void ac97_class_init (ObjectClass *klass, void *data) dc->desc = "Intel 82801AA AC97 Audio"; dc->vmsd = &vmstate_ac97; dc->props = ac97_properties; + dc->reset = ac97_on_reset; } static const TypeInfo ac97_info = { -- 1.8.3.1