On Wed, Nov 16, 2016 at 03:29:24PM +0000, Lorenzo Pieralisi wrote:
> 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 <[email protected]>
> Reviewed-by: Robin Murphy <[email protected]>
> Reviewed-by: Tomasz Nowicki <[email protected]>
> Tested-by: Hanjun Guo <[email protected]>
> Tested-by: Tomasz Nowicki <[email protected]>
> Cc: Will Deacon <[email protected]>
> Cc: Hanjun Guo <[email protected]>
> Cc: Robin Murphy <[email protected]>
> Cc: Joerg Roedel <[email protected]>
> ---
>  drivers/iommu/iommu.c    | 40 ++++++++++++++++++++++++++++++++++++++++
>  drivers/iommu/of_iommu.c | 39 ---------------------------------------
>  include/linux/iommu.h    | 14 ++++++++++++++
>  include/linux/of_iommu.h | 12 ++++++++++--
>  4 files changed, 64 insertions(+), 41 deletions(-)

Acked-by: Will Deacon <[email protected]>

Will

Reply via email to