Re: [RFC 2/8] iommu: Add a helper to check if any iommu device is registered

From: Baolu Lu
Date: Mon Dec 01 2025 - 21:24:25 EST


Hi Jacob,

On 12/2/25 01:30, Jacob Pan wrote:
The dummy IOMMU driver for No-IOMMU mode should only be active when
no real IOMMU devices are present in the system. Introduce a helper
to check this condition, ensuring that the dummy driver does not
interfere when hardware-backed IOMMU support is available.

Signed-off-by: Jacob Pan<jacob.pan@xxxxxxxxxxxxxxxxxxx>
---
drivers/iommu/iommu.c | 10 ++++++++++
include/linux/iommu.h | 1 +
2 files changed, 11 insertions(+)

diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
index 0df914a04064..958f612bf176 100644
--- a/drivers/iommu/iommu.c
+++ b/drivers/iommu/iommu.c
@@ -2895,6 +2895,16 @@ static const struct iommu_device *iommu_from_fwnode(const struct fwnode_handle *
return ret;
}
+bool iommu_is_registered(void)
+{
+ bool registered;
+
+ spin_lock(&iommu_device_lock);
+ registered = !list_empty(&iommu_device_list);
+ spin_unlock(&iommu_device_lock);
+ return registered;
+}

IOMMU devices might be added by calling iommu_device_register() at any
time. Therefore, an empty iommu_device_list does not necessarily mean
that "no real IOMMU devices are present in the system."

Thanks,
baolu