From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:33505) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TcmKV-0007NL-BM for qemu-devel@nongnu.org; Sun, 25 Nov 2012 19:13:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TcmKS-0000Fl-7R for qemu-devel@nongnu.org; Sun, 25 Nov 2012 19:13:43 -0500 Received: from cantor2.suse.de ([195.135.220.15]:46216 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TcmKR-0000FY-Tr for qemu-devel@nongnu.org; Sun, 25 Nov 2012 19:13:40 -0500 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Mon, 26 Nov 2012 01:12:18 +0100 Message-Id: <1353888766-6951-7-git-send-email-afaerber@suse.de> In-Reply-To: <1353888766-6951-1-git-send-email-afaerber@suse.de> References: <1353888766-6951-1-git-send-email-afaerber@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [RFC 06/34] applesmc: QOM'ify List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Andreas=20F=C3=A4rber?= , anthony@codemonkey.ws 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=C3=A4rber --- hw/applesmc.c | 35 ++++++++++++++++++++--------------- 1 Datei ge=C3=A4ndert, 20 Zeilen hinzugef=C3=BCgt(+), 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; }; =20 -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 { =20 static void applesmc_io_cmd_writeb(void *opaque, uint32_t addr, uint32_t= val) { - struct AppleSMCStatus *s =3D opaque; + AppleSMCState *s =3D opaque; =20 smc_debug("CMD Write B: %#x =3D %#x\n", addr, val); switch(val) { @@ -96,7 +101,7 @@ static void applesmc_io_cmd_writeb(void *opaque, uint3= 2_t addr, uint32_t val) s->data_pos =3D 0; } =20 -static void applesmc_fill_data(struct AppleSMCStatus *s) +static void applesmc_fill_data(AppleSMCState *s) { struct AppleSMCData *d; =20 @@ -112,7 +117,7 @@ static void applesmc_fill_data(struct AppleSMCStatus = *s) =20 static void applesmc_io_data_writeb(void *opaque, uint32_t addr, uint32_= t val) { - struct AppleSMCStatus *s =3D opaque; + AppleSMCState *s =3D opaque; =20 smc_debug("DATA Write B: %#x =3D %#x\n", addr, val); switch(s->cmd) { @@ -135,7 +140,7 @@ static void applesmc_io_data_writeb(void *opaque, uin= t32_t addr, uint32_t val) =20 static uint32_t applesmc_io_data_readb(void *opaque, uint32_t addr1) { - struct AppleSMCStatus *s =3D opaque; + AppleSMCState *s =3D opaque; uint8_t retval =3D 0; =20 switch(s->cmd) { @@ -159,13 +164,13 @@ static uint32_t applesmc_io_data_readb(void *opaque= , uint32_t addr1) =20 static uint32_t applesmc_io_cmd_readb(void *opaque, uint32_t addr1) { - struct AppleSMCStatus *s =3D opaque; + AppleSMCState *s =3D opaque; =20 smc_debug("CMD Read B: %#x\n", addr1); return s->status; } =20 -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, =20 static void qdev_applesmc_isa_reset(DeviceState *dev) { - struct AppleSMCStatus *s =3D DO_UPCAST(struct AppleSMCStatus, dev.qd= ev, dev); + AppleSMCState *s =3D APPLE_SMC(dev); struct AppleSMCData *d, *next; =20 /* Remove existing entries */ @@ -198,7 +203,7 @@ static void qdev_applesmc_isa_reset(DeviceState *dev) =20 static int applesmc_isa_init(ISADevice *dev) { - struct AppleSMCStatus *s =3D DO_UPCAST(struct AppleSMCStatus, dev, d= ev); + AppleSMCState *s =3D APPLE_SMC(dev); =20 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) } =20 static Property applesmc_isa_properties[] =3D { - 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(), }; =20 @@ -236,10 +241,10 @@ static void qdev_applesmc_class_init(ObjectClass *k= lass, void *data) dc->props =3D applesmc_isa_properties; } =20 -static TypeInfo applesmc_isa_info =3D { - .name =3D "isa-applesmc", +static const TypeInfo applesmc_isa_info =3D { + .name =3D TYPE_APPLE_SMC, .parent =3D TYPE_ISA_DEVICE, - .instance_size =3D sizeof(struct AppleSMCStatus), + .instance_size =3D sizeof(AppleSMCState), .class_init =3D qdev_applesmc_class_init, }; =20 --=20 1.7.10.4