Changes since V2: - use 'struct device' instead of raw kobject to represent RAPL domains - changed eventfd control interface to use event string instead of passing file descriptors that cannot be authenticated in sysfs directory - clean ups based on v1 reviews - use kcalloc for arrays - drop dependencies on X86 - misc cleanups I don have a checkpatch error which I think it is not valid. I can fix it by avoiding the macro/adding more lines. ERROR: Macros with complex values should be enclosed in parenthesis #735: FILE: platform/x86/intel_rapl.c:735: +#define RO_PRIMITIVE(name) \ + primitive_show_fn(name) \ + static DEVICE_ATTR(name, S_IRUGO, show_##name, NULL) If i put parenthesis around it to mute the error then it won't compile. I attempted to come up with a simple version as Greg suggested to just expose cooling device but then I realized we could lose many key functionalities partially due to the correlations among RAPL control knobs. I am still working on this since it is not as simple as deleting the advanced interfaces, I would have to do some setup based on best guesses. Jacob Pan (1): Introduce Intel RAPL cooling device driver Documentation/ABI/testing/sysfs-class-intel-rapl | 121 ++ drivers/platform/x86/Kconfig | 9 + drivers/platform/x86/Makefile | 1 + drivers/platform/x86/intel_rapl.c | 1285 ++++++++++++++++++++++ drivers/platform/x86/intel_rapl.h | 244 ++++ 5 files changed, 1660 insertions(+) create mode 100644 Documentation/ABI/testing/sysfs-class-intel-rapl create mode 100644 drivers/platform/x86/intel_rapl.c create mode 100644 drivers/platform/x86/intel_rapl.h -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html