diff options
author | Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> | 2016-11-21 11:01:36 +0100 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2016-11-29 16:57:43 +0100 |
commit | e4f10ffe4c9b500e545b874b816ffea5e8659b05 (patch) | |
tree | 3ba8fab30e32f1664270b4f6d2484ba6e28685c7 /drivers/iommu/arm-smmu.c | |
parent | ACPI/IORT: Add support for IOMMU fwnode registration (diff) | |
download | linux-e4f10ffe4c9b500e545b874b816ffea5e8659b05.tar.xz linux-e4f10ffe4c9b500e545b874b816ffea5e8659b05.zip |
iommu: Make of_iommu_set/get_ops() DT agnostic
The of_iommu_{set/get}_ops() API is used to associate a device
tree node with a specific set of IOMMU operations. The same
kernel interface is required on systems booting with ACPI, where
devices are not associated with a device tree node, therefore
the interface requires generalization.
The struct device fwnode member represents the fwnode token associated
with the device and the struct it points at is firmware specific;
regardless, it is initialized on both ACPI and DT systems and makes an
ideal candidate to use it to associate a set of IOMMU operations to a
given device, through its struct device.fwnode member pointer, paving
the way for representing per-device iommu_ops (ie an iommu instance
associated with a device).
Convert the DT specific of_iommu_{set/get}_ops() interface to
use struct device.fwnode as a look-up token, making the interface
usable on ACPI systems and rename the data structures and the
registration API so that they are made to represent their usage
more clearly.
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Reviewed-by: Tomasz Nowicki <tn@semihalf.com>
Tested-by: Hanjun Guo <hanjun.guo@linaro.org>
Tested-by: Tomasz Nowicki <tn@semihalf.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Hanjun Guo <hanjun.guo@linaro.org>
Cc: Robin Murphy <robin.murphy@arm.com>
Cc: Joerg Roedel <joro@8bytes.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'drivers/iommu/arm-smmu.c')
0 files changed, 0 insertions, 0 deletions