From: "Andreas Färber" <afaerber@suse.de>
To: qemu-devel@nongnu.org
Cc: "Kevin Wolf" <kwolf@redhat.com>, "Hu Tao" <hutao@cn.fujitsu.com>,
"Andreas Färber" <afaerber@suse.de>,
"Stefan Hajnoczi" <stefanha@redhat.com>
Subject: [Qemu-devel] [PULL 45/55] pflash_cfi02: Use QOM realize for pflash_cfi02
Date: Tue, 23 Jul 2013 01:46:26 +0200 [thread overview]
Message-ID: <1374536796-13983-46-git-send-email-afaerber@suse.de> (raw)
In-Reply-To: <1374536796-13983-1-git-send-email-afaerber@suse.de>
From: Hu Tao <hutao@cn.fujitsu.com>
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
hw/block/pflash_cfi02.c | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/hw/block/pflash_cfi02.c b/hw/block/pflash_cfi02.c
index d8381dd..9fc02e3 100644
--- a/hw/block/pflash_cfi02.c
+++ b/hw/block/pflash_cfi02.c
@@ -592,7 +592,7 @@ static const MemoryRegionOps pflash_cfi02_ops_le = {
.endianness = DEVICE_NATIVE_ENDIAN,
};
-static int pflash_cfi02_init(SysBusDevice *dev)
+static void pflash_cfi02_realize(DeviceState *dev, Error **errp)
{
pflash_t *pfl = CFI_PFLASH02(dev);
uint32_t chip_len;
@@ -616,14 +616,16 @@ static int pflash_cfi02_init(SysBusDevice *dev)
/* read the initial flash content */
ret = bdrv_read(pfl->bs, 0, pfl->storage, chip_len >> 9);
if (ret < 0) {
- g_free(pfl);
- return 1;
+ vmstate_unregister_ram(&pfl->orig_mem, DEVICE(pfl));
+ memory_region_destroy(&pfl->orig_mem);
+ error_setg(errp, "failed to read the initial flash content");
+ return;
}
}
pflash_setup_mappings(pfl);
pfl->rom_mode = 1;
- sysbus_init_mmio(dev, &pfl->mem);
+ sysbus_init_mmio(SYS_BUS_DEVICE(dev), &pfl->mem);
if (pfl->bs) {
pfl->ro = bdrv_is_read_only(pfl->bs);
@@ -712,8 +714,6 @@ static int pflash_cfi02_init(SysBusDevice *dev)
pfl->cfi_table[0x3b] = 0x00;
pfl->cfi_table[0x3c] = 0x00;
-
- return 0;
}
static Property pflash_cfi02_properties[] = {
@@ -736,9 +736,8 @@ static Property pflash_cfi02_properties[] = {
static void pflash_cfi02_class_init(ObjectClass *klass, void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
- SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
- k->init = pflash_cfi02_init;
+ dc->realize = pflash_cfi02_realize;
dc->props = pflash_cfi02_properties;
}
--
1.8.1.4
next prev parent reply other threads:[~2013-07-22 23:47 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-22 23:45 [Qemu-devel] [PULL 00/55] QOM devices patch queue 2013-07-22 Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 01/55] hw: Avoid use of QOM type name macros in VMStateDescriptions Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 02/55] net/e1000: QOM Upcast Sweep Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 03/55] net/e1000: QOM parent field cleanup Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 04/55] net/rtl8139: QOM Upcast Sweep Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 05/55] net/rtl8139: QOM parent field cleanup Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 06/55] net/pcnet-pci: QOM Upcast Sweep Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 07/55] usb/hcd-xhci: " Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 08/55] usb/hcd-xhci: QOM parent field cleanup Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 09/55] scsi/lsi53c895a: QOM Upcast Sweep Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 10/55] scsi/lsi53c895a: QOM parent field cleanup Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 11/55] scsi/megasas: QOM Upcast Sweep Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 12/55] scsi/megasas: QOM parent field cleanup Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 13/55] scsi/esp-pci: QOM Upcast Sweep Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 14/55] scsi/esp-pci: QOM parent field cleanup Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 15/55] ide/ich: QOM Upcast Sweep Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 16/55] ide/ich: QOM parent field cleanup Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 17/55] acpi/piix4: QOM Upcast Sweep Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 18/55] acpi/piix4: QOM parent field cleanup Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 19/55] misc/pci-testdev: QOM Upcast Sweep Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 20/55] misc/pci-testdev: QOM parent field cleanup Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 21/55] display/vmware_vga: QOM casting sweep Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 22/55] display/vmware_vga: QOM parent field cleanup Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 23/55] misc/ivshmem: QOM Upcast Sweep Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 24/55] misc/ivshmem: QOM parent field cleanup Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 25/55] xen/xen_platform: QOM casting sweep Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 26/55] xen/xen_platform: QOM parent field cleanup Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 27/55] sysbus: Document SysBusDeviceClass::init and realize semantics Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 28/55] ohci: QOM'ify some more Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 29/55] ohci: Use QOM realize for OHCI Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 30/55] i440fx: Use type-safe cast instead of direct access of parent dev Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 31/55] i440fx-pcihost: Use QOM realize for i440fx-pcihost Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 32/55] q35: Use type-safe cast instead of direct access of parent dev Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 33/55] q35: Use QOM realize for q35 host bridge Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 34/55] fdc: QOM'ify some more Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 35/55] pflash-cfi01: " Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 36/55] pflash-cfi02: " Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 37/55] ahci: " Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 38/55] fwcfg: " Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 39/55] scsi/esp: " Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 40/55] hpet: " Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 41/55] kvm/clock: " Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 42/55] fdc: Use QOM realize for fdc Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 43/55] fdc: Improve error propagation for QOM realize Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 44/55] pflash_cfi01: Use QOM realize for pflash_cfi01 Andreas Färber
2013-07-22 23:46 ` Andreas Färber [this message]
2013-07-22 23:46 ` [Qemu-devel] [PULL 46/55] ahci: Use QOM realize for ahci Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 47/55] fw_cfg: Use QOM realize for fw_cfg Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 48/55] scsi/esp: Use QOM realize for scsi esp Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 49/55] megasas: Legacy command line handling fix Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 50/55] scsi: Improve error propagation for scsi_bus_legacy_handle_cmdline() Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 51/55] hpet: Use QOM realize for hpet Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 52/55] kvm/clock: Use QOM realize for kvmclock Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 53/55] kvmvapic: Use QOM realize Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 54/55] ioapic: Use QOM realize for ioapic Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 55/55] isa-bus: Drop isabus_bridge_init() since it does nothing Andreas Färber
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=1374536796-13983-46-git-send-email-afaerber@suse.de \
--to=afaerber@suse.de \
--cc=hutao@cn.fujitsu.com \
--cc=kwolf@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).