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@xxxxxxxxx> )=-
-=( Web: http://www.mev.co.uk/ )=-
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel