2020-03-10 09:13:20

by Joerg Roedel

[permalink] [raw]
Subject: [PATCH 08/15] iommu: Introduce accessors for iommu private data

From: Joerg Roedel <[email protected]>

Add dev_iommu_priv_get/set() functions to access per-device iommu
private data. This makes it easier to move the pointer to a different
location.

Tested-by: Will Deacon <[email protected]> # arm-smmu
Signed-off-by: Joerg Roedel <[email protected]>
---
include/linux/iommu.h | 10 ++++++++++
1 file changed, 10 insertions(+)

diff --git a/include/linux/iommu.h b/include/linux/iommu.h
index f5edc21a644d..056900e75758 100644
--- a/include/linux/iommu.h
+++ b/include/linux/iommu.h
@@ -627,6 +627,16 @@ static inline void dev_iommu_fwspec_set(struct device *dev,
dev->iommu->fwspec = fwspec;
}

+static inline void *dev_iommu_priv_get(struct device *dev)
+{
+ return dev->iommu->fwspec->iommu_priv;
+}
+
+static inline void dev_iommu_priv_set(struct device *dev, void *priv)
+{
+ dev->iommu->fwspec->iommu_priv = priv;
+}
+
int iommu_probe_device(struct device *dev);
void iommu_release_device(struct device *dev);

--
2.17.1


2020-03-16 15:48:55

by Jean-Philippe Brucker

[permalink] [raw]
Subject: Re: [PATCH 08/15] iommu: Introduce accessors for iommu private data

On Tue, Mar 10, 2020 at 10:12:22AM +0100, Joerg Roedel wrote:
> From: Joerg Roedel <[email protected]>
>
> Add dev_iommu_priv_get/set() functions to access per-device iommu
> private data. This makes it easier to move the pointer to a different
> location.
>
> Tested-by: Will Deacon <[email protected]> # arm-smmu
> Signed-off-by: Joerg Roedel <[email protected]>

Reviewed-by: Jean-Philippe Brucker <[email protected]>

> ---
> include/linux/iommu.h | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/include/linux/iommu.h b/include/linux/iommu.h
> index f5edc21a644d..056900e75758 100644
> --- a/include/linux/iommu.h
> +++ b/include/linux/iommu.h
> @@ -627,6 +627,16 @@ static inline void dev_iommu_fwspec_set(struct device *dev,
> dev->iommu->fwspec = fwspec;
> }
>
> +static inline void *dev_iommu_priv_get(struct device *dev)
> +{
> + return dev->iommu->fwspec->iommu_priv;
> +}
> +
> +static inline void dev_iommu_priv_set(struct device *dev, void *priv)
> +{
> + dev->iommu->fwspec->iommu_priv = priv;
> +}
> +
> int iommu_probe_device(struct device *dev);
> void iommu_release_device(struct device *dev);
>
> --
> 2.17.1
>