Revision ee6847d1 hw/xilinx_ethlite.c

b/hw/xilinx_ethlite.c
53 53
    qemu_irq irq;
54 54
    VLANClientState *vc;
55 55

  
56
    unsigned int c_tx_pingpong;
57
    unsigned int c_rx_pingpong;
56
    uint32_t c_tx_pingpong;
57
    uint32_t c_rx_pingpong;
58 58
    unsigned int txbuf;
59 59
    unsigned int rxbuf;
60 60

  
......
213 213
    int regs;
214 214

  
215 215
    sysbus_init_irq(dev, &s->irq);
216
    s->c_tx_pingpong = qdev_get_prop_int(&dev->qdev, "txpingpong", 1);
217
    s->c_rx_pingpong = qdev_get_prop_int(&dev->qdev, "rxpingpong", 1);
218 216
    s->rxbuf = 0;
219 217

  
220 218
    regs = cpu_register_io_memory(eth_read, eth_write, s);
......
225 223
                                 eth_can_rx, eth_rx, NULL, eth_cleanup, s);
226 224
}
227 225

  
226
static SysBusDeviceInfo xilinx_ethlite_info = {
227
    .init = xilinx_ethlite_init,
228
    .qdev.name  = "xilinx,ethlite",
229
    .qdev.size  = sizeof(struct xlx_ethlite),
230
    .qdev.props = (Property[]) {
231
        {
232
            .name   = "txpingpong",
233
            .info   = &qdev_prop_uint32,
234
            .offset = offsetof(struct xlx_ethlite, c_tx_pingpong),
235
            .defval = (uint32_t[]) { 1 },
236
        },{
237
            .name   = "rxpingpong",
238
            .info   = &qdev_prop_uint32,
239
            .offset = offsetof(struct xlx_ethlite, c_rx_pingpong),
240
            .defval = (uint32_t[]) { 1 },
241
        },
242
        {/* end of list */}
243
    }
244
};
245

  
228 246
static void xilinx_ethlite_register(void)
229 247
{
230
    sysbus_register_dev("xilinx,ethlite", sizeof (struct xlx_ethlite),
231
                        xilinx_ethlite_init);
248
    sysbus_register_withprop(&xilinx_ethlite_info);
232 249
}
233 250

  
234 251
device_init(xilinx_ethlite_register)

Also available in: Unified diff