From: David Daney <ddaney.cavm@gmail.com>
To: Qais Yousef <Qais.Yousef@imgtec.com>
Cc: "linux-mips@linux-mips.org" <linux-mips@linux-mips.org>
Subject: Re: [PATCH] mips/include/asm/mipsregs.h: s/u16/unsigned short/
Date: Mon, 09 Dec 2013 10:47:51 -0800 [thread overview]
Message-ID: <52A61057.2000804@gmail.com> (raw)
In-Reply-To: <392C4BDEFF12D14FA57A3F30B283D7D13C5FA0@LEMAIL01.le.imgtec.org>
On 12/09/2013 01:35 AM, Qais Yousef wrote:
>> -----Original Message-----
>> From: David Daney [mailto:ddaney.cavm@gmail.com]
>> Sent: 06 December 2013 16:48
>> To: Qais Yousef
>> Cc: linux-mips@linux-mips.org
>> Subject: Re: [PATCH] mips/include/asm/mipsregs.h: s/u16/unsigned short/
>>
>> On 12/06/2013 08:35 AM, Qais Yousef wrote:
>>>> -----Original Message-----
>>>> From: David Daney [mailto:ddaney.cavm@gmail.com]
>>>> Sent: 06 December 2013 16:32
>>>> To: Qais Yousef
>>>> Cc: linux-mips@linux-mips.org
>>>> Subject: Re: [PATCH] mips/include/asm/mipsregs.h: s/u16/unsigned
>>>> short/
>>>>
>>>> On 12/06/2013 01:20 AM, Qais Yousef wrote:
>>>>> I was getting this error when including this header in my driver:
>>>>>
>>>>> arch/mips/include/asm/mipsregs.h:644:33: error: unknown type name
>> ‘u16’
>>>>>
>>>>> since the use of u16 is not really necessary, convert it to unsigned short.
>>>>>
>>>>> Signed-off-by: Qais Yousef <qais.yousef@imgtec.com>
>>>>> Reviewed-by: Steven J. Hill <Steven.Hill@imgtec.com>
>>>>
>>>> NAK.
>>>>
>>>> Just #include <linux/types.h> at the top of asm/mipsregs.h instead.
>>>
>>> Funnily that was my first solution before I changed it to this :)
>>>
>>> I'll resend but can you please give some explanation why changing u16 to
>> unsigned short is bad?
>>
>> This is the linux kernel. People expect to see fixed width integer type definitions
>> using the conventional u8, u16, u32, etc.
>>
>> If you are doing something tricky enough that you need to explicitly use a type of
>> a given width, don't hide the fact, bring it to our attention by using the kernel
>> standard type.
>>
>> If you don't need exactly a u16, just make it an unsigned int and be done with it.
>>
>> It would appear that micro-MIPS instructions are 16 bit, so use u16 everywhere
>> for them.
>
> OK thanks for the explanation. u16 is more safe and future proof for sure.
>
>>
>> Also it looks like this function really should be declared as returning type bool, not
>> int. For the same reason: It cannot return any integer, only truth values. Don't
>> hide this fact. Bring it to our attention by using the proper types.
>
> I share this view about Booleans to be honest
> http://article.gmane.org/gmane.linux.kernel/1554183/match=bool
>
If you are storing Boolean values in an array, Linus has a point. For
function return values, he doesn't convince me.
David Daney
> v2 is on the way.
>
> Thanks,
> Qais
>
>>
>>
>> David Daney
>>
>>
>>>
>>> Thanks,
>>> Qais
>>>
>>>>
>>>> David Daney
>>>>
>>>>
>>>>> ---
>>>>> arch/mips/include/asm/mipsregs.h | 4 ++--
>>>>> 1 files changed, 2 insertions(+), 2 deletions(-)
>>>>>
>>>>> diff --git a/arch/mips/include/asm/mipsregs.h
>>>> b/arch/mips/include/asm/mipsregs.h
>>>>> index e033141..0a2d6ef 100644
>>>>> --- a/arch/mips/include/asm/mipsregs.h
>>>>> +++ b/arch/mips/include/asm/mipsregs.h
>>>>> @@ -641,9 +641,9 @@
>>>>> * microMIPS instructions can be 16-bit or 32-bit in length. This
>>>>> * returns a 1 if the instruction is 16-bit and a 0 if 32-bit.
>>>>> */
>>>>> -static inline int mm_insn_16bit(u16 insn)
>>>>> +static inline int mm_insn_16bit(unsigned short insn)
>>>>> {
>>>>> - u16 opcode = (insn >> 10) & 0x7;
>>>>> + unsigned short opcode = (insn >> 10) & 0x7;
>>>>>
>>>>> return (opcode >= 1 && opcode <= 3) ? 1 : 0;
>>>>> }
>>>>>
>>>
>
prev parent reply other threads:[~2013-12-09 18:48 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-06 9:20 [PATCH] mips/include/asm/mipsregs.h: s/u16/unsigned short/ Qais Yousef
2013-12-06 9:20 ` Qais Yousef
2013-12-06 16:32 ` David Daney
2013-12-06 16:35 ` Qais Yousef
2013-12-06 16:47 ` David Daney
2013-12-09 9:35 ` Qais Yousef
2013-12-09 18:47 ` David Daney [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52A61057.2000804@gmail.com \
--to=ddaney.cavm@gmail.com \
--cc=Qais.Yousef@imgtec.com \
--cc=linux-mips@linux-mips.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox