Beispiel #1
0
static void __exit msr_exit(void)
{
	int cpu = 0;

	cpu_notifier_register_begin();
	for_each_online_cpu(cpu)
		msr_device_destroy(cpu);
	class_destroy(msr_class);
	__unregister_chrdev(MSR_MAJOR, 0, NR_CPUS, "cpu/msr");
	__unregister_hotcpu_notifier(&msr_class_cpu_notifier);
	cpu_notifier_register_done();
}
Beispiel #2
0
static void __exit cpuid_exit(void)
{
	int cpu = 0;

	cpu_notifier_register_begin();
	for_each_online_cpu(cpu)
		cpuid_device_destroy(cpu);
	class_destroy(cpuid_class);
	__unregister_chrdev(CPUID_MAJOR, 0, NR_CPUS, "cpu/cpuid");
	__unregister_hotcpu_notifier(&cpuid_class_cpu_notifier);
	cpu_notifier_register_done();
}
static void __exit msr_exit(void)
{
	int cpu = 0;

	cpu_notifier_register_begin();
	for_each_online_cpu(cpu)
		msr_device_destroy(cpu);
	class_destroy(msr_class);
	__unregister_chrdev(MSR_MAJOR, 0, num_possible_cpus(), "cpu/msr");
	__unregister_hotcpu_notifier(&msr_class_cpu_notifier);
	cpu_notifier_register_done();
	msr_whitelist_cleanup();
	msrbatch_cleanup();
}