staging: mt7621-pinctrl: make use of pinctrl_utils_reserve_map
authorSergio Paracuellos <sergio.paracuellos@gmail.com>
Thu, 28 Jun 2018 19:03:04 +0000 (21:03 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 6 Jul 2018 15:33:43 +0000 (17:33 +0200)
Function rt2880_pinctrl_dt_node_to_map was using 'kzalloc' to
reserve map memory. There is a 'pinctrl_utils_reserve_map' to
do this function. Just use it.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/mt7621-pinctrl/pinctrl-rt2880.c

index 65c6b5ad231b7a27702fd10dc0942d9a564d61a0..8a196d357e0f033635a67265a30e5191b43ca268 100644 (file)
@@ -113,7 +113,10 @@ static int rt2880_pinctrl_dt_node_to_map(struct pinctrl_dev *pctrldev,
                                         struct pinctrl_map **map,
                                         unsigned int *num_maps)
 {
+       struct rt2880_priv *p = pinctrl_dev_get_drvdata(pctrldev);
+       int ret;
        int max_maps = 0;
+       unsigned int reserved_maps = 0;
        struct pinctrl_map *tmp;
        struct device_node *np;
 
@@ -127,9 +130,12 @@ static int rt2880_pinctrl_dt_node_to_map(struct pinctrl_dev *pctrldev,
        if (!max_maps)
                return max_maps;
 
-       *map = kcalloc(max_maps, sizeof(struct pinctrl_map), GFP_KERNEL);
-       if (!*map)
-               return -ENOMEM;
+       ret = pinctrl_utils_reserve_map(pctrldev, map, &reserved_maps,
+                                       num_maps, max_maps);
+       if (ret) {
+               dev_err(p->dev, "can't reserve map: %d\n", ret);
+               return ret;
+       }
 
        tmp = *map;