Revision 3efc10e1 hw/ssi/xilinx_spi.c

b/hw/ssi/xilinx_spi.c
73 73

  
74 74
#define FIFO_CAPACITY 256
75 75

  
76
#define TYPE_XILINX_SPI "xlnx.xps-spi"
77
#define XILINX_SPI(obj) OBJECT_CHECK(XilinxSPI, (obj), TYPE_XILINX_SPI)
78

  
76 79
typedef struct XilinxSPI {
77
    SysBusDevice busdev;
80
    SysBusDevice parent_obj;
81

  
78 82
    MemoryRegion mmio;
79 83

  
80 84
    qemu_irq irq;
......
109 113

  
110 114
static void xlx_spi_update_cs(XilinxSPI *s)
111 115
{
112
   int i;
116
    int i;
113 117

  
114 118
    for (i = 0; i < s->num_cs; ++i) {
115 119
        qemu_set_irq(s->cs_lines[i], !(~s->regs[R_SPISSR] & 1 << i));
......
154 158

  
155 159
static void xlx_spi_reset(DeviceState *d)
156 160
{
157
    xlx_spi_do_reset(DO_UPCAST(XilinxSPI, busdev.qdev, d));
161
    xlx_spi_do_reset(XILINX_SPI(d));
158 162
}
159 163

  
160 164
static inline int spi_master_enabled(XilinxSPI *s)
......
314 318
    }
315 319
};
316 320

  
317
static int xilinx_spi_init(SysBusDevice *dev)
321
static int xilinx_spi_init(SysBusDevice *sbd)
318 322
{
323
    DeviceState *dev = DEVICE(sbd);
324
    XilinxSPI *s = XILINX_SPI(dev);
319 325
    int i;
320
    XilinxSPI *s = FROM_SYSBUS(typeof(*s), dev);
321 326

  
322 327
    DB_PRINT("\n");
323 328

  
324
    s->spi = ssi_create_bus(&dev->qdev, "spi");
329
    s->spi = ssi_create_bus(dev, "spi");
325 330

  
326
    sysbus_init_irq(dev, &s->irq);
331
    sysbus_init_irq(sbd, &s->irq);
327 332
    s->cs_lines = g_new(qemu_irq, s->num_cs);
328
    ssi_auto_connect_slaves(DEVICE(s), s->cs_lines, s->spi);
333
    ssi_auto_connect_slaves(dev, s->cs_lines, s->spi);
329 334
    for (i = 0; i < s->num_cs; ++i) {
330
        sysbus_init_irq(dev, &s->cs_lines[i]);
335
        sysbus_init_irq(sbd, &s->cs_lines[i]);
331 336
    }
332 337

  
333 338
    memory_region_init_io(&s->mmio, OBJECT(s), &spi_ops, s,
334 339
                          "xilinx-spi", R_MAX * 4);
335
    sysbus_init_mmio(dev, &s->mmio);
340
    sysbus_init_mmio(sbd, &s->mmio);
336 341

  
337 342
    s->irqline = -1;
338 343

  
......
372 377
}
373 378

  
374 379
static const TypeInfo xilinx_spi_info = {
375
    .name           = "xlnx.xps-spi",
380
    .name           = TYPE_XILINX_SPI,
376 381
    .parent         = TYPE_SYS_BUS_DEVICE,
377 382
    .instance_size  = sizeof(XilinxSPI),
378 383
    .class_init     = xilinx_spi_class_init,

Also available in: Unified diff