Message ID | 20200310091229.29830-3-joro@8bytes.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | iommu: Move iommu_fwspec out of 'struct device' | expand |
On Tue, Mar 10, 2020 at 10:12:16AM +0100, Joerg Roedel wrote: > From: Joerg Roedel <jroedel@suse.de> > > Use the accessor functions instead of directly dereferencing > dev->iommu_fwspec. > > Tested-by: Hanjun Guo <guohanjun@huawei.com> > Signed-off-by: Joerg Roedel <jroedel@suse.de> Reviewed-by: Jean-Philippe Brucker <jean-philippe@linaro.org> > --- > drivers/acpi/arm64/iort.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c > index ed3d2d1a7ae9..7d04424189df 100644 > --- a/drivers/acpi/arm64/iort.c > +++ b/drivers/acpi/arm64/iort.c > @@ -1015,6 +1015,7 @@ const struct iommu_ops *iort_iommu_configure(struct device *dev) > return ops; > > if (dev_is_pci(dev)) { > + struct iommu_fwspec *fwspec; > struct pci_bus *bus = to_pci_dev(dev)->bus; > struct iort_pci_alias_info info = { .dev = dev }; > > @@ -1027,8 +1028,9 @@ const struct iommu_ops *iort_iommu_configure(struct device *dev) > err = pci_for_each_dma_alias(to_pci_dev(dev), > iort_pci_iommu_init, &info); > > - if (!err && iort_pci_rc_supports_ats(node)) > - dev->iommu_fwspec->flags |= IOMMU_FWSPEC_PCI_RC_ATS; > + fwspec = dev_iommu_fwspec_get(dev); > + if (fwspec && iort_pci_rc_supports_ats(node)) > + fwspec->flags |= IOMMU_FWSPEC_PCI_RC_ATS; > } else { > int i = 0; > > -- > 2.17.1 >
diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c index ed3d2d1a7ae9..7d04424189df 100644 --- a/drivers/acpi/arm64/iort.c +++ b/drivers/acpi/arm64/iort.c @@ -1015,6 +1015,7 @@ const struct iommu_ops *iort_iommu_configure(struct device *dev) return ops; if (dev_is_pci(dev)) { + struct iommu_fwspec *fwspec; struct pci_bus *bus = to_pci_dev(dev)->bus; struct iort_pci_alias_info info = { .dev = dev }; @@ -1027,8 +1028,9 @@ const struct iommu_ops *iort_iommu_configure(struct device *dev) err = pci_for_each_dma_alias(to_pci_dev(dev), iort_pci_iommu_init, &info); - if (!err && iort_pci_rc_supports_ats(node)) - dev->iommu_fwspec->flags |= IOMMU_FWSPEC_PCI_RC_ATS; + fwspec = dev_iommu_fwspec_get(dev); + if (fwspec && iort_pci_rc_supports_ats(node)) + fwspec->flags |= IOMMU_FWSPEC_PCI_RC_ATS; } else { int i = 0;