[v2,04/11] i2c: mlxbf: Use devm_platform_get_and_ioremap_resource()

Message ID 20230710063351.17490-4-frank.li@vivo.com
State New
Headers
Series [v2,01/11] i2c: at91: Use devm_platform_get_and_ioremap_resource() |

Commit Message

李扬韬 July 10, 2023, 6:33 a.m. UTC
  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: Yangtao Li <frank.li@vivo.com>
---
 drivers/i2c/busses/i2c-mlxbf.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)
  

Comments

Andi Shyti July 12, 2023, 3:49 p.m. UTC | #1
Hi Yangtao,

On Mon, Jul 10, 2023 at 02:33:43PM +0800, Yangtao Li wrote:
> 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: Yangtao Li <frank.li@vivo.com>

Reviewed-by: Andi Shyti <andi.shyti@kernel.org> 

> ---
>  drivers/i2c/busses/i2c-mlxbf.c | 8 +-------
>  1 file changed, 1 insertion(+), 7 deletions(-)
> 
> diff --git a/drivers/i2c/busses/i2c-mlxbf.c b/drivers/i2c/busses/i2c-mlxbf.c
> index ae66bdd1b737..2f60e5532b54 100644
> --- a/drivers/i2c/busses/i2c-mlxbf.c
> +++ b/drivers/i2c/busses/i2c-mlxbf.c
> @@ -1080,13 +1080,7 @@ static int mlxbf_i2c_init_resource(struct platform_device *pdev,
>  	if (!tmp_res)
>  		return -ENOMEM;
>  
> -	tmp_res->params = platform_get_resource(pdev, IORESOURCE_MEM, type);
> -	if (!tmp_res->params) {
> -		devm_kfree(dev, tmp_res);
> -		return -EIO;
> -	}
> -
> -	tmp_res->io = devm_ioremap_resource(dev, tmp_res->params);
> +	tmp_res->io = devm_platform_get_and_ioremap_resource(pdev, type, &tmp_res->params);
>  	if (IS_ERR(tmp_res->io)) {
>  		devm_kfree(dev, tmp_res);

In a later patch we could also remove this redundant
devm_kfree().

Andi

>  		return PTR_ERR(tmp_res->io);
> -- 
> 2.39.0
>
  

Patch

diff --git a/drivers/i2c/busses/i2c-mlxbf.c b/drivers/i2c/busses/i2c-mlxbf.c
index ae66bdd1b737..2f60e5532b54 100644
--- a/drivers/i2c/busses/i2c-mlxbf.c
+++ b/drivers/i2c/busses/i2c-mlxbf.c
@@ -1080,13 +1080,7 @@  static int mlxbf_i2c_init_resource(struct platform_device *pdev,
 	if (!tmp_res)
 		return -ENOMEM;
 
-	tmp_res->params = platform_get_resource(pdev, IORESOURCE_MEM, type);
-	if (!tmp_res->params) {
-		devm_kfree(dev, tmp_res);
-		return -EIO;
-	}
-
-	tmp_res->io = devm_ioremap_resource(dev, tmp_res->params);
+	tmp_res->io = devm_platform_get_and_ioremap_resource(pdev, type, &tmp_res->params);
 	if (IS_ERR(tmp_res->io)) {
 		devm_kfree(dev, tmp_res);
 		return PTR_ERR(tmp_res->io);