Revision 5c0e12f5

b/hw/misc/mst_fpga.c
35 35
#define MST_PCMCIA_CD0_IRQ	9
36 36
#define MST_PCMCIA_CD1_IRQ	13
37 37

  
38
#define TYPE_MAINSTONE_FPGA "mainstone-fpga"
39
#define MAINSTONE_FPGA(obj) \
40
    OBJECT_CHECK(mst_irq_state, (obj), TYPE_MAINSTONE_FPGA)
41

  
38 42
typedef struct mst_irq_state{
39
	SysBusDevice busdev;
40
	MemoryRegion iomem;
41

  
42
	qemu_irq parent;
43

  
44
	uint32_t prev_level;
45
	uint32_t leddat1;
46
	uint32_t leddat2;
47
	uint32_t ledctrl;
48
	uint32_t gpswr;
49
	uint32_t mscwr1;
50
	uint32_t mscwr2;
51
	uint32_t mscwr3;
52
	uint32_t mscrd;
53
	uint32_t intmskena;
54
	uint32_t intsetclr;
55
	uint32_t pcmcia0;
56
	uint32_t pcmcia1;
43
    SysBusDevice parent_obj;
44

  
45
    MemoryRegion iomem;
46

  
47
    qemu_irq parent;
48

  
49
    uint32_t prev_level;
50
    uint32_t leddat1;
51
    uint32_t leddat2;
52
    uint32_t ledctrl;
53
    uint32_t gpswr;
54
    uint32_t mscwr1;
55
    uint32_t mscwr2;
56
    uint32_t mscwr3;
57
    uint32_t mscrd;
58
    uint32_t intmskena;
59
    uint32_t intsetclr;
60
    uint32_t pcmcia0;
61
    uint32_t pcmcia1;
57 62
}mst_irq_state;
58 63

  
59 64
static void
......
194 199
	return 0;
195 200
}
196 201

  
197
static int mst_fpga_init(SysBusDevice *dev)
202
static int mst_fpga_init(SysBusDevice *sbd)
198 203
{
199
	mst_irq_state *s;
200

  
201
	s = FROM_SYSBUS(mst_irq_state, dev);
204
    DeviceState *dev = DEVICE(sbd);
205
    mst_irq_state *s = MAINSTONE_FPGA(dev);
202 206

  
203
	s->pcmcia0 = MST_PCMCIAx_READY | MST_PCMCIAx_nCD;
204
	s->pcmcia1 = MST_PCMCIAx_READY | MST_PCMCIAx_nCD;
207
    s->pcmcia0 = MST_PCMCIAx_READY | MST_PCMCIAx_nCD;
208
    s->pcmcia1 = MST_PCMCIAx_READY | MST_PCMCIAx_nCD;
205 209

  
206
	sysbus_init_irq(dev, &s->parent);
210
    sysbus_init_irq(sbd, &s->parent);
207 211

  
208
	/* alloc the external 16 irqs */
209
	qdev_init_gpio_in(&dev->qdev, mst_fpga_set_irq, MST_NUM_IRQS);
212
    /* alloc the external 16 irqs */
213
    qdev_init_gpio_in(dev, mst_fpga_set_irq, MST_NUM_IRQS);
210 214

  
211
	memory_region_init_io(&s->iomem, OBJECT(s), &mst_fpga_ops, s,
212
			    "fpga", 0x00100000);
213
	sysbus_init_mmio(dev, &s->iomem);
214
	return 0;
215
    memory_region_init_io(&s->iomem, OBJECT(s), &mst_fpga_ops, s,
216
                          "fpga", 0x00100000);
217
    sysbus_init_mmio(sbd, &s->iomem);
218
    return 0;
215 219
}
216 220

  
217 221
static VMStateDescription vmstate_mst_fpga_regs = {
......
249 253
}
250 254

  
251 255
static const TypeInfo mst_fpga_info = {
252
    .name          = "mainstone-fpga",
256
    .name          = TYPE_MAINSTONE_FPGA,
253 257
    .parent        = TYPE_SYS_BUS_DEVICE,
254 258
    .instance_size = sizeof(mst_irq_state),
255 259
    .class_init    = mst_fpga_class_init,

Also available in: Unified diff