Re: [PATCH] mtd: plat-ram: use release_mem_region instead of release_resource

From: Boris Brezillon
Date: Tue Aug 15 2017 - 05:02:08 EST


Le Fri, 11 Aug 2017 15:55:03 +0300,
Anton Vasilyev <vasilyev@xxxxxxxxx> a Ãcrit :

> Use api pair of request_mem_region and release_mem_region
> instead of release_resource.
>
> Found by Linux Driver Verification project (linuxtesting.
>
> Signed-off-by: Anton Vasilyev <vasilyev@xxxxxxxxx>
> ---
> drivers/mtd/maps/plat-ram.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mtd/maps/plat-ram.c b/drivers/mtd/maps/plat-ram.c
> index 5157289..baaf146 100644
> --- a/drivers/mtd/maps/plat-ram.c
> +++ b/drivers/mtd/maps/plat-ram.c
> @@ -82,6 +82,7 @@ static inline void platram_setrw(struct platram_info *info, int to)
> static int platram_remove(struct platform_device *pdev)
> {
> struct platram_info *info = to_platram_info(pdev);
> + resource_size_t res_size;
>
> dev_dbg(&pdev->dev, "removing device\n");
>
> @@ -100,8 +101,8 @@ static int platram_remove(struct platform_device *pdev)
> /* release resources */
>
> if (info->area) {
> - release_resource(info->area);
> - kfree(info->area);
> + res_size = resource_size(info->area)

Missing semi-colon here, which means you did not even compile-test your
changes :P.

> + release_mem_region(info->area->start, res_size);

Why adding a res_size variable instead of doing

release_mem_region(info->area->start,
resource_size(info->area);

?

> }
>
> if (info->map.virt != NULL)