def map_pci_device()

in pci_lib/pci_lib.py [0:0]


def map_pci_device(device_name):
    device_name = expand_pci_addr(device_name)
    if not device_name:
        return None
    dev_path = os.path.join(SYSFS_PCI_BUS_DEVICES, device_name)
    with open(os.path.join(dev_path, "vendor")) as vendor_fd:
        vendor = int(vendor_fd.read(), 16)
    with open(os.path.join(dev_path, "device")) as device_fd:
        device = int(device_fd.read(), 16)
    with open(os.path.join(dev_path, "class")) as pci_class_fd:
        pci_class = int(pci_class_fd.read(), 16)
    with open(os.path.join(dev_path, "subsystem_vendor")) as pci_sv_fd:
        pci_subvendor = int(pci_sv_fd.read(), 16)
    with open(os.path.join(dev_path, "subsystem_device")) as pci_ss_fd:
        pci_subsystem = int(pci_ss_fd.read(), 16)
    return PCIDevice(device_name, vendor, device, pci_class,
                     pci_subvendor, pci_subsystem)