diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/s390/char/sclp.c | 2 | ||||
-rw-r--r-- | drivers/s390/char/sclp_cmd.c | 2 | ||||
-rw-r--r-- | drivers/s390/char/sclp_vt220.c | 14 |
3 files changed, 13 insertions, 5 deletions
diff --git a/drivers/s390/char/sclp.c b/drivers/s390/char/sclp.c index 1990285296c6..c316051d9bda 100644 --- a/drivers/s390/char/sclp.c +++ b/drivers/s390/char/sclp.c | |||
@@ -1252,7 +1252,7 @@ static __init int sclp_initcall(void) | |||
1252 | return rc; | 1252 | return rc; |
1253 | 1253 | ||
1254 | sclp_pdev = platform_device_register_simple("sclp", -1, NULL, 0); | 1254 | sclp_pdev = platform_device_register_simple("sclp", -1, NULL, 0); |
1255 | rc = PTR_RET(sclp_pdev); | 1255 | rc = PTR_ERR_OR_ZERO(sclp_pdev); |
1256 | if (rc) | 1256 | if (rc) |
1257 | goto fail_platform_driver_unregister; | 1257 | goto fail_platform_driver_unregister; |
1258 | 1258 | ||
diff --git a/drivers/s390/char/sclp_cmd.c b/drivers/s390/char/sclp_cmd.c index 6e8f90f84e49..6e14999f9e8f 100644 --- a/drivers/s390/char/sclp_cmd.c +++ b/drivers/s390/char/sclp_cmd.c | |||
@@ -515,7 +515,7 @@ static int __init sclp_detect_standby_memory(void) | |||
515 | if (rc) | 515 | if (rc) |
516 | goto out; | 516 | goto out; |
517 | sclp_pdev = platform_device_register_simple("sclp_mem", -1, NULL, 0); | 517 | sclp_pdev = platform_device_register_simple("sclp_mem", -1, NULL, 0); |
518 | rc = PTR_RET(sclp_pdev); | 518 | rc = PTR_ERR_OR_ZERO(sclp_pdev); |
519 | if (rc) | 519 | if (rc) |
520 | goto out_driver; | 520 | goto out_driver; |
521 | sclp_add_standby_memory(); | 521 | sclp_add_standby_memory(); |
diff --git a/drivers/s390/char/sclp_vt220.c b/drivers/s390/char/sclp_vt220.c index 4eed38cd0af6..cd9c91909596 100644 --- a/drivers/s390/char/sclp_vt220.c +++ b/drivers/s390/char/sclp_vt220.c | |||
@@ -97,13 +97,16 @@ static void sclp_vt220_pm_event_fn(struct sclp_register *reg, | |||
97 | static int __sclp_vt220_emit(struct sclp_vt220_request *request); | 97 | static int __sclp_vt220_emit(struct sclp_vt220_request *request); |
98 | static void sclp_vt220_emit_current(void); | 98 | static void sclp_vt220_emit_current(void); |
99 | 99 | ||
100 | /* Registration structure for our interest in SCLP event buffers */ | 100 | /* Registration structure for SCLP output event buffers */ |
101 | static struct sclp_register sclp_vt220_register = { | 101 | static struct sclp_register sclp_vt220_register = { |
102 | .send_mask = EVTYP_VT220MSG_MASK, | 102 | .send_mask = EVTYP_VT220MSG_MASK, |
103 | .pm_event_fn = sclp_vt220_pm_event_fn, | ||
104 | }; | ||
105 | |||
106 | /* Registration structure for SCLP input event buffers */ | ||
107 | static struct sclp_register sclp_vt220_register_input = { | ||
103 | .receive_mask = EVTYP_VT220MSG_MASK, | 108 | .receive_mask = EVTYP_VT220MSG_MASK, |
104 | .state_change_fn = NULL, | ||
105 | .receiver_fn = sclp_vt220_receiver_fn, | 109 | .receiver_fn = sclp_vt220_receiver_fn, |
106 | .pm_event_fn = sclp_vt220_pm_event_fn, | ||
107 | }; | 110 | }; |
108 | 111 | ||
109 | 112 | ||
@@ -715,9 +718,14 @@ static int __init sclp_vt220_tty_init(void) | |||
715 | rc = tty_register_driver(driver); | 718 | rc = tty_register_driver(driver); |
716 | if (rc) | 719 | if (rc) |
717 | goto out_init; | 720 | goto out_init; |
721 | rc = sclp_register(&sclp_vt220_register_input); | ||
722 | if (rc) | ||
723 | goto out_reg; | ||
718 | sclp_vt220_driver = driver; | 724 | sclp_vt220_driver = driver; |
719 | return 0; | 725 | return 0; |
720 | 726 | ||
727 | out_reg: | ||
728 | tty_unregister_driver(driver); | ||
721 | out_init: | 729 | out_init: |
722 | __sclp_vt220_cleanup(); | 730 | __sclp_vt220_cleanup(); |
723 | out_driver: | 731 | out_driver: |