1542 break;
1543 }
1544
1545 printk(KERN_INFO DRV_NAME ": %s chipset detected\n", info->chip_name);
1546
1547 d = hpt366_chipsets[min_t(u8, idx, 1)];
1548
1549 d.udma_mask = info->udma_mask;
1550
1551
1552 if (info == &hpt370 || info == &hpt370a)
1553 d.dma_ops = &hpt370_dma_ops;
1554
1555 if (info == &hpt36x || info == &hpt374)
1556 dev2 = pci_get_slot(dev->bus, dev->devfn + 1);
1557
1558 dyn_info = kzalloc(sizeof(*dyn_info) * (dev2 ? 2 : 1), GFP_KERNEL);
1559 if (dyn_info == NULL) {
1560 printk(KERN_ERR "%s %s: out of memory!\n",
1561 d.name, pci_name(dev));
1562 pci_dev_put(dev2);
1563 return -ENOMEM;
1564 }
1565
1566
1567
1568
1569
1570 memcpy(dyn_info, info, sizeof(*dyn_info));
1571
1572 if (dev2) {
1573 memcpy(dyn_info + 1, info, sizeof(*dyn_info));
1574
1575 if (info == &hpt374)
1576 hpt374_init(dev, dev2);
1577 else {
1578 if (hpt36x_init(dev, dev2))
1579 d.host_flags &= ~IDE_HFLAG_NON_BOOTABLE;
1580 }
1581
1582 ret = ide_pci_init_two(dev, dev2, &d, dyn_info);