summaryrefslogtreecommitdiff
path: root/lib/sysfs.c
diff options
context:
space:
mode:
authorAlex Xu (Hello71) <alex_y_xu@yahoo.ca>2020-02-28 15:57:01 -0500
committerAlex Xu (Hello71) <alex_y_xu@yahoo.ca>2020-02-28 16:00:17 -0500
commit8f8a9ef9cdf2aa6f41b8202adf6b1b4d818ca939 (patch)
tree6125b8ddf6f957816f8d9c72b2f7ee97a85cf615 /lib/sysfs.c
parent203854ccd133f40b8c121feee681cb9182b90566 (diff)
downloadpciutils-iommu_group.tar.gz
lspci: Print IOMMU groups with -viommu_group
Diffstat (limited to 'lib/sysfs.c')
-rw-r--r--lib/sysfs.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/sysfs.c b/lib/sysfs.c
index 42c88c6..538ca60 100644
--- a/lib/sysfs.c
+++ b/lib/sysfs.c
@@ -329,6 +329,16 @@ sysfs_fill_info(struct pci_dev *d, int flags)
if ((flags & PCI_FILL_NUMA_NODE) && !(d->known_fields & PCI_FILL_NUMA_NODE))
d->numa_node = sysfs_get_value(d, "numa_node", 0);
+ if ((flags & PCI_FILL_IOMMU_GROUP) && !(d->known_fields & PCI_FILL_IOMMU_GROUP))
+ {
+ char *group_link = sysfs_deref_link(d, "iommu_group");
+ if (group_link)
+ {
+ pci_set_property(d, PCI_FILL_IOMMU_GROUP, basename(group_link));
+ free(group_link);
+ }
+ }
+
if ((flags & PCI_FILL_DT_NODE) && !(d->known_fields & PCI_FILL_DT_NODE))
{
char *node = sysfs_deref_link(d, "of_node");