err = tegra_smmu_as_prepare(smmu, as); if (err) @@ -509,9 +518,6 @@ static int tegra_smmu_attach_dev(struct iommu_domain *domain, tegra_smmu_enable(smmu, fwspec->ids[index], as->id); } - if (index == 0) - return -ENODEV; - return 0; disable: @@ -532,9 +538,6 @@ static int tegra_smmu_identity_attach(struct iommu_domain *identity_domain, struct tegra_smmu *smmu; unsigned int index; - if (!fwspec) - return -ENODEV; - if (old == identity_domain || !old) return 0; @@ -548,6 +551,7 @@ static int tegra_smmu_identity_attach(struct iommu_domain *identity_domain, } static struct iommu_domain_ops tegra_smmu_identity_ops = { + .test_dev = tegra_smmu_domain_test_dev, .attach_dev = tegra_smmu_identity_attach, }; @@ -1005,6 +1009,7 @@ static const struct iommu_ops tegra_smmu_ops = { .device_group = tegra_smmu_device_group, .of_xlate = tegra_smmu_of_xlate, .default_domain_ops = &(const struct iommu_domain_ops) { + .test_dev = tegra_smmu_domain_test_dev, .attach_dev = tegra_smmu_attach_dev, .map_pages = tegra_smmu_map, .unmap_pages = tegra_smmu_unmap, -- 2.43.0[PATCH v1 20/20] iommu/tegra-smmu: Implement tegra_smmu_domain_test_devNicolin Chen undefined, , undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefinedg