Revision f8b6cc00 hw/fdc.c

b/hw/fdc.c
80 80
} FDiskFlags;
81 81

  
82 82
typedef struct FDrive {
83
    DriveInfo *dinfo;
84 83
    BlockDriverState *bs;
85 84
    /* Drive status */
86 85
    FDriveType drive;
......
100 99
static void fd_init(FDrive *drv)
101 100
{
102 101
    /* Drive */
103
    drv->bs = drv->dinfo ? drv->dinfo->bdrv : NULL;
104 102
    drv->drive = FDRIVE_DRV_NONE;
105 103
    drv->perpendicular = 0;
106 104
    /* Disk */
......
1862 1860

  
1863 1861
    dev = isa_create("isa-fdc");
1864 1862
    if (fds[0]) {
1865
        qdev_prop_set_drive(&dev->qdev, "driveA", fds[0]);
1863
        qdev_prop_set_drive(&dev->qdev, "driveA", fds[0]->bdrv);
1866 1864
    }
1867 1865
    if (fds[1]) {
1868
        qdev_prop_set_drive(&dev->qdev, "driveB", fds[1]);
1866
        qdev_prop_set_drive(&dev->qdev, "driveB", fds[1]->bdrv);
1869 1867
    }
1870 1868
    if (qdev_init(&dev->qdev) < 0)
1871 1869
        return NULL;
......
1884 1882
    fdctrl = &sys->state;
1885 1883
    fdctrl->dma_chann = dma_chann; /* FIXME */
1886 1884
    if (fds[0]) {
1887
        qdev_prop_set_drive(dev, "driveA", fds[0]);
1885
        qdev_prop_set_drive(dev, "driveA", fds[0]->bdrv);
1888 1886
    }
1889 1887
    if (fds[1]) {
1890
        qdev_prop_set_drive(dev, "driveB", fds[1]);
1888
        qdev_prop_set_drive(dev, "driveB", fds[1]->bdrv);
1891 1889
    }
1892 1890
    qdev_init_nofail(dev);
1893 1891
    sysbus_connect_irq(&sys->busdev, 0, irq);
......
1905 1903

  
1906 1904
    dev = qdev_create(NULL, "SUNW,fdtwo");
1907 1905
    if (fds[0]) {
1908
        qdev_prop_set_drive(dev, "drive", fds[0]);
1906
        qdev_prop_set_drive(dev, "drive", fds[0]->bdrv);
1909 1907
    }
1910 1908
    qdev_init_nofail(dev);
1911 1909
    sys = DO_UPCAST(FDCtrlSysBus, busdev.qdev, dev);
......
2030 2028
    .qdev.vmsd  = &vmstate_isa_fdc,
2031 2029
    .qdev.reset = fdctrl_external_reset_isa,
2032 2030
    .qdev.props = (Property[]) {
2033
        DEFINE_PROP_DRIVE("driveA", FDCtrlISABus, state.drives[0].dinfo),
2034
        DEFINE_PROP_DRIVE("driveB", FDCtrlISABus, state.drives[1].dinfo),
2031
        DEFINE_PROP_DRIVE("driveA", FDCtrlISABus, state.drives[0].bs),
2032
        DEFINE_PROP_DRIVE("driveB", FDCtrlISABus, state.drives[1].bs),
2035 2033
        DEFINE_PROP_END_OF_LIST(),
2036 2034
    },
2037 2035
};
......
2053 2051
    .qdev.vmsd  = &vmstate_sysbus_fdc,
2054 2052
    .qdev.reset = fdctrl_external_reset_sysbus,
2055 2053
    .qdev.props = (Property[]) {
2056
        DEFINE_PROP_DRIVE("driveA", FDCtrlSysBus, state.drives[0].dinfo),
2057
        DEFINE_PROP_DRIVE("driveB", FDCtrlSysBus, state.drives[1].dinfo),
2054
        DEFINE_PROP_DRIVE("driveA", FDCtrlSysBus, state.drives[0].bs),
2055
        DEFINE_PROP_DRIVE("driveB", FDCtrlSysBus, state.drives[1].bs),
2058 2056
        DEFINE_PROP_END_OF_LIST(),
2059 2057
    },
2060 2058
};
......
2066 2064
    .qdev.vmsd  = &vmstate_sysbus_fdc,
2067 2065
    .qdev.reset = fdctrl_external_reset_sysbus,
2068 2066
    .qdev.props = (Property[]) {
2069
        DEFINE_PROP_DRIVE("drive", FDCtrlSysBus, state.drives[0].dinfo),
2067
        DEFINE_PROP_DRIVE("drive", FDCtrlSysBus, state.drives[0].bs),
2070 2068
        DEFINE_PROP_END_OF_LIST(),
2071 2069
    },
2072 2070
};

Also available in: Unified diff