Hi Greg, After merging the driver-core tree, today's linux-next build (x86_64 allmodconfig) failed like this: arch/x86/kernel/microcode_core.c: In function 'microcode_init': arch/x86/kernel/microcode_core.c:557:2: error: implicit declaration of function 'sysdev_driver_unregister' [-Werror=implicit-function-declaration] arch/x86/kernel/microcode_core.c:557:28: error: 'cpu_sysdev_class' undeclared (first use in this function) arch/x86/kernel/microcode_core.c:557:47: error: 'mc_sysdev_driver' undeclared (first use in this function) Caused by commit 8a25a2fd126c ("cpu: convert 'cpu' and 'machinecheck' sysdev_class to a regular subsystem") interacting with commit bd399063976c ("x86, microcode: Fix the failure path of microcode update driver init code") which was added to Linux' tree in v3.2-rc5, I have applied the following merge fix patch: From e4aefaed98c4462d5d5d71099756606b547e7364 Mon Sep 17 00:00:00 2001 From: Stephen Rothwell Date: Thu, 5 Jan 2012 17:26:14 +1100 Subject: [PATCH] cpu: fix up for sysdev removal Signed-off-by: Stephen Rothwell --- arch/x86/kernel/microcode_core.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/microcode_core.c b/arch/x86/kernel/microcode_core.c index ef127e54..fb34a56 100644 --- a/arch/x86/kernel/microcode_core.c +++ b/arch/x86/kernel/microcode_core.c @@ -540,7 +540,7 @@ static int __init microcode_init(void) error = microcode_dev_init(); if (error) - goto out_sysdev_driver; + goto out_driver; register_syscore_ops(&mc_syscore_ops); register_hotcpu_notifier(&mc_cpu_notifier); @@ -550,11 +550,11 @@ static int __init microcode_init(void) return 0; -out_sysdev_driver: +out_driver: get_online_cpus(); mutex_lock(µcode_mutex); - sysdev_driver_unregister(&cpu_sysdev_class, &mc_sysdev_driver); + subsys_interface_unregister(&mc_cpu_interface); mutex_unlock(µcode_mutex); put_online_cpus(); -- 1.7.8.197.g73c6b -- Cheers, Stephen Rothwell sfr@canb.auug.org.au http://www.canb.auug.org.au/~sfr/