qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Andreas Färber" <afaerber@suse.de>
To: qemu-devel@nongnu.org
Cc: "Andreas Färber" <afaerber@suse.de>
Subject: [Qemu-devel] [PATCH qom-next for-1.6 02/14] escc: QOM'ify
Date: Wed, 24 Jul 2013 23:42:07 +0200	[thread overview]
Message-ID: <1374702140-13771-3-git-send-email-afaerber@suse.de> (raw)
In-Reply-To: <1374702140-13771-1-git-send-email-afaerber@suse.de>

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/char/escc.c         | 19 +++++++++++--------
 include/hw/char/escc.h |  1 +
 2 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/hw/char/escc.c b/hw/char/escc.c
index 4c42198..6397f6f 100644
--- a/hw/char/escc.c
+++ b/hw/char/escc.c
@@ -96,8 +96,11 @@ typedef struct ChannelState {
     uint8_t rx, tx;
 } ChannelState;
 
+#define ESCC(obj) OBJECT_CHECK(ESCCState, (obj), TYPE_ESCC)
+
 typedef struct ESCCState {
-    SysBusDevice busdev;
+    SysBusDevice parent_obj;
+
     struct ChannelState chn[2];
     uint32_t it_shift;
     MemoryRegion mmio;
@@ -309,7 +312,7 @@ static void escc_reset_chn(ChannelState *s)
 
 static void escc_reset(DeviceState *d)
 {
-    ESCCState *s = container_of(d, ESCCState, busdev.qdev);
+    ESCCState *s = ESCC(d);
 
     escc_reset_chn(&s->chn[0]);
     escc_reset_chn(&s->chn[1]);
@@ -534,7 +537,7 @@ static void escc_mem_write(void *opaque, hwaddr addr,
                 escc_reset_chn(&serial->chn[1]);
                 return;
             case MINTR_RST_ALL:
-                escc_reset(&serial->busdev.qdev);
+                escc_reset(DEVICE(serial));
                 return;
             }
             break;
@@ -691,7 +694,7 @@ MemoryRegion *escc_init(hwaddr base, qemu_irq irqA, qemu_irq irqB,
     SysBusDevice *s;
     ESCCState *d;
 
-    dev = qdev_create(NULL, "escc");
+    dev = qdev_create(NULL, TYPE_ESCC);
     qdev_prop_set_uint32(dev, "disabled", 0);
     qdev_prop_set_uint32(dev, "frequency", clock);
     qdev_prop_set_uint32(dev, "it_shift", it_shift);
@@ -707,7 +710,7 @@ MemoryRegion *escc_init(hwaddr base, qemu_irq irqA, qemu_irq irqB,
         sysbus_mmio_map(s, 0, base);
     }
 
-    d = FROM_SYSBUS(ESCCState, s);
+    d = ESCC(s);
     return &d->mmio;
 }
 
@@ -852,7 +855,7 @@ void slavio_serial_ms_kbd_init(hwaddr base, qemu_irq irq,
     DeviceState *dev;
     SysBusDevice *s;
 
-    dev = qdev_create(NULL, "escc");
+    dev = qdev_create(NULL, TYPE_ESCC);
     qdev_prop_set_uint32(dev, "disabled", disabled);
     qdev_prop_set_uint32(dev, "frequency", clock);
     qdev_prop_set_uint32(dev, "it_shift", it_shift);
@@ -869,7 +872,7 @@ void slavio_serial_ms_kbd_init(hwaddr base, qemu_irq irq,
 
 static int escc_init1(SysBusDevice *dev)
 {
-    ESCCState *s = FROM_SYSBUS(ESCCState, dev);
+    ESCCState *s = ESCC(dev);
     unsigned int i;
 
     s->chn[0].disabled = s->disabled;
@@ -924,7 +927,7 @@ static void escc_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo escc_info = {
-    .name          = "escc",
+    .name          = TYPE_ESCC,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(ESCCState),
     .class_init    = escc_class_init,
diff --git a/include/hw/char/escc.h b/include/hw/char/escc.h
index bda3213..2742d70 100644
--- a/include/hw/char/escc.h
+++ b/include/hw/char/escc.h
@@ -2,6 +2,7 @@
 #define HW_ESCC_H 1
 
 /* escc.c */
+#define TYPE_ESCC "escc"
 #define ESCC_SIZE 4
 MemoryRegion *escc_init(hwaddr base, qemu_irq irqA, qemu_irq irqB,
               CharDriverState *chrA, CharDriverState *chrB,
-- 
1.8.1.4

  parent reply	other threads:[~2013-07-24 21:42 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-24 21:42 [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 01/14] cadence_uart: QOM'ify Andreas Färber
2013-07-24 21:42 ` Andreas Färber [this message]
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 03/14] etraxfs_ser: QOM'ify Andreas Färber
2013-07-26  3:04   ` Edgar E. Iglesias
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 04/14] exynos4210_uart: QOM'ify Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 05/14] grlib_apbuart: QOM'ify Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 06/14] imx_serial: QOM'ify Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 07/14] lm32_juart: Relocate and tidy header Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 08/14] lm32_juart: QOM'ify Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 09/14] lm32_uart: QOM'ify Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 10/14] milkymist-uart: QOM'ify Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 11/14] pl011: Rename pl011_state Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 12/14] pl011: QOM'ify pl011 and pl011_luminary Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 13/14] xilinx_uartlite: Rename xlx_uartlite to XilinxUARTLite Andreas Färber
2013-07-26  3:05   ` Edgar E. Iglesias
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 14/14] xilinx_uartlite: QOM'ify Andreas Färber
2013-07-26  3:05   ` Edgar E. Iglesias
2013-07-26 22:28 ` [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups 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=1374702140-13771-3-git-send-email-afaerber@suse.de \
    --to=afaerber@suse.de \
    --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 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).