02.10.2020 20:45, Nicolin Chen пишет:
> 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...
> 

okay

Reply via email to