From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38409) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aOBE8-0003s9-8U for qemu-devel@nongnu.org; Tue, 26 Jan 2016 16:32:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aOBE3-0006eI-Oy for qemu-devel@nongnu.org; Tue, 26 Jan 2016 16:32:40 -0500 Received: from smtp2-g21.free.fr ([2a01:e0c:1:1599::11]:8281) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aOBE3-0006dB-Ji for qemu-devel@nongnu.org; Tue, 26 Jan 2016 16:32:35 -0500 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Tue, 26 Jan 2016 22:32:06 +0100 Message-Id: <1453843944-26833-2-git-send-email-hpoussin@reactos.org> In-Reply-To: <1453843944-26833-1-git-send-email-hpoussin@reactos.org> References: <1453843944-26833-1-git-send-email-hpoussin@reactos.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH v3 01/19] i82374: device only existed as ISA device, so simplify device List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Herv=C3=A9=20Poussineau?= , John Snow Merge ISAi82374State fields into parent structure I82374State. Signed-off-by: Herv=C3=A9 Poussineau --- hw/dma/i82374.c | 58 +++++++++++++++++++--------------------------------= ------ 1 file changed, 19 insertions(+), 39 deletions(-) diff --git a/hw/dma/i82374.c b/hw/dma/i82374.c index f630971..daa8042 100644 --- a/hw/dma/i82374.c +++ b/hw/dma/i82374.c @@ -24,6 +24,9 @@ =20 #include "hw/isa/isa.h" =20 +#define TYPE_I82374 "i82374" +#define I82374(obj) OBJECT_CHECK(I82374State, (obj), TYPE_I82374) + //#define DEBUG_I82374 =20 #ifdef DEBUG_I82374 @@ -37,6 +40,9 @@ do {} while (0) do { fprintf(stderr, "i82374 ERROR: " fmt , ## __VA_ARGS__); } while (0) =20 typedef struct I82374State { + ISADevice parent_obj; + + uint32_t iobase; uint8_t commands[8]; PortioList port_list; } I82374State; @@ -98,32 +104,6 @@ static uint32_t i82374_read_descriptor(void *opaque, = uint32_t nport) return val; } =20 -static void i82374_realize(I82374State *s, Error **errp) -{ - DMA_init(1); - memset(s->commands, 0, sizeof(s->commands)); -} - -#define TYPE_I82374 "i82374" -#define I82374(obj) OBJECT_CHECK(ISAi82374State, (obj), TYPE_I82374) - -typedef struct ISAi82374State { - ISADevice parent_obj; - - uint32_t iobase; - I82374State state; -} ISAi82374State; - -static const VMStateDescription vmstate_isa_i82374 =3D { - .name =3D "isa-i82374", - .version_id =3D 0, - .minimum_version_id =3D 0, - .fields =3D (VMStateField[]) { - VMSTATE_STRUCT(state, ISAi82374State, 0, vmstate_i82374, I82374S= tate), - VMSTATE_END_OF_LIST() - }, -}; - static const MemoryRegionPortio i82374_portio_list[] =3D { { 0x0A, 1, 1, .read =3D i82374_read_isr, }, { 0x10, 8, 1, .write =3D i82374_write_command, }, @@ -133,21 +113,21 @@ static const MemoryRegionPortio i82374_portio_list[= ] =3D { PORTIO_END_OF_LIST(), }; =20 -static void i82374_isa_realize(DeviceState *dev, Error **errp) +static void i82374_realize(DeviceState *dev, Error **errp) { - ISAi82374State *isa =3D I82374(dev); - I82374State *s =3D &isa->state; + I82374State *s =3D I82374(dev); =20 - portio_list_init(&s->port_list, OBJECT(isa), i82374_portio_list, s, + portio_list_init(&s->port_list, OBJECT(s), i82374_portio_list, s, "i82374"); - portio_list_add(&s->port_list, isa_address_space_io(&isa->parent_obj= ), - isa->iobase); + portio_list_add(&s->port_list, isa_address_space_io(&s->parent_obj), + s->iobase); =20 - i82374_realize(s, errp); + DMA_init(1); + memset(s->commands, 0, sizeof(s->commands)); } =20 static Property i82374_properties[] =3D { - DEFINE_PROP_UINT32("iobase", ISAi82374State, iobase, 0x400), + DEFINE_PROP_UINT32("iobase", I82374State, iobase, 0x400), DEFINE_PROP_END_OF_LIST() }; =20 @@ -155,21 +135,21 @@ static void i82374_class_init(ObjectClass *klass, v= oid *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); =20 - dc->realize =3D i82374_isa_realize; - dc->vmsd =3D &vmstate_isa_i82374; + dc->realize =3D i82374_realize; + dc->vmsd =3D &vmstate_i82374; dc->props =3D i82374_properties; } =20 -static const TypeInfo i82374_isa_info =3D { +static const TypeInfo i82374_info =3D { .name =3D TYPE_I82374, .parent =3D TYPE_ISA_DEVICE, - .instance_size =3D sizeof(ISAi82374State), + .instance_size =3D sizeof(I82374State), .class_init =3D i82374_class_init, }; =20 static void i82374_register_types(void) { - type_register_static(&i82374_isa_info); + type_register_static(&i82374_info); } =20 type_init(i82374_register_types) --=20 2.1.4