[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC 20/34] pcspk: QOM'ify
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [RFC 20/34] pcspk: QOM'ify |
Date: |
Mon, 26 Nov 2012 01:12:32 +0100 |
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <address@hidden>
---
hw/pcspk.c | 11 +++++++----
hw/pcspk.h | 4 +++-
2 Dateien geändert, 10 Zeilen hinzugefügt(+), 5 Zeilen entfernt(-)
diff --git a/hw/pcspk.c b/hw/pcspk.c
index ad6491b..f800962 100644
--- a/hw/pcspk.c
+++ b/hw/pcspk.c
@@ -35,8 +35,11 @@
#define PCSPK_MAX_FREQ (PCSPK_SAMPLE_RATE >> 1)
#define PCSPK_MIN_COUNT ((PIT_FREQ + PCSPK_MAX_FREQ - 1) / PCSPK_MAX_FREQ)
+#define PC_SPEAKER(obj) OBJECT_CHECK(PCSpkState, (obj), TYPE_PC_SPEAKER)
+
typedef struct {
- ISADevice dev;
+ ISADevice parent_obj;
+
MemoryRegion ioport;
uint32_t iobase;
uint8_t sample_buf[PCSPK_BUF_LEN];
@@ -161,7 +164,7 @@ static const MemoryRegionOps pcspk_io_ops = {
static int pcspk_initfn(ISADevice *dev)
{
- PCSpkState *s = DO_UPCAST(PCSpkState, dev, dev);
+ PCSpkState *s = PC_SPEAKER(dev);
memory_region_init_io(&s->ioport, &pcspk_io_ops, s, "elcr", 1);
isa_register_ioport(dev, &s->ioport, s->iobase);
@@ -187,8 +190,8 @@ static void pcspk_class_initfn(ObjectClass *klass, void
*data)
dc->props = pcspk_properties;
}
-static TypeInfo pcspk_info = {
- .name = "isa-pcspk",
+static const TypeInfo pcspk_info = {
+ .name = TYPE_PC_SPEAKER,
.parent = TYPE_ISA_DEVICE,
.instance_size = sizeof(PCSpkState),
.class_init = pcspk_class_initfn,
diff --git a/hw/pcspk.h b/hw/pcspk.h
index 7f42bac..1ec7c41 100644
--- a/hw/pcspk.h
+++ b/hw/pcspk.h
@@ -28,11 +28,13 @@
#include "hw.h"
#include "isa.h"
+#define TYPE_PC_SPEAKER "isa-pcspk"
+
static inline ISADevice *pcspk_init(ISABus *bus, ISADevice *pit)
{
ISADevice *dev;
- dev = isa_create(bus, "isa-pcspk");
+ dev = isa_create(bus, TYPE_PC_SPEAKER);
qdev_prop_set_uint32(&dev->qdev, "iobase", 0x61);
qdev_prop_set_ptr(&dev->qdev, "pit", pit);
qdev_init_nofail(&dev->qdev);
--
1.7.10.4
- [Qemu-devel] [PATCH 11/34] i8259: Fix PIC_COMMON() macro, (continued)
- [Qemu-devel] [PATCH 11/34] i8259: Fix PIC_COMMON() macro, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 03/34] qdev: Fold state enum into bool realized, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 30/34] kvm/i8254: QOM'ify some more, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 33/34] kvm/i8259: QOM'ify some more, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 34/34] i8259: Convert PICCommonState to use QOM realizefn, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 19/34] pckbd: QOM'ify, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 31/34] i8254: Convert PITCommonState to QOM realizefn, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 27/34] wdt_ib700: QOM'ify, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 16/34] ne2000-isa: QOM'ify, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 04/34] qdev: Prepare "realized" property, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 20/34] pcspk: QOM'ify,
Andreas Färber <=
- [Qemu-devel] [RFC 26/34] vmport: QOM'ify, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 25/34] vmmouse: QOM'ify, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 28/34] isa: Use realizefn for ISADevice, Andreas Färber, 2012/11/25