[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 02/20] i82374: device only existed as ISA device, so
From: |
John Snow |
Subject: |
[Qemu-devel] [PULL 02/20] i82374: device only existed as ISA device, so simplify device |
Date: |
Wed, 3 Feb 2016 15:32:17 -0500 |
From: Hervé Poussineau <address@hidden>
Merge ISAi82374State fields into parent structure I82374State.
Signed-off-by: Hervé Poussineau <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>
---
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 869721d..031a3f5 100644
--- a/hw/dma/i82374.c
+++ b/hw/dma/i82374.c
@@ -25,6 +25,9 @@
#include "qemu/osdep.h"
#include "hw/isa/isa.h"
+#define TYPE_I82374 "i82374"
+#define I82374(obj) OBJECT_CHECK(I82374State, (obj), TYPE_I82374)
+
//#define DEBUG_I82374
#ifdef DEBUG_I82374
@@ -38,6 +41,9 @@ do {} while (0)
do { fprintf(stderr, "i82374 ERROR: " fmt , ## __VA_ARGS__); } while (0)
typedef struct I82374State {
+ ISADevice parent_obj;
+
+ uint32_t iobase;
uint8_t commands[8];
PortioList port_list;
} I82374State;
@@ -99,32 +105,6 @@ static uint32_t i82374_read_descriptor(void *opaque,
uint32_t nport)
return val;
}
-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 = {
- .name = "isa-i82374",
- .version_id = 0,
- .minimum_version_id = 0,
- .fields = (VMStateField[]) {
- VMSTATE_STRUCT(state, ISAi82374State, 0, vmstate_i82374, I82374State),
- VMSTATE_END_OF_LIST()
- },
-};
-
static const MemoryRegionPortio i82374_portio_list[] = {
{ 0x0A, 1, 1, .read = i82374_read_isr, },
{ 0x10, 8, 1, .write = i82374_write_command, },
@@ -134,21 +114,21 @@ static const MemoryRegionPortio i82374_portio_list[] = {
PORTIO_END_OF_LIST(),
};
-static void i82374_isa_realize(DeviceState *dev, Error **errp)
+static void i82374_realize(DeviceState *dev, Error **errp)
{
- ISAi82374State *isa = I82374(dev);
- I82374State *s = &isa->state;
+ I82374State *s = I82374(dev);
- 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);
- i82374_realize(s, errp);
+ DMA_init(1);
+ memset(s->commands, 0, sizeof(s->commands));
}
static Property i82374_properties[] = {
- DEFINE_PROP_UINT32("iobase", ISAi82374State, iobase, 0x400),
+ DEFINE_PROP_UINT32("iobase", I82374State, iobase, 0x400),
DEFINE_PROP_END_OF_LIST()
};
@@ -156,21 +136,21 @@ static void i82374_class_init(ObjectClass *klass, void
*data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
- dc->realize = i82374_isa_realize;
- dc->vmsd = &vmstate_isa_i82374;
+ dc->realize = i82374_realize;
+ dc->vmsd = &vmstate_i82374;
dc->props = i82374_properties;
}
-static const TypeInfo i82374_isa_info = {
+static const TypeInfo i82374_info = {
.name = TYPE_I82374,
.parent = TYPE_ISA_DEVICE,
- .instance_size = sizeof(ISAi82374State),
+ .instance_size = sizeof(I82374State),
.class_init = i82374_class_init,
};
static void i82374_register_types(void)
{
- type_register_static(&i82374_isa_info);
+ type_register_static(&i82374_info);
}
type_init(i82374_register_types)
--
2.4.3
- [Qemu-devel] [PULL 00/20] FDC patches, John Snow, 2016/02/03
- [Qemu-devel] [PULL 01/20] fdc: fix detection under Linux, John Snow, 2016/02/03
- [Qemu-devel] [PULL 08/20] i8257: add missing const, John Snow, 2016/02/03
- [Qemu-devel] [PULL 03/20] i8257: pass ISA bus to DMA_init() function, John Snow, 2016/02/03
- [Qemu-devel] [PULL 10/20] i8257: move state definition to new independent header, John Snow, 2016/02/03
- [Qemu-devel] [PULL 12/20] i8257: implement the IsaDma interface, John Snow, 2016/02/03
- [Qemu-devel] [PULL 06/20] i8257: rename functions to start with i8257_ prefix, John Snow, 2016/02/03
- [Qemu-devel] [PULL 09/20] i8257: QOM'ify, John Snow, 2016/02/03
- [Qemu-devel] [PULL 05/20] i8257: rename struct dma_regs to I8257Regs, John Snow, 2016/02/03
- [Qemu-devel] [PULL 13/20] magnum: disable floppy DMA for now, John Snow, 2016/02/03
- [Qemu-devel] [PULL 02/20] i82374: device only existed as ISA device, so simplify device,
John Snow <=
- [Qemu-devel] [PULL 04/20] i8257: rename struct dma_cont to I8257State, John Snow, 2016/02/03
- [Qemu-devel] [PULL 07/20] i8257: make the DMA running method per controller, John Snow, 2016/02/03
- [Qemu-devel] [PULL 11/20] isa: add an ISA DMA interface, and store it within the ISA bus, John Snow, 2016/02/03
- [Qemu-devel] [PULL 14/20] sparc: disable floppy DMA, John Snow, 2016/02/03
- [Qemu-devel] [PULL 15/20] sparc64: disable floppy DMA, John Snow, 2016/02/03
- [Qemu-devel] [PULL 16/20] fdc: use IsaDma interface instead of global DMA_* functions, John Snow, 2016/02/03
- [Qemu-devel] [PULL 17/20] cs4231a: use IsaDma interface instead of global DMA_* functions, John Snow, 2016/02/03
- [Qemu-devel] [PULL 18/20] gus: use IsaDma interface instead of global DMA_* functions, John Snow, 2016/02/03
- [Qemu-devel] [PULL 19/20] sb16: use IsaDma interface instead of global DMA_* functions, John Snow, 2016/02/03
- [Qemu-devel] [PULL 20/20] dma: remove now useless DMA_* functions, John Snow, 2016/02/03