mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
FROMLIST: iommu: Export core IOMMU functions to kernel modules
IOMMU drivers that can be compiled as modules need to use some of the IOMMU core functions, so expose them. Change-Id: I84004fdcd7eee3f56d08db76c3b0421990179810 Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org> Bug: 140290589 Link: https://patchwork.kernel.org/patch/10948413/
This commit is contained in:
@@ -87,6 +87,7 @@ error:
|
||||
put_device(iommu->dev);
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(iommu_device_sysfs_add);
|
||||
|
||||
void iommu_device_sysfs_remove(struct iommu_device *iommu)
|
||||
{
|
||||
@@ -119,6 +120,7 @@ int iommu_device_link(struct iommu_device *iommu, struct device *link)
|
||||
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(iommu_device_link);
|
||||
|
||||
void iommu_device_unlink(struct iommu_device *iommu, struct device *link)
|
||||
{
|
||||
@@ -128,3 +130,4 @@ void iommu_device_unlink(struct iommu_device *iommu, struct device *link)
|
||||
sysfs_remove_link(&link->kobj, "iommu");
|
||||
sysfs_remove_link_from_group(&iommu->dev->kobj, "devices", dev_name(link));
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(iommu_device_unlink);
|
||||
|
||||
@@ -141,6 +141,7 @@ int iommu_device_register(struct iommu_device *iommu)
|
||||
spin_unlock(&iommu_device_lock);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(iommu_device_register);
|
||||
|
||||
void iommu_device_unregister(struct iommu_device *iommu)
|
||||
{
|
||||
@@ -886,6 +887,7 @@ struct iommu_group *iommu_group_ref_get(struct iommu_group *group)
|
||||
kobject_get(group->devices_kobj);
|
||||
return group;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(iommu_group_ref_get);
|
||||
|
||||
/**
|
||||
* iommu_group_put - Decrement group reference
|
||||
@@ -1259,6 +1261,7 @@ struct iommu_group *generic_device_group(struct device *dev)
|
||||
{
|
||||
return iommu_group_alloc();
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(generic_device_group);
|
||||
|
||||
/*
|
||||
* Use standard PCI bus topology, isolation features, and DMA alias quirks
|
||||
@@ -1326,6 +1329,7 @@ struct iommu_group *pci_device_group(struct device *dev)
|
||||
/* No shared group found, allocate new */
|
||||
return iommu_group_alloc();
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pci_device_group);
|
||||
|
||||
/* Get the IOMMU group for device on fsl-mc bus */
|
||||
struct iommu_group *fsl_mc_device_group(struct device *dev)
|
||||
@@ -1406,6 +1410,7 @@ struct iommu_group *iommu_group_get_for_dev(struct device *dev)
|
||||
|
||||
return group;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(iommu_group_get_for_dev);
|
||||
|
||||
struct iommu_domain *iommu_group_default_domain(struct iommu_group *group)
|
||||
{
|
||||
@@ -2185,6 +2190,7 @@ struct iommu_resv_region *iommu_alloc_resv_region(phys_addr_t start,
|
||||
region->type = type;
|
||||
return region;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(iommu_alloc_resv_region);
|
||||
|
||||
static int
|
||||
request_default_domain_for_dev(struct device *dev, unsigned long type)
|
||||
|
||||
Reference in New Issue
Block a user