Messages in this thread | | | Date | Thu, 13 Jun 2013 14:47:27 +0200 | Subject | Re: [PATCH v2 06/11] ARM:stixxxx: Add STiH415 SOC support | From | Linus Walleij <> |
| |
On Tue, Jun 11, 2013 at 1:19 AM, Russell King - ARM Linux <linux@arm.linux.org.uk> 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
| |