[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC 06/34] applesmc: QOM'ify
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [RFC 06/34] applesmc: QOM'ify |
Date: |
Mon, 26 Nov 2012 01:12:18 +0100 |
Add a typedef for the state struct and rename from Status to State.
Add type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <address@hidden>
---
hw/applesmc.c | 35 ++++++++++++++++++++---------------
1 Datei geändert, 20 Zeilen hinzugefügt(+), 15 Zeilen entfernt(-)
diff --git a/hw/applesmc.c b/hw/applesmc.c
index 8bedaad..d6e556b 100644
--- a/hw/applesmc.c
+++ b/hw/applesmc.c
@@ -66,8 +66,13 @@ struct AppleSMCData {
QLIST_ENTRY(AppleSMCData) node;
};
-struct AppleSMCStatus {
- ISADevice dev;
+#define TYPE_APPLE_SMC "isa-applesmc"
+#define APPLE_SMC(obj) OBJECT_CHECK(AppleSMCState, (obj), TYPE_APPLE_SMC)
+
+typedef struct AppleSMCState AppleSMCState;
+struct AppleSMCState {
+ ISADevice parent_obj;
+
uint32_t iobase;
uint8_t cmd;
uint8_t status;
@@ -83,7 +88,7 @@ struct AppleSMCStatus {
static void applesmc_io_cmd_writeb(void *opaque, uint32_t addr, uint32_t val)
{
- struct AppleSMCStatus *s = opaque;
+ AppleSMCState *s = opaque;
smc_debug("CMD Write B: %#x = %#x\n", addr, val);
switch(val) {
@@ -96,7 +101,7 @@ static void applesmc_io_cmd_writeb(void *opaque, uint32_t
addr, uint32_t val)
s->data_pos = 0;
}
-static void applesmc_fill_data(struct AppleSMCStatus *s)
+static void applesmc_fill_data(AppleSMCState *s)
{
struct AppleSMCData *d;
@@ -112,7 +117,7 @@ static void applesmc_fill_data(struct AppleSMCStatus *s)
static void applesmc_io_data_writeb(void *opaque, uint32_t addr, uint32_t val)
{
- struct AppleSMCStatus *s = opaque;
+ AppleSMCState *s = opaque;
smc_debug("DATA Write B: %#x = %#x\n", addr, val);
switch(s->cmd) {
@@ -135,7 +140,7 @@ static void applesmc_io_data_writeb(void *opaque, uint32_t
addr, uint32_t val)
static uint32_t applesmc_io_data_readb(void *opaque, uint32_t addr1)
{
- struct AppleSMCStatus *s = opaque;
+ AppleSMCState *s = opaque;
uint8_t retval = 0;
switch(s->cmd) {
@@ -159,13 +164,13 @@ static uint32_t applesmc_io_data_readb(void *opaque,
uint32_t addr1)
static uint32_t applesmc_io_cmd_readb(void *opaque, uint32_t addr1)
{
- struct AppleSMCStatus *s = opaque;
+ AppleSMCState *s = opaque;
smc_debug("CMD Read B: %#x\n", addr1);
return s->status;
}
-static void applesmc_add_key(struct AppleSMCStatus *s, const char *key,
+static void applesmc_add_key(AppleSMCState *s, const char *key,
int len, const char *data)
{
struct AppleSMCData *def;
@@ -180,7 +185,7 @@ static void applesmc_add_key(struct AppleSMCStatus *s,
const char *key,
static void qdev_applesmc_isa_reset(DeviceState *dev)
{
- struct AppleSMCStatus *s = DO_UPCAST(struct AppleSMCStatus, dev.qdev, dev);
+ AppleSMCState *s = APPLE_SMC(dev);
struct AppleSMCData *d, *next;
/* Remove existing entries */
@@ -198,7 +203,7 @@ static void qdev_applesmc_isa_reset(DeviceState *dev)
static int applesmc_isa_init(ISADevice *dev)
{
- struct AppleSMCStatus *s = DO_UPCAST(struct AppleSMCStatus, dev, dev);
+ AppleSMCState *s = APPLE_SMC(dev);
register_ioport_read(s->iobase + APPLESMC_DATA_PORT, 4, 1,
applesmc_io_data_readb, s);
@@ -221,9 +226,9 @@ static int applesmc_isa_init(ISADevice *dev)
}
static Property applesmc_isa_properties[] = {
- DEFINE_PROP_HEX32("iobase", struct AppleSMCStatus, iobase,
+ DEFINE_PROP_HEX32("iobase", AppleSMCState, iobase,
APPLESMC_DEFAULT_IOBASE),
- DEFINE_PROP_STRING("osk", struct AppleSMCStatus, osk),
+ DEFINE_PROP_STRING("osk", AppleSMCState, osk),
DEFINE_PROP_END_OF_LIST(),
};
@@ -236,10 +241,10 @@ static void qdev_applesmc_class_init(ObjectClass *klass,
void *data)
dc->props = applesmc_isa_properties;
}
-static TypeInfo applesmc_isa_info = {
- .name = "isa-applesmc",
+static const TypeInfo applesmc_isa_info = {
+ .name = TYPE_APPLE_SMC,
.parent = TYPE_ISA_DEVICE,
- .instance_size = sizeof(struct AppleSMCStatus),
+ .instance_size = sizeof(AppleSMCState),
.class_init = qdev_applesmc_class_init,
};
--
1.7.10.4
- [Qemu-devel] [RFC 00/34] QOM realize, device-only plus ISA conversion, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 05/34] isa: Split off instance_init for ISADevice, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 15/34] mc146818rtc: QOM'ify, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 12/34] i8259: QOM cleanups, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 06/34] applesmc: QOM'ify,
Andreas Färber <=
- [Qemu-devel] [RFC 07/34] cirrus_vga: QOM'ify ISA Cirrus VGA, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 18/34] pc: QOM'ify port 92, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 23/34] sga: QOM'ify, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 17/34] parallel: QOM'ify, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 21/34] sb16: QOM'ify, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 22/34] serial: QOM'ify ISA serial, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 10/34] i82374: QOM'ify, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 08/34] debugcon: QOM'ify ISA debug console, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 14/34] m48t59: QOM'ify ISA M48T59 NVRAM, Andreas Färber, 2012/11/25
- [Qemu-devel] [RFC 02/34] qbus: QOM'ify qbus_realize(), Andreas Färber, 2012/11/25