pinctrl: pinctrl-imx: free allocated pinctrl_map structure only once and use kernel facilities for IMX_PMX_DUMP
a) as we allocate the pinctrl_map structure at imx_dt_node_to_map at line 167, anyway if its an element, or a num_elements * (sizeof(type)) elements allocated to one single pointer must be freed only once. CASE. A) as new_map is not moved and allocated like, for (i = 0; i < MAX_ELEMS; i++) { new_map[i] = kmalloc(numelems * size, GFP_KERNEL); } its freed as for (i = 0; i < MAX_ELEMS; i++) { kfree(new_map[i]); } CASE. B) and its allocated like new_map = kmalloc(numelems * size, GFP_KERNEL); it just needs kfree not as case A's. b) use KERN_DEBUG facility for the IMX_PMX_DUMP macro. Signed-off-by: Devendra Naga <devendra.aaru@gmail.com> Acked-by: Dong Aisheng <dong.aisheng@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
e85bbc19d5
commit
3a86a5f8ab
|
@ -27,16 +27,16 @@
|
|||
#include "core.h"
|
||||
#include "pinctrl-imx.h"
|
||||
|
||||
#define IMX_PMX_DUMP(info, p, m, c, n) \
|
||||
{ \
|
||||
int i, j; \
|
||||
printk("Format: Pin Mux Config\n"); \
|
||||
for (i = 0; i < n; i++) { \
|
||||
j = p[i]; \
|
||||
printk("%s %d 0x%lx\n", \
|
||||
info->pins[j].name, \
|
||||
m[i], c[i]); \
|
||||
} \
|
||||
#define IMX_PMX_DUMP(info, p, m, c, n) \
|
||||
{ \
|
||||
int i, j; \
|
||||
printk(KERN_DEBUG "Format: Pin Mux Config\n"); \
|
||||
for (i = 0; i < n; i++) { \
|
||||
j = p[i]; \
|
||||
printk(KERN_DEBUG "%s %d 0x%lx\n", \
|
||||
info->pins[j].name, \
|
||||
m[i], c[i]); \
|
||||
} \
|
||||
}
|
||||
|
||||
/* The bits in CONFIG cell defined in binding doc*/
|
||||
|
@ -201,10 +201,7 @@ static int imx_dt_node_to_map(struct pinctrl_dev *pctldev,
|
|||
static void imx_dt_free_map(struct pinctrl_dev *pctldev,
|
||||
struct pinctrl_map *map, unsigned num_maps)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < num_maps; i++)
|
||||
kfree(map);
|
||||
kfree(map);
|
||||
}
|
||||
|
||||
static struct pinctrl_ops imx_pctrl_ops = {
|
||||
|
@ -475,9 +472,8 @@ static int __devinit imx_pinctrl_parse_groups(struct device_node *np,
|
|||
grp->configs[j] = config & ~IMX_PAD_SION;
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
IMX_PMX_DUMP(info, grp->pins, grp->mux_mode, grp->configs, grp->npins);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue