Changes since V3: - Removed dependency on platform_device/platform_driver. I initially used platform bus for the purpose of linking RAPL domain device objects to thermal sysfs. For this simplified version we don't need this anymore nor do we need any resources/platform data. This simplified version only needs MSR access. (not to avoid .release() :). I should be freeing device data after it gets called from driver core) - merged header file into .c file, there is no public data nor APIs. - misc. cleanups based on reviews Changes since V2: This is a simpler version which only exposes interface via the generic thermal layer. No new ABI introduced. RAPL driver does some automatic settings to the related power parameters based on user's single input from thermal cooling device interface. On the other side, more work needed to fully use RAPL interface. This is likely result in adding more knobs in the generic thermal sysfs. - deleted event notifications - deleted per domain device and RAPL class and their private sysfs - added more logic to do some automatic settings based on user input. e.g. will enable clamping by default and set a reasonable time window for long term power limits. Changes since V1: - 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 Jacob Pan (1): Introduce Intel RAPL cooling device driver drivers/platform/x86/Kconfig | 9 + drivers/platform/x86/Makefile | 1 + drivers/platform/x86/intel_rapl.c | 889 +++++++++++++++++++++++++++++++++++++ 3 files changed, 899 insertions(+) create mode 100644 drivers/platform/x86/intel_rapl.c -- 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