* - IOMMU_DOMAIN_IDENTITY: device requires an identical mapping domain
* - 0: both identity and dynamic domains work for this device
*/
-static int device_def_domain_type(struct device *dev, int startup)
+static int device_def_domain_type(struct device *dev)
{
if (dev_is_pci(dev)) {
struct pci_dev *pdev = to_pci_dev(dev);
IOMMU_DOMAIN_IDENTITY : 0;
}
-static inline int iommu_should_identity_map(struct device *dev, int startup)
+static inline int iommu_should_identity_map(struct device *dev)
{
- return device_def_domain_type(dev, startup) == IOMMU_DOMAIN_IDENTITY;
+ return device_def_domain_type(dev) == IOMMU_DOMAIN_IDENTITY;
}
static int __init dev_prepare_static_identity_mapping(struct device *dev, int hw)
{
int ret;
- if (!iommu_should_identity_map(dev, 1))
+ if (!iommu_should_identity_map(dev))
return 0;
ret = domain_add_dev_info(si_domain, dev);
dmar_remove_one_dev_info(dev);
} else if (action == BUS_NOTIFY_ADD_DEVICE) {
- if (iommu_should_identity_map(dev, 1))
+ if (iommu_should_identity_map(dev))
domain_add_dev_info(si_domain, dev);
}
domain = iommu_get_domain_for_dev(dev);
dmar_domain = to_dmar_domain(domain);
if (domain->type == IOMMU_DOMAIN_DMA) {
- if (device_def_domain_type(dev, 1) == IOMMU_DOMAIN_IDENTITY) {
+ if (device_def_domain_type(dev) == IOMMU_DOMAIN_IDENTITY) {
ret = iommu_request_dm_for_dev(dev);
if (ret) {
dmar_domain->flags |= DOMAIN_FLAG_LOSE_CHILDREN;
return -ENODEV;
}
} else {
- if (device_def_domain_type(dev, 1) == IOMMU_DOMAIN_DMA) {
+ if (device_def_domain_type(dev) == IOMMU_DOMAIN_DMA) {
ret = iommu_request_dma_domain_for_dev(dev);
if (ret) {
dmar_domain->flags |= DOMAIN_FLAG_LOSE_CHILDREN;