Revision db895a1e hw/block/fdc.c

b/hw/block/fdc.c
2117 2117
    PORTIO_END_OF_LIST(),
2118 2118
};
2119 2119

  
2120
static int isabus_fdc_init1(ISADevice *dev)
2120
static void isabus_fdc_realize(DeviceState *dev, Error **errp)
2121 2121
{
2122
    ISADevice *isadev = ISA_DEVICE(dev);
2122 2123
    FDCtrlISABus *isa = ISA_FDC(dev);
2123 2124
    FDCtrl *fdctrl = &isa->state;
2124 2125
    int ret;
2125 2126

  
2126
    isa_register_portio_list(dev, isa->iobase, fdc_portio_list, fdctrl, "fdc");
2127
    isa_register_portio_list(isadev, isa->iobase, fdc_portio_list, fdctrl,
2128
                             "fdc");
2127 2129

  
2128
    isa_init_irq(dev, &fdctrl->irq, isa->irq);
2130
    isa_init_irq(isadev, &fdctrl->irq, isa->irq);
2129 2131
    fdctrl->dma_chann = isa->dma;
2130 2132

  
2131
    qdev_set_legacy_instance_id(&dev->qdev, isa->iobase, 2);
2133
    qdev_set_legacy_instance_id(dev, isa->iobase, 2);
2132 2134
    ret = fdctrl_init_common(fdctrl);
2135
    if (ret < 0) {
2136
        error_setg(errp, "Floppy init failed.");
2137
        return;
2138
    }
2133 2139

  
2134
    add_boot_device_path(isa->bootindexA, &dev->qdev, "/floppy@0");
2135
    add_boot_device_path(isa->bootindexB, &dev->qdev, "/floppy@1");
2136

  
2137
    return ret;
2140
    add_boot_device_path(isa->bootindexA, dev, "/floppy@0");
2141
    add_boot_device_path(isa->bootindexB, dev, "/floppy@1");
2138 2142
}
2139 2143

  
2140 2144
static int sysbus_fdc_init1(SysBusDevice *dev)
......
2203 2207
static void isabus_fdc_class_init(ObjectClass *klass, void *data)
2204 2208
{
2205 2209
    DeviceClass *dc = DEVICE_CLASS(klass);
2206
    ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
2207
    ic->init = isabus_fdc_init1;
2210

  
2211
    dc->realize = isabus_fdc_realize;
2208 2212
    dc->fw_name = "fdc";
2209 2213
    dc->no_user = 1;
2210 2214
    dc->reset = fdctrl_external_reset_isa;

Also available in: Unified diff