Add a check to the bus_iommu_probe() call-path to make sure it ignores devices which have already been successfully probed. Then export the bus_iommu_probe() function so it can be used by IOMMU drivers.
Showing the changes to include/linux (1 of 2 files). Show all
Unified · Split
| @@ -445,6 +445,7 @@ static inline void iommu_iotlb_gather_init(struct iommu_iotlb_gather *gather) · 444 unmodified lines | ||
| 445 | 445 | #define IOMMU_GROUP_NOTIFY_UNBOUND_DRIVER 6 /* Post Driver unbind */ |
| 446 | 446 | |
| 447 | 447 | extern int bus_set_iommu(struct bus_type *bus, const struct iommu_ops *ops); |
| 448 | +extern int bus_iommu_probe(struct bus_type *bus); | |
| 448 | 449 | extern bool iommu_present(struct bus_type *bus); |
| 449 | 450 | extern bool iommu_capable(struct bus_type *bus, enum iommu_cap cap); |
| 450 | 451 | extern struct iommu_domain *iommu_domain_alloc(struct bus_type *bus); |