Re: [PATCH v2 05/12] iommu: Change the return value of dev_iommu_get()

From: Baolu Lu
Date: Fri Aug 04 2023 - 01:35:56 EST

On 8/4/23 11:55 AM, Tian, Kevin wrote:
From: Baolu Lu<>
Sent: Friday, August 4, 2023 11:10 AM

On 2023/8/3 15:59, Tian, Kevin wrote:
From: Lu Baolu<>
Sent: Thursday, July 27, 2023 1:49 PM

Make dev_iommu_get() return 0 for success and error numbers for failure.
This will make the code neat and readable. No functionality changes.

Reviewed-by: Jacob Pan<jacob.jun.pan@xxxxxxxxxxxxxxx>
Signed-off-by: Lu Baolu<>
drivers/iommu/iommu.c | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
index 00309f66153b..4ba3bb692993 100644
--- a/drivers/iommu/iommu.c
+++ b/drivers/iommu/iommu.c
@@ -290,20 +290,20 @@ void iommu_device_unregister(struct
iommu_device *iommu)

-static struct dev_iommu *dev_iommu_get(struct device *dev)
+static int dev_iommu_get(struct device *dev)
struct dev_iommu *param = dev->iommu;

if (param)
- return param;
+ return 0;

param = kzalloc(sizeof(*param), GFP_KERNEL);
if (!param)
- return NULL;
+ return -ENOMEM;

dev->iommu = param;
- return param;
+ return 0;

Jason's series [1] has been queued. Time to refine according to
the discussion in [2].


I'm not sure I understand your point here. This only changes the return
value of dev_iommu_get() to make the code more concise.

I thought the purpose of this patch was to prepare for next patch which
moves dev->fault_param initialization to dev_iommu_get().


with Jason's rework IMHO that initialization more fits in iommu_init_device().

that's my real point. If you still want to clean up dev_iommu_get() it's fine
but then it may not belong to this series. 😊

Ah, I see. Let me make a choice in the next version.

Best regards,