> >> +/* Unmasking interrupt fields in IMASK0 */ > >> +#define HDREM ~BIT(5) /* Header Error Mask */ > >> +#define LOFEM ~BIT(4) /* Loss of Framing Error Mask */ > >> +#define RXBOEM ~BIT(3) /* Rx Buffer Overflow Error Mask */ > >> +#define TXBUEM ~BIT(2) /* Tx Buffer Underflow Error Mask */ > >> +#define TXBOEM ~BIT(1) /* Tx Buffer Overflow Error Mask */ > >> +#define TXPEM ~BIT(0) /* Tx Protocol Error Mask */ > > > > Using ~BIT(X) is very usual. I would not do this, Principle of Least > > Surprise. > Sorry, I don't get your point. Could you please explain bit more? Look around kernel header files. How often do you see ~BIT(5)? My guess it is approximately 0. So i'm suggesting you remove the ~ and have the user of the #define assemble the mask and then do the ~ . Andrew