From: Joe Perches > Sent: 07 January 2017 18:33 > Shifting and masking various types can be made a bit > simpler to read by using the available kernel macros. ... > - ew32(TDBAH, (tdba >> 32)); > - ew32(TDBAL, (tdba & 0x00000000ffffffffULL)); > + ew32(TDBAH, upper_32_bits(tdba)); > + ew32(TDBAL, lower_32_bits(tdba));
Personally I find the original code easier to understand since I don't have to look up another silly macro. I'd normally not even explicitly mask the low bits relying on the implicit truncation of the assignment. At least modern compilers aren't stupid enough to add two 'mask with 0xff' instructions for: *uchar_ptr = (unsigned char)(foo & 0xff); David