aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/ttyprintk.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/char/ttyprintk.c')
-rw-r--r--drivers/char/ttyprintk.c15
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
22struct ttyprintk_port { 22struct 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
212error: 212error:
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
218static 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
219device_initcall(ttyprintk_init); 225device_initcall(ttyprintk_init);
226module_exit(ttyprintk_exit);
227
228MODULE_LICENSE("GPL");