On 2023/8/3 8:08, Jason Gunthorpe wrote:
+/*
+ * Register an iommu driver against a single bus. This is only used by iommufd
+ * selftest to create a mock iommu driver. The caller must provide
+ * some memory to hold a notifier_block.
+ */
+int iommu_device_register_bus(struct iommu_device *iommu,
+                             const struct iommu_ops *ops, struct bus_type *bus,
+                             struct notifier_block *nb)
+{
+       int err;
+
+       iommu->ops = ops;
+       nb->notifier_call = iommu_bus_notifier;
+       err = bus_register_notifier(bus, nb);
+       if (err)
+               return err;
+
+       spin_lock(&iommu_device_lock);
+       list_add_tail(&iommu->list, &iommu_device_list);
+       spin_unlock(&iommu_device_lock);
+
+       bus->iommu_ops = ops;
+       err = bus_iommu_probe(bus);

By the way, bus_iommu_probe() has been changed in iommu-next, so it
needs to be rebased here.

Best regards,
baolu

Reply via email to