[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] fdc: fix drive property handling.
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PATCH] fdc: fix drive property handling. |
Date: |
Wed, 10 Mar 2010 17:30:29 +0100 |
Fix the floppy controller init wrappers to set the drive properties
only in case the DriveInfo pointers passed in are non NULL. This allows
to set the properties using -global.
[ v2: fix code style issues pointed out by Aurelien Jarno ]
Signed-off-by: Gerd Hoffmann <address@hidden>
---
hw/fdc.c | 20 +++++++++++++++-----
1 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/hw/fdc.c b/hw/fdc.c
index eb39e30..42b6d7d 100644
--- a/hw/fdc.c
+++ b/hw/fdc.c
@@ -1860,8 +1860,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 +1882,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 +1903,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;
--
1.6.6.1
- [Qemu-devel] [PATCH] fdc: fix drive property handling.,
Gerd Hoffmann <=