diff options
Diffstat (limited to 'drivers/s390/char/sclp_config.c')
-rw-r--r-- | drivers/s390/char/sclp_config.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/drivers/s390/char/sclp_config.c b/drivers/s390/char/sclp_config.c index b497afe061cc..95b909ac2b73 100644 --- a/drivers/s390/char/sclp_config.c +++ b/drivers/s390/char/sclp_config.c | |||
@@ -33,6 +33,7 @@ static void sclp_cpu_capability_notify(struct work_struct *work) | |||
33 | int cpu; | 33 | int cpu; |
34 | struct sys_device *sysdev; | 34 | struct sys_device *sysdev; |
35 | 35 | ||
36 | s390_adjust_jiffies(); | ||
36 | pr_warning("cpu capability changed.\n"); | 37 | pr_warning("cpu capability changed.\n"); |
37 | get_online_cpus(); | 38 | get_online_cpus(); |
38 | for_each_online_cpu(cpu) { | 39 | for_each_online_cpu(cpu) { |
@@ -70,21 +71,9 @@ static struct sclp_register sclp_conf_register = | |||
70 | 71 | ||
71 | static int __init sclp_conf_init(void) | 72 | static int __init sclp_conf_init(void) |
72 | { | 73 | { |
73 | int rc; | ||
74 | |||
75 | INIT_WORK(&sclp_cpu_capability_work, sclp_cpu_capability_notify); | 74 | INIT_WORK(&sclp_cpu_capability_work, sclp_cpu_capability_notify); |
76 | INIT_WORK(&sclp_cpu_change_work, sclp_cpu_change_notify); | 75 | INIT_WORK(&sclp_cpu_change_work, sclp_cpu_change_notify); |
77 | 76 | return sclp_register(&sclp_conf_register); | |
78 | rc = sclp_register(&sclp_conf_register); | ||
79 | if (rc) | ||
80 | return rc; | ||
81 | |||
82 | if (!(sclp_conf_register.sclp_send_mask & EVTYP_CONFMGMDATA_MASK)) { | ||
83 | pr_warning("no configuration management.\n"); | ||
84 | sclp_unregister(&sclp_conf_register); | ||
85 | rc = -ENOSYS; | ||
86 | } | ||
87 | return rc; | ||
88 | } | 77 | } |
89 | 78 | ||
90 | __initcall(sclp_conf_init); | 79 | __initcall(sclp_conf_init); |