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.paracuel...@gmail.com>
---
 drivers/staging/mt7621-pinctrl/pinctrl-rt2880.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/mt7621-pinctrl/pinctrl-rt2880.c 
b/drivers/staging/mt7621-pinctrl/pinctrl-rt2880.c
index 8bfa6d6..881cbdc 100644
--- a/drivers/staging/mt7621-pinctrl/pinctrl-rt2880.c
+++ b/drivers/staging/mt7621-pinctrl/pinctrl-rt2880.c
@@ -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 = kzalloc(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;
 
-- 
2.7.4

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to