[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <564CAF3A.20507@mev.co.uk>
Date: Wed, 18 Nov 2015 17:02:50 +0000
From: Ian Abbott <abbotti@....co.uk>
To: Hartley Sweeten <HartleyS@...ionengravers.com>,
Ranjith Thangavel <ranjithece24@...il.com>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>
Cc: "devel@...verdev.osuosl.org" <devel@...verdev.osuosl.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/2] comedi: dmm32at: Fix coding style - use BIT macro
On 18/11/15 16:45, Hartley Sweeten wrote:
> On Wednesday, November 18, 2015 9:42 AM, Ian Abbott wrote:
>> On 16/11/15 17:18, Ranjith Thangavel wrote:
> [snip]
>>> -#define DMM32AT_AI_CFG_SCINT_20US (0 << 4)
>>> -#define DMM32AT_AI_CFG_SCINT_15US (1 << 4)
>>> -#define DMM32AT_AI_CFG_SCINT_10US (2 << 4)
>>> -#define DMM32AT_AI_CFG_SCINT_5US (3 << 4)
>>> -#define DMM32AT_AI_CFG_RANGE (1 << 3) /* 0=5V 1=10V */
>>> -#define DMM32AT_AI_CFG_ADBU (1 << 2) /* 0=bipolar 1=unipolar */
>>> +#define DMM32AT_AI_CFG_SCINT_20US 0
>>> +#define DMM32AT_AI_CFG_SCINT_15US BIT(4)
>>> +#define DMM32AT_AI_CFG_SCINT_10US (BIT(5) & ~BIT(4))
>>
>> The `(BIT(5) & ~BIT(4))` is a bit ugly. You can just use `BIT(5)` to
>> fit in with the style of your other changes.
>>
>> (Personally though, I don't think BIT() is appropriate for shifted,
>> multi-bit values.)
>
> It would be more appropriate as a macro:
>
> #define DMM32AT_AI_CFG_SCINT(x) (((x) & 0x3) << 4)
> #define DMM32AT_AI_CFG_SCINT_20US DMM32AT_AI_CFG_SCINT (0)
> #define DMM32AT_AI_CFG_SCINT_15US DMM32AT_AI_CFG_SCINT (1)
> #define DMM32AT_AI_CFG_SCINT_10US DMM32AT_AI_CFG_SCINT (2)
> #define DMM32AT_AI_CFG_SCINT_5US DMM32AT_AI_CFG_SCINT (3)
Yes, but without the spaces in the macro calls!
It's slightly surprising no one has pushed a generic macro for this sort
of thing, maybe something like:
#define MBIT(v, s) ((v) * BIT(s))
although the name sucks - maybe the problem is thinking up a decent name!
--
-=( Ian Abbott @ MEV Ltd. E-mail: <abbotti@....co.uk> )=-
-=( Web: http://www.mev.co.uk/ )=-
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists