Re: [PATCH v2 4/4] drivers: net: Add APM X-Gene SoC ethernet driver support.

From: Iyappan Subramanian
Date: Mon Apr 14 2014 - 18:10:41 EST


Hi David,

Thanks for the review comments. Please find my responses inline.

Thanks,
Iyappan

On Sat, Apr 12, 2014 at 1:55 PM, David Miller <davem@xxxxxxxxxxxxx> wrote:
> From: Iyappan Subramanian <isubramanian@xxxxxxx>
> Date: Fri, 11 Apr 2014 20:06:24 -0700
>
>> This patch adds network driver for APM X-Gene SoC ethernet.
>>
>> Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx>
>> Signed-off-by: Ravi Patel <rapatel@xxxxxxx>
>> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx>
>
> This driver is going to take a long to review and get to the point
> where it can be integrated upstream, I'm just trying to set your
> expectations properly.
Okay.
>
>> +inline void set_desc(struct xgene_enet_desc *desc, enum desc_info_index index,
>> + u64 val)
>> +{
>
> The "inline" tag is not necessary, let the compiler figure it out.
Okay. I will remove inline keyword from the code.
>
>> + u8 word_index = desc_info[index].word_index;
>> + u8 start_bit = desc_info[index].start_bit;
>> + u8 len = desc_info[index].len;
>> +
>> + u64 mask = GENMASK_ULL((start_bit + len - 1), start_bit);
>> + ((u64 *)desc)[word_index] = (((u64 *)desc)[word_index] & ~mask)
>> + | (((u64) val << start_bit) & mask);
>
> This looks horrible for several reasons.
>
> First of all, do not put empty lines in the middle of a set of
> local variable declarations.
>
> But do put a single empty line after the last local variable, and
> before the actual code of the function starts.
>
> Get rid of all of this excessive casting. Tell the compiler what you're
> actually doing, pass 'desc' in as "void *" and use local "u64 *" pointers
> (to which 'desc' is assigned to) if you must.
I will fix this in the next patch.
--
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/