error = microcode_dev_init();
if (error)
- goto out_sysdev_driver;
- return error;
++ goto out_driver;
register_syscore_ops(&mc_syscore_ops);
register_hotcpu_notifier(&mc_cpu_notifier);
" <tigran@aivazian.fsnet.co.uk>, Peter Oruba\n");
return 0;
- out_sysdev_driver:
+
- sysdev_driver_unregister(&cpu_sysdev_class, &mc_sysdev_driver);
++out_driver:
+ get_online_cpus();
+ mutex_lock(µcode_mutex);
+
++ subsys_interface_unregister(&mc_cpu_interface);
+
+ mutex_unlock(µcode_mutex);
+ put_online_cpus();
+
+out_pdev:
+ platform_device_unregister(microcode_pdev);
+ return error;
+
}
module_init(microcode_init);