diff options
Diffstat (limited to 'drivers/char/ttyprintk.c')
-rw-r--r-- | drivers/char/ttyprintk.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/drivers/char/ttyprintk.c b/drivers/char/ttyprintk.c index daea84c41743..a15ce4ef39cd 100644 --- a/drivers/char/ttyprintk.c +++ b/drivers/char/ttyprintk.c | |||
@@ -17,7 +17,7 @@ | |||
17 | #include <linux/device.h> | 17 | #include <linux/device.h> |
18 | #include <linux/serial.h> | 18 | #include <linux/serial.h> |
19 | #include <linux/tty.h> | 19 | #include <linux/tty.h> |
20 | #include <linux/export.h> | 20 | #include <linux/module.h> |
21 | 21 | ||
22 | struct ttyprintk_port { | 22 | struct ttyprintk_port { |
23 | struct tty_port port; | 23 | struct tty_port port; |
@@ -210,10 +210,19 @@ static int __init ttyprintk_init(void) | |||
210 | return 0; | 210 | return 0; |
211 | 211 | ||
212 | error: | 212 | error: |
213 | tty_unregister_driver(ttyprintk_driver); | ||
214 | put_tty_driver(ttyprintk_driver); | 213 | put_tty_driver(ttyprintk_driver); |
215 | tty_port_destroy(&tpk_port.port); | 214 | tty_port_destroy(&tpk_port.port); |
216 | ttyprintk_driver = NULL; | ||
217 | return ret; | 215 | return ret; |
218 | } | 216 | } |
217 | |||
218 | static void __exit ttyprintk_exit(void) | ||
219 | { | ||
220 | tty_unregister_driver(ttyprintk_driver); | ||
221 | put_tty_driver(ttyprintk_driver); | ||
222 | tty_port_destroy(&tpk_port.port); | ||
223 | } | ||
224 | |||
219 | device_initcall(ttyprintk_init); | 225 | device_initcall(ttyprintk_init); |
226 | module_exit(ttyprintk_exit); | ||
227 | |||
228 | MODULE_LICENSE("GPL"); | ||