2023-02-08 08:06:12

by ye.xingchen

[permalink] [raw]
Subject: [PATCH] iommu/ipmmu-vmsa: use devm_platform_get_and_ioremap_resource()

From: Ye Xingchen <[email protected]>

Convert platform_get_resource(), devm_ioremap_resource() to a single
call to devm_platform_get_and_ioremap_resource(), as this is exactly
what this function does.

Signed-off-by: Ye Xingchen <[email protected]>
---
drivers/iommu/ipmmu-vmsa.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/iommu/ipmmu-vmsa.c b/drivers/iommu/ipmmu-vmsa.c
index bdf1a4e5eae0..aca7ca8b5543 100644
--- a/drivers/iommu/ipmmu-vmsa.c
+++ b/drivers/iommu/ipmmu-vmsa.c
@@ -967,7 +967,6 @@ static const struct of_device_id ipmmu_of_ids[] = {
static int ipmmu_probe(struct platform_device *pdev)
{
struct ipmmu_vmsa_device *mmu;
- struct resource *res;
int irq;
int ret;

@@ -987,8 +986,7 @@ static int ipmmu_probe(struct platform_device *pdev)
return ret;

/* Map I/O memory and request IRQ. */
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- mmu->base = devm_ioremap_resource(&pdev->dev, res);
+ mmu->base = devm_platform_get_and_ioremap_resource(pdev, 0, NULL);
if (IS_ERR(mmu->base))
return PTR_ERR(mmu->base);

--
2.25.1


2023-02-08 09:48:30

by Robin Murphy

[permalink] [raw]
Subject: Re: [PATCH] iommu/ipmmu-vmsa: use devm_pla tform_get_and_ioremap_resource()

On 2023-02-08 08:05, [email protected] wrote:
> From: Ye Xingchen <[email protected]>
>
> Convert platform_get_resource(), devm_ioremap_resource() to a single
> call to devm_platform_get_and_ioremap_resource(), as this is exactly
> what this function does.

Not exactly - it also returns the resource data to the caller, which is
not needed here. Please use the regular devm_platform_ioremap_resource()
in such cases - it's silly to call the overcomplicated function that
does two things when you only ever need one of the things.

Thanks,
Robin.

> Signed-off-by: Ye Xingchen <[email protected]>
> ---
> drivers/iommu/ipmmu-vmsa.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/iommu/ipmmu-vmsa.c b/drivers/iommu/ipmmu-vmsa.c
> index bdf1a4e5eae0..aca7ca8b5543 100644
> --- a/drivers/iommu/ipmmu-vmsa.c
> +++ b/drivers/iommu/ipmmu-vmsa.c
> @@ -967,7 +967,6 @@ static const struct of_device_id ipmmu_of_ids[] = {
> static int ipmmu_probe(struct platform_device *pdev)
> {
> struct ipmmu_vmsa_device *mmu;
> - struct resource *res;
> int irq;
> int ret;
>
> @@ -987,8 +986,7 @@ static int ipmmu_probe(struct platform_device *pdev)
> return ret;
>
> /* Map I/O memory and request IRQ. */
> - res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> - mmu->base = devm_ioremap_resource(&pdev->dev, res);
> + mmu->base = devm_platform_get_and_ioremap_resource(pdev, 0, NULL);
> if (IS_ERR(mmu->base))
> return PTR_ERR(mmu->base);
>