qemu-e2k/hw/core
Andreas Färber fe6c211781 qdev: Fix QOM unrealize behavior
Since commit 249d41720b (qdev: Prepare
"realized" property) setting realized = true would register the device's
VMStateDescription, but realized = false would not unregister it. Fix that.

Moving the code from unparenting also revealed that we were calling
DeviceClass::init through DeviceClass::realize as interim solution but
DeviceClass::exit still at unparenting time with a realized check.
Make this symmetrical by implementing DeviceClass::unrealize to call it,
while we're setting realized = false in the unparenting path.
The only other unrealize user is mac_nvram, which can safely override it.

Thus, mark DeviceClass::exit as obsolete, new devices should implement
DeviceClass::unrealize instead.

Cc: qemu-stable@nongnu.org
Signed-off-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Andreas Färber <afaerber@suse.de>
Message-id: 1366043650-9719-1-git-send-email-afaerber@suse.de
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-04-15 17:05:34 -05:00
..
empty_slot.c
irq.c
loader.c hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00
Makefile.objs
null-machine.c
ptimer.c
qdev-addr.c
qdev-properties-system.c
qdev-properties.c
qdev.c qdev: Fix QOM unrealize behavior 2013-04-15 17:05:34 -05:00
stream.c
sysbus.c
uboot_image.h hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00