diff --git a/src/util/pci.c b/src/util/pci.c index cd82b431ce..5e09c2fb91 100644 --- a/src/util/pci.c +++ b/src/util/pci.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009-2011 Red Hat, Inc. + * Copyright (C) 2009-2012 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -2026,6 +2026,22 @@ out: return ret; } +/* + * Returns a path to the PCI sysfs file given the BDF of the PCI function + */ + +int +pciSysfsFile(char *pciDeviceName, char **pci_sysfs_device_link) +{ + if (virAsprintf(pci_sysfs_device_link, PCI_SYSFS "devices/%s", + pciDeviceName) < 0) { + virReportOOMError(); + return -1; + } + + return 0; +} + /* * Returns the network device name of a pci device */ diff --git a/src/util/pci.h b/src/util/pci.h index 76e37e37b0..fe62a257e2 100644 --- a/src/util/pci.h +++ b/src/util/pci.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009, 2011 Red Hat, Inc. + * Copyright (C) 2009, 2011-2012 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -109,4 +109,7 @@ int pciGetVirtualFunctionIndex(const char *pf_sysfs_device_link, int pciDeviceNetName(char *device_link_sysfs_path, char **netname); +int pciSysfsFile(char *pciDeviceName, char **pci_sysfs_device_link) + ATTRIBUTE_RETURN_CHECK; + #endif /* __VIR_PCI_H__ */