On Tue, Jun 11, 2013 at 1:19 AM, Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx> wrote: > On Mon, Jun 10, 2013 at 12:46:59PM +0100, Srinivas KANDAGATLA wrote: >> > + aux_ctrl = (0x1 << L2X0_AUX_CTRL_SHARE_OVERRIDE_SHIFT) | >> > + (0x1 << L2X0_AUX_CTRL_DATA_PREFETCH_SHIFT) | >> > + (0x1 << L2X0_AUX_CTRL_INSTR_PREFETCH_SHIFT) | >> > + (way_size << L2X0_AUX_CTRL_WAY_SIZE_SHIFT); >> > >> > >> > >> > #include <linux/bitops.h> >> > Linus Walleij would write use BIT() here >> >> I will use BIT() macro. > > Without checking those fields... BIT() is only appropriate if you're > really talking about single bits. If you have a field of more than a > single bit which you happen to be setting to '1' then it's not > appropriate to use BIT(). This is true. Luckily I didn't push for it myself this time. However, on a related key we have this hidden away in MFD drivers/mfd/dbx500-prcmu-regs.h: #define BITS(_start, _end) ((BIT(_end) - BIT(_start)) + BIT(_end)) It's used like so: #define PRCM_PLL_FREQ_D_MASK BITS(0, 7) So you can define an multi-bit mask with a macro like that. If there is interest in a construct like this I can make a patch to move this thing to <linux/bitops.h>. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html