Re: [PATCH] drivers/pinctrl/pinctrl-at91.c: convert kfree todevm_kfree

From: Jean-Christophe PLAGNIOL-VILLARD
Date: Wed Dec 12 2012 - 06:58:03 EST


On 11:58 Tue 11 Dec , Julia Lawall wrote:
> From: Julia Lawall <Julia.Lawall@xxxxxxx>
>
> The function at91_dt_node_to_map is ultimately called by the function
> pinctrl_get, which is an exported function. Since it is possible that this
> function is not called from within a probe function, for safety, the kfree
> is converted to a devm_kfree, to both free the data and remove it from the
> device in a failure situation.
>
> A newline is added in the call to devm_kfree to avoid exceeding the 80
> character limit.
>
> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>
>
> ---
> drivers/pinctrl/pinctrl-at91.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c
> index c5e7571..0da8a5f 100644
> --- a/drivers/pinctrl/pinctrl-at91.c
> +++ b/drivers/pinctrl/pinctrl-at91.c
> @@ -255,7 +255,8 @@ static int at91_dt_node_to_map(struct pinctrl_dev *pctldev,
> }
>
> map_num += grp->npins;
> - new_map = devm_kzalloc(pctldev->dev, sizeof(*new_map) * map_num, GFP_KERNEL);
> + new_map = devm_kzalloc(pctldev->dev, sizeof(*new_map) * map_num,
> + GFP_KERNEL);
not related please drop
> if (!new_map)
> return -ENOMEM;
>
> @@ -265,7 +266,7 @@ static int at91_dt_node_to_map(struct pinctrl_dev *pctldev,
> /* create mux map */
> parent = of_get_parent(np);
> if (!parent) {
> - kfree(new_map);
> + devm_kfree(pctldev->dev, new_map);
ok
> return -EINVAL;
> }
> new_map[0].type = PIN_MAP_TYPE_MUX_GROUP;
>
Best Regards,
J.
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/