Messages in this thread | | | Date | Mon, 4 Jun 2012 17:07:02 +0530 | Subject | Re: [PATCH 1/2] pinctrl: free allocated pinctrl_map structure only once and use kernel facilities for IMX_PMX_DUMP | From | "devendra.aaru" <> |
| |
Anybody Please??
On Sat, Jun 2, 2012 at 10:33 PM, Devendra Naga <devendra.aaru@gmail.com> wrote: > 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> > --- > drivers/pinctrl/pinctrl-imx.c | 23 +++++++++++------------ > 1 file changed, 11 insertions(+), 12 deletions(-) > > diff --git a/drivers/pinctrl/pinctrl-imx.c b/drivers/pinctrl/pinctrl-imx.c > index f6e7c67..553ed95 100644 > --- a/drivers/pinctrl/pinctrl-imx.c > +++ b/drivers/pinctrl/pinctrl-imx.c > @@ -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*/ > @@ -203,8 +203,7 @@ static void imx_dt_free_map(struct pinctrl_dev *pctldev, > { > int i; > > - for (i = 0; i < num_maps; i++) > - kfree(map); > + kfree(map); > } > > static struct pinctrl_ops imx_pctrl_ops = { > -- > 1.7.9.5 > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |