]> Git Repo - qemu.git/blobdiff - hw/fdc.c
eepro100: Simplified device instantiation
[qemu.git] / hw / fdc.c
index eb39e307d4f322eb8ef3c8102690829efc7feb2a..93a7f1d1c9edc6596f2db204c1c6eeedbb633e29 100644 (file)
--- a/hw/fdc.c
+++ b/hw/fdc.c
@@ -679,7 +679,8 @@ static const VMStateDescription vmstate_fdc = {
         VMSTATE_UINT8(status1, FDCtrl),
         VMSTATE_UINT8(status2, FDCtrl),
         /* Command FIFO */
-        VMSTATE_VARRAY_INT32(fifo, FDCtrl, fifo_size, 0, vmstate_info_uint8, uint8),
+        VMSTATE_VARRAY_INT32(fifo, FDCtrl, fifo_size, 0, vmstate_info_uint8,
+                             uint8_t),
         VMSTATE_UINT32(data_pos, FDCtrl),
         VMSTATE_UINT32(data_len, FDCtrl),
         VMSTATE_UINT8(data_state, FDCtrl),
@@ -1860,8 +1861,12 @@ FDCtrl *fdctrl_init_isa(DriveInfo **fds)
     ISADevice *dev;
 
     dev = isa_create("isa-fdc");
-    qdev_prop_set_drive(&dev->qdev, "driveA", fds[0]);
-    qdev_prop_set_drive(&dev->qdev, "driveB", fds[1]);
+    if (fds[0]) {
+        qdev_prop_set_drive(&dev->qdev, "driveA", fds[0]);
+    }
+    if (fds[1]) {
+        qdev_prop_set_drive(&dev->qdev, "driveB", fds[1]);
+    }
     if (qdev_init(&dev->qdev) < 0)
         return NULL;
     return &(DO_UPCAST(FDCtrlISABus, busdev, dev)->state);
@@ -1878,8 +1883,12 @@ FDCtrl *fdctrl_init_sysbus(qemu_irq irq, int dma_chann,
     sys = DO_UPCAST(FDCtrlSysBus, busdev.qdev, dev);
     fdctrl = &sys->state;
     fdctrl->dma_chann = dma_chann; /* FIXME */
-    qdev_prop_set_drive(dev, "driveA", fds[0]);
-    qdev_prop_set_drive(dev, "driveB", fds[1]);
+    if (fds[0]) {
+        qdev_prop_set_drive(dev, "driveA", fds[0]);
+    }
+    if (fds[1]) {
+        qdev_prop_set_drive(dev, "driveB", fds[1]);
+    }
     qdev_init_nofail(dev);
     sysbus_connect_irq(&sys->busdev, 0, irq);
     sysbus_mmio_map(&sys->busdev, 0, mmio_base);
@@ -1895,7 +1904,9 @@ FDCtrl *sun4m_fdctrl_init(qemu_irq irq, target_phys_addr_t io_base,
     FDCtrl *fdctrl;
 
     dev = qdev_create(NULL, "SUNW,fdtwo");
-    qdev_prop_set_drive(dev, "drive", fds[0]);
+    if (fds[0]) {
+        qdev_prop_set_drive(dev, "drive", fds[0]);
+    }
     qdev_init_nofail(dev);
     sys = DO_UPCAST(FDCtrlSysBus, busdev.qdev, dev);
     fdctrl = &sys->state;
This page took 0.026353 seconds and 4 git commands to generate.