- ctrl->pci_bus = kmalloc (sizeof (*ctrl->pci_bus), GFP_KERNEL);
- if (!ctrl->pci_bus) {
- err("out of memory\n");
- rc = -ENOMEM;
- goto err_out_unmap_mmio_region;
- }
-
- memcpy (ctrl->pci_bus, pdev->bus, sizeof (*ctrl->pci_bus));
- ctrl->bus = pdev->bus->number;
- ctrl->slot_bus = pdev->subordinate->number;
-
- ctrl->device = PCI_SLOT(pdev->devfn);
- ctrl->function = PCI_FUNC(pdev->devfn);
- dbg("ctrl bus=0x%x, device=%x, function=%x, irq=%x\n", ctrl->bus, ctrl->device, ctrl->function, pdev->irq);
-
- /*
- * Save configuration headers for this and subordinate PCI buses
- */
-
- rc = get_ctlr_slot_config(ctrl);
- if (rc) {
- err(msg_initialization_err, rc);
- goto err_out_free_ctrl_bus;
- }
- first_device_num = ctrl->slot_device_offset;
- num_ctlr_slots = ctrl->num_slots;
-
- ctrl->add_support = 1;
-