Message ID | 20200310091229.29830-13-joro@8bytes.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | iommu: Move iommu_fwspec out of 'struct device' | expand |
On Tue, Mar 10, 2020 at 10:12:26AM +0100, Joerg Roedel wrote: > From: Joerg Roedel <jroedel@suse.de> > > Make use of dev_iommu_priv_set/get() functions. > > Signed-off-by: Joerg Roedel <jroedel@suse.de> Reviewed-by: Jean-Philippe Brucker <jean-philippe@linaro.org> > --- > drivers/iommu/mtk_iommu.c | 13 ++++++------- > drivers/iommu/mtk_iommu_v1.c | 14 +++++++------- > 2 files changed, 13 insertions(+), 14 deletions(-) > > diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c > index 95945f467c03..5f4d6df59cf6 100644 > --- a/drivers/iommu/mtk_iommu.c > +++ b/drivers/iommu/mtk_iommu.c > @@ -358,8 +358,8 @@ static void mtk_iommu_domain_free(struct iommu_domain *domain) > static int mtk_iommu_attach_device(struct iommu_domain *domain, > struct device *dev) > { > + struct mtk_iommu_data *data = dev_iommu_priv_get(dev); > struct mtk_iommu_domain *dom = to_mtk_domain(domain); > - struct mtk_iommu_data *data = dev_iommu_fwspec_get(dev)->iommu_priv; > > if (!data) > return -ENODEV; > @@ -378,7 +378,7 @@ static int mtk_iommu_attach_device(struct iommu_domain *domain, > static void mtk_iommu_detach_device(struct iommu_domain *domain, > struct device *dev) > { > - struct mtk_iommu_data *data = dev_iommu_fwspec_get(dev)->iommu_priv; > + struct mtk_iommu_data *data = dev_iommu_priv_get(dev); > > if (!data) > return; > @@ -450,7 +450,7 @@ static int mtk_iommu_add_device(struct device *dev) > if (!fwspec || fwspec->ops != &mtk_iommu_ops) > return -ENODEV; /* Not a iommu client device */ > > - data = fwspec->iommu_priv; > + data = dev_iommu_priv_get(dev); > iommu_device_link(&data->iommu, dev); > > group = iommu_group_get_for_dev(dev); > @@ -469,7 +469,7 @@ static void mtk_iommu_remove_device(struct device *dev) > if (!fwspec || fwspec->ops != &mtk_iommu_ops) > return; > > - data = fwspec->iommu_priv; > + data = dev_iommu_priv_get(dev); > iommu_device_unlink(&data->iommu, dev); > > iommu_group_remove_device(dev); > @@ -496,7 +496,6 @@ static struct iommu_group *mtk_iommu_device_group(struct device *dev) > > static int mtk_iommu_of_xlate(struct device *dev, struct of_phandle_args *args) > { > - struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev); > struct platform_device *m4updev; > > if (args->args_count != 1) { > @@ -505,13 +504,13 @@ static int mtk_iommu_of_xlate(struct device *dev, struct of_phandle_args *args) > return -EINVAL; > } > > - if (!fwspec->iommu_priv) { > + if (!dev_iommu_priv_get(dev)) { > /* Get the m4u device */ > m4updev = of_find_device_by_node(args->np); > if (WARN_ON(!m4updev)) > return -EINVAL; > > - fwspec->iommu_priv = platform_get_drvdata(m4updev); > + dev_iommu_priv_set(dev, platform_get_drvdata(m4updev)); > } > > return iommu_fwspec_add_ids(dev, args->args, 1); > diff --git a/drivers/iommu/mtk_iommu_v1.c b/drivers/iommu/mtk_iommu_v1.c > index e93b94ecac45..9930ac7413cc 100644 > --- a/drivers/iommu/mtk_iommu_v1.c > +++ b/drivers/iommu/mtk_iommu_v1.c > @@ -263,8 +263,8 @@ static void mtk_iommu_domain_free(struct iommu_domain *domain) > static int mtk_iommu_attach_device(struct iommu_domain *domain, > struct device *dev) > { > + struct mtk_iommu_data *data = dev_iommu_priv_get(dev); > struct mtk_iommu_domain *dom = to_mtk_domain(domain); > - struct mtk_iommu_data *data = dev_iommu_fwspec_get(dev)->iommu_priv; > int ret; > > if (!data) > @@ -286,7 +286,7 @@ static int mtk_iommu_attach_device(struct iommu_domain *domain, > static void mtk_iommu_detach_device(struct iommu_domain *domain, > struct device *dev) > { > - struct mtk_iommu_data *data = dev_iommu_fwspec_get(dev)->iommu_priv; > + struct mtk_iommu_data *data = dev_iommu_priv_get(dev); > > if (!data) > return; > @@ -387,20 +387,20 @@ static int mtk_iommu_create_mapping(struct device *dev, > return -EINVAL; > } > > - if (!fwspec->iommu_priv) { > + if (!dev_iommu_priv_get(dev)) { > /* Get the m4u device */ > m4updev = of_find_device_by_node(args->np); > if (WARN_ON(!m4updev)) > return -EINVAL; > > - fwspec->iommu_priv = platform_get_drvdata(m4updev); > + dev_iommu_priv_set(dev, platform_get_drvdata(m4updev)); > } > > ret = iommu_fwspec_add_ids(dev, args->args, 1); > if (ret) > return ret; > > - data = fwspec->iommu_priv; > + data = dev_iommu_priv_get(dev); > m4udev = data->dev; > mtk_mapping = m4udev->archdata.iommu; > if (!mtk_mapping) { > @@ -459,7 +459,7 @@ static int mtk_iommu_add_device(struct device *dev) > if (err) > return err; > > - data = fwspec->iommu_priv; > + data = dev_iommu_priv_get(dev) > mtk_mapping = data->dev->archdata.iommu; > err = arm_iommu_attach_device(dev, mtk_mapping); > if (err) { > @@ -478,7 +478,7 @@ static void mtk_iommu_remove_device(struct device *dev) > if (!fwspec || fwspec->ops != &mtk_iommu_ops) > return; > > - data = fwspec->iommu_priv; > + data = dev_iommu_priv_get(dev) > iommu_device_unlink(&data->iommu, dev); > > iommu_group_remove_device(dev); > -- > 2.17.1 >
diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c index 95945f467c03..5f4d6df59cf6 100644 --- a/drivers/iommu/mtk_iommu.c +++ b/drivers/iommu/mtk_iommu.c @@ -358,8 +358,8 @@ static void mtk_iommu_domain_free(struct iommu_domain *domain) static int mtk_iommu_attach_device(struct iommu_domain *domain, struct device *dev) { + struct mtk_iommu_data *data = dev_iommu_priv_get(dev); struct mtk_iommu_domain *dom = to_mtk_domain(domain); - struct mtk_iommu_data *data = dev_iommu_fwspec_get(dev)->iommu_priv; if (!data) return -ENODEV; @@ -378,7 +378,7 @@ static int mtk_iommu_attach_device(struct iommu_domain *domain, static void mtk_iommu_detach_device(struct iommu_domain *domain, struct device *dev) { - struct mtk_iommu_data *data = dev_iommu_fwspec_get(dev)->iommu_priv; + struct mtk_iommu_data *data = dev_iommu_priv_get(dev); if (!data) return; @@ -450,7 +450,7 @@ static int mtk_iommu_add_device(struct device *dev) if (!fwspec || fwspec->ops != &mtk_iommu_ops) return -ENODEV; /* Not a iommu client device */ - data = fwspec->iommu_priv; + data = dev_iommu_priv_get(dev); iommu_device_link(&data->iommu, dev); group = iommu_group_get_for_dev(dev); @@ -469,7 +469,7 @@ static void mtk_iommu_remove_device(struct device *dev) if (!fwspec || fwspec->ops != &mtk_iommu_ops) return; - data = fwspec->iommu_priv; + data = dev_iommu_priv_get(dev); iommu_device_unlink(&data->iommu, dev); iommu_group_remove_device(dev); @@ -496,7 +496,6 @@ static struct iommu_group *mtk_iommu_device_group(struct device *dev) static int mtk_iommu_of_xlate(struct device *dev, struct of_phandle_args *args) { - struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev); struct platform_device *m4updev; if (args->args_count != 1) { @@ -505,13 +504,13 @@ static int mtk_iommu_of_xlate(struct device *dev, struct of_phandle_args *args) return -EINVAL; } - if (!fwspec->iommu_priv) { + if (!dev_iommu_priv_get(dev)) { /* Get the m4u device */ m4updev = of_find_device_by_node(args->np); if (WARN_ON(!m4updev)) return -EINVAL; - fwspec->iommu_priv = platform_get_drvdata(m4updev); + dev_iommu_priv_set(dev, platform_get_drvdata(m4updev)); } return iommu_fwspec_add_ids(dev, args->args, 1); diff --git a/drivers/iommu/mtk_iommu_v1.c b/drivers/iommu/mtk_iommu_v1.c index e93b94ecac45..9930ac7413cc 100644 --- a/drivers/iommu/mtk_iommu_v1.c +++ b/drivers/iommu/mtk_iommu_v1.c @@ -263,8 +263,8 @@ static void mtk_iommu_domain_free(struct iommu_domain *domain) static int mtk_iommu_attach_device(struct iommu_domain *domain, struct device *dev) { + struct mtk_iommu_data *data = dev_iommu_priv_get(dev); struct mtk_iommu_domain *dom = to_mtk_domain(domain); - struct mtk_iommu_data *data = dev_iommu_fwspec_get(dev)->iommu_priv; int ret; if (!data) @@ -286,7 +286,7 @@ static int mtk_iommu_attach_device(struct iommu_domain *domain, static void mtk_iommu_detach_device(struct iommu_domain *domain, struct device *dev) { - struct mtk_iommu_data *data = dev_iommu_fwspec_get(dev)->iommu_priv; + struct mtk_iommu_data *data = dev_iommu_priv_get(dev); if (!data) return; @@ -387,20 +387,20 @@ static int mtk_iommu_create_mapping(struct device *dev, return -EINVAL; } - if (!fwspec->iommu_priv) { + if (!dev_iommu_priv_get(dev)) { /* Get the m4u device */ m4updev = of_find_device_by_node(args->np); if (WARN_ON(!m4updev)) return -EINVAL; - fwspec->iommu_priv = platform_get_drvdata(m4updev); + dev_iommu_priv_set(dev, platform_get_drvdata(m4updev)); } ret = iommu_fwspec_add_ids(dev, args->args, 1); if (ret) return ret; - data = fwspec->iommu_priv; + data = dev_iommu_priv_get(dev); m4udev = data->dev; mtk_mapping = m4udev->archdata.iommu; if (!mtk_mapping) { @@ -459,7 +459,7 @@ static int mtk_iommu_add_device(struct device *dev) if (err) return err; - data = fwspec->iommu_priv; + data = dev_iommu_priv_get(dev) mtk_mapping = data->dev->archdata.iommu; err = arm_iommu_attach_device(dev, mtk_mapping); if (err) { @@ -478,7 +478,7 @@ static void mtk_iommu_remove_device(struct device *dev) if (!fwspec || fwspec->ops != &mtk_iommu_ops) return; - data = fwspec->iommu_priv; + data = dev_iommu_priv_get(dev) iommu_device_unlink(&data->iommu, dev); iommu_group_remove_device(dev);