Lines Matching defs:iommu
10 #include <linux/iommu.h>
38 .name = "iommu",
54 int iommu_device_sysfs_add(struct iommu_device *iommu,
62 iommu->dev = kzalloc(sizeof(*iommu->dev), GFP_KERNEL);
63 if (!iommu->dev)
66 device_initialize(iommu->dev);
68 iommu->dev->class = &iommu_class;
69 iommu->dev->parent = parent;
70 iommu->dev->groups = groups;
73 ret = kobject_set_name_vargs(&iommu->dev->kobj, fmt, vargs);
78 ret = device_add(iommu->dev);
82 dev_set_drvdata(iommu->dev, iommu);
87 put_device(iommu->dev);
92 void iommu_device_sysfs_remove(struct iommu_device *iommu)
94 dev_set_drvdata(iommu->dev, NULL);
95 device_unregister(iommu->dev);
96 iommu->dev = NULL;
103 * directory of the IOMMU device in sysfs and an "iommu" link will be
106 int iommu_device_link(struct iommu_device *iommu, struct device *link)
110 ret = sysfs_add_link_to_group(&iommu->dev->kobj, "devices",
115 ret = sysfs_create_link_nowarn(&link->kobj, &iommu->dev->kobj, "iommu");
117 sysfs_remove_link_from_group(&iommu->dev->kobj, "devices",
123 void iommu_device_unlink(struct iommu_device *iommu, struct device *link)
125 sysfs_remove_link(&link->kobj, "iommu");
126 sysfs_remove_link_from_group(&iommu->dev->kobj, "devices", dev_name(link));