Revision ee6847d1 hw/esp.c

b/hw/esp.c
650 650
{
651 651
    DeviceState *dev;
652 652
    SysBusDevice *s;
653
    ESPState *esp;
653 654

  
654 655
    dev = qdev_create(NULL, "esp");
655
    qdev_set_prop_ptr(dev, "dma_memory_read", dma_memory_read);
656
    qdev_set_prop_ptr(dev, "dma_memory_write", dma_memory_write);
657
    qdev_set_prop_ptr(dev, "dma_opaque", dma_opaque);
658
    qdev_set_prop_int(dev, "it_shift", it_shift);
656
    esp = DO_UPCAST(ESPState, busdev.qdev, dev);
657
    esp->dma_memory_read = dma_memory_read;
658
    esp->dma_memory_write = dma_memory_write;
659
    esp->dma_opaque = dma_opaque;
660
    esp->it_shift = it_shift;
659 661
    qdev_init(dev);
660 662
    s = sysbus_from_qdev(dev);
661 663
    sysbus_connect_irq(s, 0, irq);
......
668 670
    int esp_io_memory;
669 671

  
670 672
    sysbus_init_irq(dev, &s->irq);
671
    s->it_shift = qdev_get_prop_int(&dev->qdev, "it_shift", -1);
672 673
    assert(s->it_shift != -1);
673
    s->dma_memory_read = qdev_get_prop_ptr(&dev->qdev, "dma_memory_read");
674
    s->dma_memory_write = qdev_get_prop_ptr(&dev->qdev, "dma_memory_write");
675
    s->dma_opaque = qdev_get_prop_ptr(&dev->qdev, "dma_opaque");
676 674

  
677 675
    esp_io_memory = cpu_register_io_memory(esp_mem_read, esp_mem_write, s);
678 676
    sysbus_init_mmio(dev, ESP_REGS << s->it_shift, esp_io_memory);

Also available in: Unified diff