qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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 35/55] pflash-cfi01: QOM'ify some more
Date: Tue, 23 Jul 2013 01:46:16 +0200	[thread overview]
Message-ID: <1374536796-13983-36-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>

Introduce type constant and replace FROM_SYSBUS().

Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>
[AF: Renamed parent field]
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/block/pflash_cfi01.c | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/hw/block/pflash_cfi01.c b/hw/block/pflash_cfi01.c
index 6898a25..bfcccdd 100644
--- a/hw/block/pflash_cfi01.c
+++ b/hw/block/pflash_cfi01.c
@@ -60,8 +60,14 @@ do {                                                        \
 #define DPRINTF(fmt, ...) do { } while (0)
 #endif
 
+#define TYPE_CFI_PFLASH01 "cfi.pflash01"
+#define CFI_PFLASH01(obj) OBJECT_CHECK(pflash_t, (obj), TYPE_CFI_PFLASH01)
+
 struct pflash_t {
-    SysBusDevice busdev;
+    /*< private >*/
+    SysBusDevice parent_obj;
+    /*< public >*/
+
     BlockDriverState *bs;
     uint32_t nb_blocs;
     uint64_t sector_len;
@@ -565,7 +571,7 @@ static const MemoryRegionOps pflash_cfi01_ops_le = {
 
 static int pflash_cfi01_init(SysBusDevice *dev)
 {
-    pflash_t *pfl = FROM_SYSBUS(typeof(*pfl), dev);
+    pflash_t *pfl = CFI_PFLASH01(dev);
     uint64_t total_len;
     int ret;
 
@@ -720,7 +726,7 @@ static void pflash_cfi01_class_init(ObjectClass *klass, void *data)
 
 
 static const TypeInfo pflash_cfi01_info = {
-    .name           = "cfi.pflash01",
+    .name           = TYPE_CFI_PFLASH01,
     .parent         = TYPE_SYS_BUS_DEVICE,
     .instance_size  = sizeof(struct pflash_t),
     .class_init     = pflash_cfi01_class_init,
@@ -741,10 +747,7 @@ pflash_t *pflash_cfi01_register(hwaddr base,
                                 uint16_t id0, uint16_t id1,
                                 uint16_t id2, uint16_t id3, int be)
 {
-    DeviceState *dev = qdev_create(NULL, "cfi.pflash01");
-    SysBusDevice *busdev = SYS_BUS_DEVICE(dev);
-    pflash_t *pfl = (pflash_t *)object_dynamic_cast(OBJECT(dev),
-                                                    "cfi.pflash01");
+    DeviceState *dev = qdev_create(NULL, TYPE_CFI_PFLASH01);
 
     if (bs && qdev_prop_set_drive(dev, "drive", bs)) {
         abort();
@@ -760,8 +763,8 @@ pflash_t *pflash_cfi01_register(hwaddr base,
     qdev_prop_set_string(dev, "name", name);
     qdev_init_nofail(dev);
 
-    sysbus_mmio_map(busdev, 0, base);
-    return pfl;
+    sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base);
+    return CFI_PFLASH01(dev);
 }
 
 MemoryRegion *pflash_cfi01_get_memory(pflash_t *fl)
-- 
1.8.1.4

  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 ` Andreas Färber [this message]
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 ` [Qemu-devel] [PULL 45/55] pflash_cfi02: Use QOM realize for pflash_cfi02 Andreas Färber
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-36-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).