hw/ide/ahci: Pass AHCI context to ahci_ide_create_devs()

Since ahci_ide_create_devs() is not PCI specific, pass
it an AHCIState argument instead of PCIDevice.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240213081201.78951-6-philmd@linaro.org>
This commit is contained in:
Philippe Mathieu-Daudé 2024-02-13 08:34:27 +01:00
parent e6097f1864
commit e2f8d28005
4 changed files with 4 additions and 7 deletions

View File

@ -304,7 +304,7 @@ static void pc_q35_init(MachineState *machine)
idebus[1] = qdev_get_child_bus(DEVICE(pdev), "ide.1");
g_assert(MAX_SATA_PORTS == ich9->ahci.ports);
ide_drive_get(hd, ich9->ahci.ports);
ahci_ide_create_devs(pdev, hd);
ahci_ide_create_devs(&ich9->ahci, hd);
} else {
idebus[0] = idebus[1] = NULL;
}

View File

@ -1896,10 +1896,8 @@ static void sysbus_ahci_register_types(void)
type_init(sysbus_ahci_register_types)
void ahci_ide_create_devs(PCIDevice *dev, DriveInfo **hd)
void ahci_ide_create_devs(AHCIState *ahci, DriveInfo **hd)
{
AHCIPCIState *d = ICH9_AHCI(dev);
AHCIState *ahci = &d->ahci;
int i;
for (i = 0; i < ahci->ports; i++) {
@ -1908,5 +1906,4 @@ void ahci_ide_create_devs(PCIDevice *dev, DriveInfo **hd)
}
ide_bus_create_drive(&ahci->dev[i].port, 0, hd[i]);
}
}

View File

@ -775,7 +775,7 @@ static void boston_mach_init(MachineState *machine)
ich9 = ICH9_AHCI(pdev);
g_assert(ARRAY_SIZE(hd) == ich9->ahci.ports);
ide_drive_get(hd, ich9->ahci.ports);
ahci_ide_create_devs(pdev, hd);
ahci_ide_create_devs(&ich9->ahci, hd);
if (machine->firmware) {
fw_size = load_image_targphys(machine->firmware,

View File

@ -52,7 +52,7 @@ typedef struct AHCIState {
} AHCIState;
void ahci_ide_create_devs(PCIDevice *dev, DriveInfo **hd);
void ahci_ide_create_devs(AHCIState *ahci, DriveInfo **hd);
#define TYPE_SYSBUS_AHCI "sysbus-ahci"
OBJECT_DECLARE_SIMPLE_TYPE(SysbusAHCIState, SYSBUS_AHCI)