On 14/02/2020 11:47, Philippe Mathieu-Daudé wrote: > Hi Mark, > > On Fri, Feb 14, 2020 at 9:48 AM Mark Cave-Ayland > <mark.cave-ayl...@ilande.co.uk> wrote: >> >> Remove the call to pci_cmd646_ide_init() since global device init functions >> are deprecated in preference of using qdev directly. >> >> Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> >> --- >> hw/alpha/dp264.c | 8 +++++++- >> 1 file changed, 7 insertions(+), 1 deletion(-) >> >> diff --git a/hw/alpha/dp264.c b/hw/alpha/dp264.c >> index a8f9a89cc4..e91989bf9a 100644 >> --- a/hw/alpha/dp264.c >> +++ b/hw/alpha/dp264.c >> @@ -16,6 +16,7 @@ >> #include "sysemu/sysemu.h" >> #include "hw/rtc/mc146818rtc.h" >> #include "hw/ide.h" >> +#include "hw/ide/pci.h" >> #include "hw/timer/i8254.h" >> #include "hw/isa/superio.h" >> #include "hw/dma/i8257.h" >> @@ -100,9 +101,14 @@ static void clipper_init(MachineState *machine) >> /* IDE disk setup. */ >> { >> DriveInfo *hd[MAX_IDE_BUS * MAX_IDE_DEVS]; >> + PCIDevice *pci_dev; >> + >> ide_drive_get(hd, ARRAY_SIZE(hd)); >> >> - pci_cmd646_ide_init(pci_bus, hd, 0); >> + pci_dev = pci_create(pci_bus, -1, "cmd646-ide"); > > Not this patch problem, but it would be nice to have a TYPE_CMD646_IDE.
Yeah - there are quite a few places where this could be improved, but certainly a patch for another day. >> + qdev_prop_set_uint32(DEVICE(pci_dev), "secondary", 0); > > Secondary_ide disabled is the default in cmd646_ide_properties[], can > we avoid this call? Sure. The patch in its current form is a very simple like-for-like conversion, but it can be easily be removed. If we're going to do this then another thing to consider is if we want to replace the -1 in pci_create() with a specific PCI_DEVFN value to make things a bit more robust. ATB, Mark.