|
@@ -90,7 +90,7 @@ static void bmdma_setup_bar(PCIIDEState *d)
|
|
|
int i;
|
|
|
|
|
|
memory_region_init(&d->bmdma_bar, OBJECT(d), "via-bmdma-container", 16);
|
|
|
- for(i = 0;i < 2; i++) {
|
|
|
+ for (i = 0; i < ARRAY_SIZE(d->bmdma); i++) {
|
|
|
BMDMAState *bm = &d->bmdma[i];
|
|
|
|
|
|
memory_region_init_io(&bm->extra_io, OBJECT(d), &via_bmdma_ops, bm,
|
|
@@ -122,7 +122,7 @@ static void via_ide_reset(DeviceState *dev)
|
|
|
uint8_t *pci_conf = pd->config;
|
|
|
int i;
|
|
|
|
|
|
- for (i = 0; i < 2; i++) {
|
|
|
+ for (i = 0; i < ARRAY_SIZE(d->bus); i++) {
|
|
|
ide_bus_reset(&d->bus[i]);
|
|
|
}
|
|
|
|
|
@@ -188,9 +188,9 @@ static void via_ide_realize(PCIDevice *dev, Error **errp)
|
|
|
bmdma_setup_bar(d);
|
|
|
pci_register_bar(dev, 4, PCI_BASE_ADDRESS_SPACE_IO, &d->bmdma_bar);
|
|
|
|
|
|
- qdev_init_gpio_in(ds, via_ide_set_irq, 2);
|
|
|
- for (i = 0; i < 2; i++) {
|
|
|
- ide_bus_init(&d->bus[i], sizeof(d->bus[i]), ds, i, 2);
|
|
|
+ qdev_init_gpio_in(ds, via_ide_set_irq, ARRAY_SIZE(d->bus));
|
|
|
+ for (i = 0; i < ARRAY_SIZE(d->bus); i++) {
|
|
|
+ ide_bus_init(&d->bus[i], sizeof(d->bus[i]), ds, i, MAX_IDE_DEVS);
|
|
|
ide_bus_init_output_irq(&d->bus[i], qdev_get_gpio_in(ds, i));
|
|
|
|
|
|
bmdma_init(&d->bus[i], &d->bmdma[i], d);
|
|
@@ -204,7 +204,7 @@ static void via_ide_exitfn(PCIDevice *dev)
|
|
|
PCIIDEState *d = PCI_IDE(dev);
|
|
|
unsigned i;
|
|
|
|
|
|
- for (i = 0; i < 2; ++i) {
|
|
|
+ for (i = 0; i < ARRAY_SIZE(d->bmdma); ++i) {
|
|
|
memory_region_del_subregion(&d->bmdma_bar, &d->bmdma[i].extra_io);
|
|
|
memory_region_del_subregion(&d->bmdma_bar, &d->bmdma[i].addr_ioport);
|
|
|
}
|