]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/s390/char/sclp_config.c
Merge branches 'x86/apic', 'x86/defconfig', 'x86/memtest', 'x86/mm' and 'linus' into...
[linux-2.6-omap-h63xx.git] / drivers / s390 / char / sclp_config.c
index fff4ff485d9bcbb8e3bc25c05d465b8214f8774b..b497afe061cc4f0731fd625ca317386d5af0c85f 100644 (file)
@@ -5,16 +5,17 @@
  *    Author(s): Heiko Carstens <heiko.carstens@de.ibm.com>
  */
 
+#define KMSG_COMPONENT "sclp_config"
+#define pr_fmt(fmt) KMSG_COMPONENT ": " fmt
+
 #include <linux/init.h>
 #include <linux/errno.h>
 #include <linux/cpu.h>
-#include <linux/kthread.h>
 #include <linux/sysdev.h>
 #include <linux/workqueue.h>
 #include <asm/smp.h>
-#include "sclp.h"
 
-#define TAG    "sclp_config: "
+#include "sclp.h"
 
 struct conf_mgm_data {
        u8 reserved;
@@ -32,7 +33,7 @@ static void sclp_cpu_capability_notify(struct work_struct *work)
        int cpu;
        struct sys_device *sysdev;
 
-       printk(KERN_WARNING TAG "cpu capability changed.\n");
+       pr_warning("cpu capability changed.\n");
        get_online_cpus();
        for_each_online_cpu(cpu) {
                sysdev = get_cpu_sysdev(cpu);
@@ -41,19 +42,9 @@ static void sclp_cpu_capability_notify(struct work_struct *work)
        put_online_cpus();
 }
 
-static int sclp_cpu_kthread(void *data)
-{
-       smp_rescan_cpus();
-       return 0;
-}
-
 static void __ref sclp_cpu_change_notify(struct work_struct *work)
 {
-       /* Can't call smp_rescan_cpus() from  workqueue context since it may
-        * deadlock in case of cpu hotplug. So we have to create a kernel
-        * thread in order to call it.
-        */
-       kthread_run(sclp_cpu_kthread, NULL, "cpu_rescan");
+       smp_rescan_cpus();
 }
 
 static void sclp_conf_receiver_fn(struct evbuf_header *evbuf)
@@ -89,7 +80,7 @@ static int __init sclp_conf_init(void)
                return rc;
 
        if (!(sclp_conf_register.sclp_send_mask & EVTYP_CONFMGMDATA_MASK)) {
-               printk(KERN_WARNING TAG "no configuration management.\n");
+               pr_warning("no configuration management.\n");
                sclp_unregister(&sclp_conf_register);
                rc = -ENOSYS;
        }