Re: [PATCH v4 3/3] iommu/tegra-smmu: Add PCI support

Nicolin Chen
2020-10-02T17:51:34Z

On Fri, Oct 02, 2020 at 05:35:24PM +0300, Dmitry Osipenko wrote:
> 02.10.2020 09:08, Nicolin Chen пишет:
> > @@ -865,7 +866,11 @@ static struct iommu_group *tegra_smmu_device_group(struct device *dev)
> > group->smmu = smmu;
> > group->soc = soc;
> >
> > - group->group = iommu_group_alloc();
> > + if (dev_is_pci(dev))
> > + group->group = pci_device_group(dev);
> > + else
> > + group->group = generic_device_group(dev);
> > +
> > if (IS_ERR(group->group)) {
> > devm_kfree(smmu->dev, group);
> > mutex_unlock(&smmu->lock);
> > @@ -1069,22 +1074,32 @@ struct tegra_smmu *tegra_smmu_probe(struct device *dev,
> > iommu_device_set_fwnode(&smmu->iommu, dev->fwnode);
> >
> > err = iommu_device_register(&smmu->iommu);
> > - if (err) {
> > - iommu_device_sysfs_remove(&smmu->iommu);
> > - return ERR_PTR(err);
> > - }
> > + if (err)
> > + goto err_sysfs;
> >
> > err = bus_set_iommu(&platform_bus_type, &tegra_smmu_ops);
> > - if (err < 0) {
> > - iommu_device_unregister(&smmu->iommu);
> > - iommu_device_sysfs_remove(&smmu->iommu);
> > - return ERR_PTR(err);
> > - }
> > + if (err < 0)
> > + goto err_unregister;
> > +
> > +#ifdef CONFIG_PCI
> > + err = bus_set_iommu(&pci_bus_type, &tegra_smmu_ops);
> > + if (err < 0)
> > + goto err_bus_set;
> > +#endif
> >
> > if (IS_ENABLED(CONFIG_DEBUG_FS))
> > tegra_smmu_debugfs_init(smmu);
> >
> > return smmu;
> > +
> > +err_bus_set: __maybe_unused;
>
> __maybe_unused?

In order to mute a build warning when CONFIG_PCI=n...