> Therefore, I can toggle the bits in the mce code with mca_cfg.<bitname>. > When defining accessing them through the device attributes in sysfs, I > use a new macro DEVICE_BIT_ATTR which gets the corresponding bit number > of that same bit in the bitfield. This gives only one function which > operates on a bitfield instead of a single function per bit in the > bitfield.
Is this true across all architectures? I know that pa-risc instructions that operate on bitfields use "0" to operate on the high order bit rather than the low order one. I don't recall whether this spills over into the compiler. If it did, then you'd have to have different #defines for the bit numbers[1]. For this specific use case it wouldn't matter because you are just using it in x86 code. But device_store_bit() and device_show_bit() are in generic code - so they must be able to work across all architectures. -Tony [1] Or fix the store/show bit functions to transform the bit numbers from "little-bitian" to "big-bitian" on architectures that count the other way. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/