Re: [PATCH 1/2] pinctrl: free allocated pinctrl_map structure onlyonce and use kernel facilities for IMX_PMX_DUMP

From: devendra.aaru
Date: Thu Jun 07 2012 - 08:45:13 EST


Hi Dong,

Thanks for the review.

On Thu, Jun 7, 2012 at 5:35 PM, Dong Aisheng <aisheng.dong@xxxxxxxxxxxxx> wrote:
> On Sat, Jun 02, 2012 at 10:33:53PM +0530, Devendra Naga 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@xxxxxxxxx>
>> ---
>>  drivers/pinctrl/pinctrl-imx.c |   23 +++++++++++------------
>>  1 file changed, 11 insertions(+), 12 deletions(-)
>>
> Sorry for late reply.
> I missed this patch series.
> You can CC me next time. :)
>
>> 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]);                    \
>> +     }                                               \
> I can't remember clearly but i encountered a strange issue before
> that the format was not what i want with KERN_DEBUG...
> But i just tried your patch and it did not appear.
> So i'm ok with this change.
>
>>  }
>>
>>  /* 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;
> Also need removed?
>
Yeah. sorry , will send again with you Ack.
>>
>> -     for (i = 0; i < num_maps; i++)
>> -             kfree(map);
>> +     kfree(map);
>
> BTW, it would be better if the change the patch title to:
> "pinctrl: pinctrl-imx: ...."
Ok sure.
>
> Otherwise,
> Acked-by: Dong Aisheng <dong.aisheng@xxxxxxxxxx>
>
> Regards
> Dong Aisheng
>

Thanks,
Devendra.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/