[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6e4e3cb8-a71b-40b4-7ab6-b3f0d2ec6e0c@gmail.com>
Date: Fri, 2 Oct 2020 21:04:06 +0300
From: Dmitry Osipenko <digetx@...il.com>
To: Nicolin Chen <nicoleotsuka@...il.com>
Cc: thierry.reding@...il.com, joro@...tes.org, vdumpa@...dia.com,
jonathanh@...dia.com, linux-tegra@...r.kernel.org,
iommu@...ts.linux-foundation.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v4 3/3] iommu/tegra-smmu: Add PCI support
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
Powered by blists - more mailing lists