Message ID | 1262787790-27764-1-git-send-email-kraxel@redhat.com |
---|---|
State | New |
Headers | show |
On 01/06/10 15:23, Gerd Hoffmann wrote: > 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. > > Signed-off-by: Gerd Hoffmann<kraxel@redhat.com> Ping. This patch seems to keep missing the boat ... cheers, Gerd
On Wed, Jan 06, 2010 at 03:23:10PM +0100, Gerd Hoffmann wrote: > 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. This patch looks good except for minor coding style issues (see below). As I prefer to apply it to head and then cherry-pick it to stable, could you please send a fixed patch? Then I'll apply it. > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> > --- > hw/fdc.c | 15 ++++++++++----- > 1 files changed, 10 insertions(+), 5 deletions(-) > > diff --git a/hw/fdc.c b/hw/fdc.c > index 0579b03..691374e 100644 > --- a/hw/fdc.c > +++ b/hw/fdc.c > @@ -1860,8 +1860,10 @@ fdctrl_t *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]); You should use curly brace around the previous line. > if (qdev_init(&dev->qdev) < 0) > return NULL; > return &(DO_UPCAST(fdctrl_isabus_t, busdev, dev)->state); > @@ -1879,8 +1881,10 @@ fdctrl_t *fdctrl_init_sysbus(qemu_irq irq, int dma_chann, > sys = DO_UPCAST(fdctrl_sysbus_t, 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]); ditto > qdev_init_nofail(dev); > sysbus_connect_irq(&sys->busdev, 0, irq); > sysbus_mmio_map(&sys->busdev, 0, mmio_base); > @@ -1896,7 +1900,8 @@ fdctrl_t *sun4m_fdctrl_init (qemu_irq irq, target_phys_addr_t io_base, > fdctrl_t *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]); ditto > qdev_init_nofail(dev); > sys = DO_UPCAST(fdctrl_sysbus_t, busdev.qdev, dev); > fdctrl = &sys->state; > -- > 1.6.5.2 > > > >
diff --git a/hw/fdc.c b/hw/fdc.c index 0579b03..691374e 100644 --- a/hw/fdc.c +++ b/hw/fdc.c @@ -1860,8 +1860,10 @@ fdctrl_t *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(fdctrl_isabus_t, busdev, dev)->state); @@ -1879,8 +1881,10 @@ fdctrl_t *fdctrl_init_sysbus(qemu_irq irq, int dma_chann, sys = DO_UPCAST(fdctrl_sysbus_t, 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); @@ -1896,7 +1900,8 @@ fdctrl_t *sun4m_fdctrl_init (qemu_irq irq, target_phys_addr_t io_base, fdctrl_t *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(fdctrl_sysbus_t, busdev.qdev, dev); fdctrl = &sys->state;
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. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- hw/fdc.c | 15 ++++++++++----- 1 files changed, 10 insertions(+), 5 deletions(-)