[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20140913.230120.511140402106277600.davem@davemloft.net>
Date: Sat, 13 Sep 2014 23:01:20 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: david.stevens@...cle.com
Cc: netdev@...r.kernel.org
Subject: Re: [PATCHv3 net-next 1/3] sunvnet: upgrade to VIO protocol
version 1.6
From: David L Stevens <david.stevens@...cle.com>
Date: Sat, 13 Sep 2014 22:39:25 -0400
>
>
> On 09/13/2014 04:18 PM, David Miller wrote:
>> From: David L Stevens <david.stevens@...cle.com>
>
>> static inline bool vio_version_before(struct vio_driver_state *vio,
>> u16 major, u16 minor)
>> {
>> u32 have = (u32)vio->major << 16 | vio->minor;
>> u32 want = (u32)major << 16 | minor;
>>
>> return have < want;
>> }
>> static inline bool vio_version_after_eq(struct vio_driver_state *vio,
>> u16 major, u16 minor)
>> {
>> u32 have = (u32)vio->major << 16 | vio->minor;
>> u32 want = (u32)major << 16 | minor;
>>
>> return have >= want;
>> }
>>
>> Something like that.
>
> Sure. I was thinking about something like:
>
> #define VIO_VER(major, minor) (((major)<<16)|(minor))
>
> change the version struct to a 32-bit int, and do things like:
>
> if (vio->ver > VIO_VER(1,6)) {
>
> unless you have a preference. (?)
I hate wasting space in a structure just to avoid some harmless
casting in a helper function that is simply trying to optimize
a comparison.
That's why I suggested the inline helpers above, which arguments
are strongly typed.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists