On 08/20/2013 06:12 AM, Laxman Dewangan wrote:
> Add support to pass the config type like GROUP or PIN when using
> the utils or generic pin configuration APIs. This will make the
> APIs more generic.

I think passing in the type parameter to the *_to_map APIs makes sense,
but I don't think you need to have separate free functions; the way to
free any kind of map entry is always known, so you don't have to limit
the code to only freeing one type.

> diff --git a/drivers/pinctrl/pinctrl-utils.c b/drivers/pinctrl/pinctrl-utils.c

> -void pinctrl_utils_dt_free_map(struct pinctrl_dev *pctldev,
> -           struct pinctrl_map *map, unsigned num_maps)
> +void pinctrl_utils_dt_free_map_config(struct pinctrl_dev *pctldev,
> +             struct pinctrl_map *map, unsigned num_maps,
> +             enum pinctrl_map_type type)
>  {
>       int i;
>  
>       for (i = 0; i < num_maps; i++)
> -             if (map[i].type == PIN_MAP_TYPE_CONFIGS_GROUP)
> +             if (map[i].type == type)
>                       kfree(map[i].data.configs.configs);

In other words, replace that if with:

switch (maps[i].type) {
case PIN_MAP_TYPE_CONFIGS_PIN:
case PIN_MAP_TYPE_CONFIGS_GROUP:
        kfree(map[i].data.configs.configs);
        break;
default:
        break;
}

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to