Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

tty: drop put_tty_driver

put_tty_driver() is an alias for tty_driver_kref_put(). There is no need
for two exported identical functions, therefore switch all users of
old put_tty_driver() to new tty_driver_kref_put() and remove the former
for good.

Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Matt Turner <mattst88@gmail.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
Cc: Chris Zankel <chris@zankel.net>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
Cc: Jens Taprogge <jens.taprogge@taprogge.org>
Cc: Karsten Keil <isdn@linux-pingi.de>
Cc: Scott Branden <scott.branden@broadcom.com>
Cc: Ulf Hansson <ulf.hansson@linaro.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: David Lin <dtwlin@gmail.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Alex Elder <elder@kernel.org>
Cc: Jiri Slaby <jirislaby@kernel.org>
Cc: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Cc: Jiri Kosina <jikos@kernel.org>
Cc: David Sterba <dsterba@suse.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: Oliver Neukum <oneukum@suse.com>
Cc: Felipe Balbi <balbi@kernel.org>
Cc: Mathias Nyman <mathias.nyman@intel.com>
Cc: Marcel Holtmann <marcel@holtmann.org>
Cc: Johan Hedberg <johan.hedberg@gmail.com>
Cc: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Acked-by: Alex Elder <elder@linaro.org>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: Max Filippov <jcmvbkbc@gmail.com>
Acked-by: David Sterba <dsterba@suse.com>
Acked-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Link: https://lore.kernel.org/r/20210723074317.32690-8-jslaby@suse.cz
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Jiri Slaby and committed by
Greg Kroah-Hartman
9f90a4dd cb9ea618

+82 -89
+1 -1
arch/alpha/kernel/srmcons.c
··· 221 221 tty_port_link_device(&srmcons_singleton.port, driver, 0); 222 222 err = tty_register_driver(driver); 223 223 if (err) { 224 - put_tty_driver(driver); 224 + tty_driver_kref_put(driver); 225 225 tty_port_destroy(&srmcons_singleton.port); 226 226 return err; 227 227 }
+2 -2
arch/m68k/emu/nfcon.c
··· 144 144 res = tty_register_driver(driver); 145 145 if (res) { 146 146 pr_err("failed to register nfcon tty driver\n"); 147 - put_tty_driver(driver); 147 + tty_driver_kref_put(driver); 148 148 tty_port_destroy(&nfcon_tty_port); 149 149 return res; 150 150 } ··· 161 161 { 162 162 unregister_console(&nf_console); 163 163 tty_unregister_driver(nfcon_tty_driver); 164 - put_tty_driver(nfcon_tty_driver); 164 + tty_driver_kref_put(nfcon_tty_driver); 165 165 tty_port_destroy(&nfcon_tty_port); 166 166 } 167 167
+1 -1
arch/um/drivers/line.c
··· 568 568 if (err) { 569 569 printk(KERN_ERR "register_lines : can't register %s driver\n", 570 570 line_driver->name); 571 - put_tty_driver(driver); 571 + tty_driver_kref_put(driver); 572 572 for (i = 0; i < nlines; i++) 573 573 tty_port_destroy(&lines[i].port); 574 574 return err;
+1 -1
arch/xtensa/platforms/iss/console.c
··· 178 178 static __exit void rs_exit(void) 179 179 { 180 180 tty_unregister_driver(serial_driver); 181 - put_tty_driver(serial_driver); 181 + tty_driver_kref_put(serial_driver); 182 182 tty_port_destroy(&serial_port); 183 183 } 184 184
+2 -2
drivers/char/ttyprintk.c
··· 198 198 return 0; 199 199 200 200 error: 201 - put_tty_driver(ttyprintk_driver); 201 + tty_driver_kref_put(ttyprintk_driver); 202 202 tty_port_destroy(&tpk_port.port); 203 203 return ret; 204 204 } ··· 206 206 static void __exit ttyprintk_exit(void) 207 207 { 208 208 tty_unregister_driver(ttyprintk_driver); 209 - put_tty_driver(ttyprintk_driver); 209 + tty_driver_kref_put(ttyprintk_driver); 210 210 tty_port_destroy(&tpk_port.port); 211 211 } 212 212
+2 -2
drivers/ipack/devices/ipoctal.c
··· 371 371 res = tty_register_driver(tty); 372 372 if (res) { 373 373 dev_err(&ipoctal->dev->dev, "Can't register tty driver.\n"); 374 - put_tty_driver(tty); 374 + tty_driver_kref_put(tty); 375 375 return res; 376 376 } 377 377 ··· 696 696 } 697 697 698 698 tty_unregister_driver(ipoctal->tty_drv); 699 - put_tty_driver(ipoctal->tty_drv); 699 + tty_driver_kref_put(ipoctal->tty_drv); 700 700 kfree(ipoctal); 701 701 } 702 702
+2 -2
drivers/isdn/capi/capi.c
··· 1290 1290 1291 1291 err = tty_register_driver(drv); 1292 1292 if (err) { 1293 - put_tty_driver(drv); 1293 + tty_driver_kref_put(drv); 1294 1294 kfree(capiminors); 1295 1295 printk(KERN_ERR "Couldn't register capi_nc driver\n"); 1296 1296 return err; ··· 1302 1302 static void __exit capinc_tty_exit(void) 1303 1303 { 1304 1304 tty_unregister_driver(capinc_tty_driver); 1305 - put_tty_driver(capinc_tty_driver); 1305 + tty_driver_kref_put(capinc_tty_driver); 1306 1306 kfree(capiminors); 1307 1307 } 1308 1308
+4 -4
drivers/misc/bcm-vk/bcm_vk_tty.c
··· 249 249 tty_drv->name = kstrdup(name, GFP_KERNEL); 250 250 if (!tty_drv->name) { 251 251 err = -ENOMEM; 252 - goto err_put_tty_driver; 252 + goto err_tty_driver_kref_put; 253 253 } 254 254 tty_drv->type = TTY_DRIVER_TYPE_SERIAL; 255 255 tty_drv->subtype = SERIAL_TYPE_NORMAL; ··· 295 295 kfree(tty_drv->name); 296 296 tty_drv->name = NULL; 297 297 298 - err_put_tty_driver: 299 - put_tty_driver(tty_drv); 298 + err_tty_driver_kref_put: 299 + tty_driver_kref_put(tty_drv); 300 300 301 301 return err; 302 302 } ··· 317 317 kfree(vk->tty_drv->name); 318 318 vk->tty_drv->name = NULL; 319 319 320 - put_tty_driver(vk->tty_drv); 320 + tty_driver_kref_put(vk->tty_drv); 321 321 } 322 322 323 323 void bcm_vk_tty_terminate_tty_user(struct bcm_vk *vk)
+2 -2
drivers/mmc/core/sdio_uart.c
··· 1165 1165 err2: 1166 1166 tty_unregister_driver(tty_drv); 1167 1167 err1: 1168 - put_tty_driver(tty_drv); 1168 + tty_driver_kref_put(tty_drv); 1169 1169 return ret; 1170 1170 } 1171 1171 ··· 1173 1173 { 1174 1174 sdio_unregister_driver(&sdio_uart_driver); 1175 1175 tty_unregister_driver(sdio_uart_tty_driver); 1176 - put_tty_driver(sdio_uart_tty_driver); 1176 + tty_driver_kref_put(sdio_uart_tty_driver); 1177 1177 } 1178 1178 1179 1179 module_init(sdio_uart_init);
+2 -2
drivers/net/usb/hso.c
··· 3269 3269 err_unreg_tty: 3270 3270 tty_unregister_driver(tty_drv); 3271 3271 err_free_tty: 3272 - put_tty_driver(tty_drv); 3272 + tty_driver_kref_put(tty_drv); 3273 3273 return result; 3274 3274 } 3275 3275 ··· 3280 3280 tty_unregister_driver(tty_drv); 3281 3281 /* deregister the usb driver */ 3282 3282 usb_deregister(&hso_driver); 3283 - put_tty_driver(tty_drv); 3283 + tty_driver_kref_put(tty_drv); 3284 3284 } 3285 3285 3286 3286 /* Module definitions */
+2 -2
drivers/s390/char/con3215.c
··· 1082 1082 1083 1083 ret = ccw_driver_register(&raw3215_ccw_driver); 1084 1084 if (ret) { 1085 - put_tty_driver(driver); 1085 + tty_driver_kref_put(driver); 1086 1086 return ret; 1087 1087 } 1088 1088 /* ··· 1104 1104 tty_set_operations(driver, &tty3215_ops); 1105 1105 ret = tty_register_driver(driver); 1106 1106 if (ret) { 1107 - put_tty_driver(driver); 1107 + tty_driver_kref_put(driver); 1108 1108 return ret; 1109 1109 } 1110 1110 tty3215_driver = driver;
+4 -4
drivers/s390/char/sclp_tty.c
··· 509 509 510 510 rc = sclp_rw_init(); 511 511 if (rc) { 512 - put_tty_driver(driver); 512 + tty_driver_kref_put(driver); 513 513 return rc; 514 514 } 515 515 /* Allocate pages for output buffering */ 516 516 for (i = 0; i < MAX_KMEM_PAGES; i++) { 517 517 page = (void *) get_zeroed_page(GFP_KERNEL | GFP_DMA); 518 518 if (page == NULL) { 519 - put_tty_driver(driver); 519 + tty_driver_kref_put(driver); 520 520 return -ENOMEM; 521 521 } 522 522 list_add_tail((struct list_head *) page, &sclp_tty_pages); ··· 532 532 533 533 rc = sclp_register(&sclp_input_event); 534 534 if (rc) { 535 - put_tty_driver(driver); 535 + tty_driver_kref_put(driver); 536 536 return rc; 537 537 } 538 538 ··· 552 552 tty_port_link_device(&sclp_port, driver, 0); 553 553 rc = tty_register_driver(driver); 554 554 if (rc) { 555 - put_tty_driver(driver); 555 + tty_driver_kref_put(driver); 556 556 tty_port_destroy(&sclp_port); 557 557 return rc; 558 558 }
+1 -1
drivers/s390/char/sclp_vt220.c
··· 763 763 out_init: 764 764 __sclp_vt220_cleanup(); 765 765 out_driver: 766 - put_tty_driver(driver); 766 + tty_driver_kref_put(driver); 767 767 return rc; 768 768 } 769 769 __initcall(sclp_vt220_tty_init);
+2 -2
drivers/s390/char/tty3270.c
··· 1935 1935 tty_set_operations(driver, &tty3270_ops); 1936 1936 ret = tty_register_driver(driver); 1937 1937 if (ret) { 1938 - put_tty_driver(driver); 1938 + tty_driver_kref_put(driver); 1939 1939 return ret; 1940 1940 } 1941 1941 tty3270_driver = driver; ··· 1952 1952 driver = tty3270_driver; 1953 1953 tty3270_driver = NULL; 1954 1954 tty_unregister_driver(driver); 1955 - put_tty_driver(driver); 1955 + tty_driver_kref_put(driver); 1956 1956 tty3270_del_views(); 1957 1957 } 1958 1958
+4 -4
drivers/staging/fwserial/fwserial.c
··· 2852 2852 tty_unregister_driver(fwloop_driver); 2853 2853 put_loop: 2854 2854 if (create_loop_dev) 2855 - put_tty_driver(fwloop_driver); 2855 + tty_driver_kref_put(fwloop_driver); 2856 2856 unregister_driver: 2857 2857 tty_unregister_driver(fwtty_driver); 2858 2858 put_tty: 2859 - put_tty_driver(fwtty_driver); 2859 + tty_driver_kref_put(fwtty_driver); 2860 2860 remove_debugfs: 2861 2861 debugfs_remove_recursive(fwserial_debugfs); 2862 2862 ··· 2871 2871 kmem_cache_destroy(fwtty_txn_cache); 2872 2872 if (create_loop_dev) { 2873 2873 tty_unregister_driver(fwloop_driver); 2874 - put_tty_driver(fwloop_driver); 2874 + tty_driver_kref_put(fwloop_driver); 2875 2875 } 2876 2876 tty_unregister_driver(fwtty_driver); 2877 - put_tty_driver(fwtty_driver); 2877 + tty_driver_kref_put(fwtty_driver); 2878 2878 debugfs_remove_recursive(fwserial_debugfs); 2879 2879 } 2880 2880
+2 -2
drivers/staging/gdm724x/gdm_tty.c
··· 299 299 300 300 ret = tty_register_driver(tty_driver); 301 301 if (ret) { 302 - put_tty_driver(tty_driver); 302 + tty_driver_kref_put(tty_driver); 303 303 return ret; 304 304 } 305 305 ··· 318 318 tty_driver = gdm_driver[i]; 319 319 if (tty_driver) { 320 320 tty_unregister_driver(tty_driver); 321 - put_tty_driver(tty_driver); 321 + tty_driver_kref_put(tty_driver); 322 322 } 323 323 } 324 324 }
+2 -2
drivers/staging/greybus/uart.c
··· 973 973 return 0; 974 974 975 975 fail_put_gb_tty: 976 - put_tty_driver(gb_tty_driver); 976 + tty_driver_kref_put(gb_tty_driver); 977 977 fail_unregister_dev: 978 978 return retval; 979 979 } ··· 981 981 static void gb_tty_exit(void) 982 982 { 983 983 tty_unregister_driver(gb_tty_driver); 984 - put_tty_driver(gb_tty_driver); 984 + tty_driver_kref_put(gb_tty_driver); 985 985 idr_destroy(&tty_minors); 986 986 } 987 987
+4 -4
drivers/tty/amiserial.c
··· 1519 1519 1520 1520 error = tty_register_driver(driver); 1521 1521 if (error) 1522 - goto fail_put_tty_driver; 1522 + goto fail_tty_driver_kref_put; 1523 1523 1524 1524 printk(KERN_INFO "ttyS0 is the amiga builtin serial port\n"); 1525 1525 ··· 1566 1566 free_irq(IRQ_AMIGA_TBE, state); 1567 1567 fail_unregister: 1568 1568 tty_unregister_driver(driver); 1569 - fail_put_tty_driver: 1569 + fail_tty_driver_kref_put: 1570 1570 tty_port_destroy(&state->tport); 1571 - put_tty_driver(driver); 1571 + tty_driver_kref_put(driver); 1572 1572 return error; 1573 1573 } 1574 1574 ··· 1577 1577 struct serial_state *state = platform_get_drvdata(pdev); 1578 1578 1579 1579 tty_unregister_driver(serial_driver); 1580 - put_tty_driver(serial_driver); 1580 + tty_driver_kref_put(serial_driver); 1581 1581 tty_port_destroy(&state->tport); 1582 1582 1583 1583 free_irq(IRQ_AMIGA_TBE, state);
+3 -3
drivers/tty/ehv_bytechan.c
··· 791 791 ret = tty_register_driver(driver); 792 792 if (ret) { 793 793 pr_err("ehv-bc: could not register tty driver (ret=%i)\n", ret); 794 - goto err_put_tty_driver; 794 + goto err_tty_driver_kref_put; 795 795 } 796 796 797 797 ehv_bc_driver = driver; ··· 808 808 err_deregister_tty_driver: 809 809 ehv_bc_driver = NULL; 810 810 tty_unregister_driver(driver); 811 - err_put_tty_driver: 812 - put_tty_driver(driver); 811 + err_tty_driver_kref_put: 812 + tty_driver_kref_put(driver); 813 813 err_free_bcs: 814 814 kfree(bcs); 815 815
+2 -2
drivers/tty/goldfish.c
··· 274 274 return 0; 275 275 276 276 err_tty_register_driver_failed: 277 - put_tty_driver(tty); 277 + tty_driver_kref_put(tty); 278 278 err_tty_alloc_driver_failed: 279 279 kfree(goldfish_ttys); 280 280 goldfish_ttys = NULL; ··· 285 285 static void goldfish_tty_delete_driver(void) 286 286 { 287 287 tty_unregister_driver(goldfish_tty_driver); 288 - put_tty_driver(goldfish_tty_driver); 288 + tty_driver_kref_put(goldfish_tty_driver); 289 289 goldfish_tty_driver = NULL; 290 290 kfree(goldfish_ttys); 291 291 goldfish_ttys = NULL;
+1 -1
drivers/tty/hvc/hvc_console.c
··· 1063 1063 kthread_stop(hvc_task); 1064 1064 hvc_task = NULL; 1065 1065 put_tty: 1066 - put_tty_driver(drv); 1066 + tty_driver_kref_put(drv); 1067 1067 out: 1068 1068 return err; 1069 1069 }
+2 -2
drivers/tty/hvc/hvcs.c
··· 1509 1509 register_fail: 1510 1510 hvcs_free_index_list(); 1511 1511 index_fail: 1512 - put_tty_driver(hvcs_tty_driver); 1512 + tty_driver_kref_put(hvcs_tty_driver); 1513 1513 hvcs_tty_driver = NULL; 1514 1514 mutex_unlock(&hvcs_init_mutex); 1515 1515 return rc; ··· 1562 1562 1563 1563 hvcs_free_index_list(); 1564 1564 1565 - put_tty_driver(hvcs_tty_driver); 1565 + tty_driver_kref_put(hvcs_tty_driver); 1566 1566 1567 1567 printk(KERN_INFO "HVCS: driver module removed.\n"); 1568 1568 }
+2 -2
drivers/tty/ipwireless/tty.c
··· 585 585 if (result) { 586 586 printk(KERN_ERR IPWIRELESS_PCCARD_NAME 587 587 ": failed to register tty driver\n"); 588 - put_tty_driver(ipw_tty_driver); 588 + tty_driver_kref_put(ipw_tty_driver); 589 589 return result; 590 590 } 591 591 ··· 595 595 void ipwireless_tty_release(void) 596 596 { 597 597 tty_unregister_driver(ipw_tty_driver); 598 - put_tty_driver(ipw_tty_driver); 598 + tty_driver_kref_put(ipw_tty_driver); 599 599 } 600 600 601 601 int ipwireless_tty_is_modem(struct ipw_tty *tty)
+1 -1
drivers/tty/mips_ejtag_fdc.c
··· 1042 1042 dport = &priv->ports[nport]; 1043 1043 tty_port_destroy(&dport->port); 1044 1044 } 1045 - put_tty_driver(priv->driver); 1045 + tty_driver_kref_put(priv->driver); 1046 1046 return ret; 1047 1047 } 1048 1048
+2 -2
drivers/tty/moxa.c
··· 1053 1053 1054 1054 if (tty_register_driver(moxaDriver)) { 1055 1055 printk(KERN_ERR "can't register MOXA Smartio tty driver!\n"); 1056 - put_tty_driver(moxaDriver); 1056 + tty_driver_kref_put(moxaDriver); 1057 1057 return -1; 1058 1058 } 1059 1059 ··· 1119 1119 del_timer_sync(&moxaTimer); 1120 1120 1121 1121 tty_unregister_driver(moxaDriver); 1122 - put_tty_driver(moxaDriver); 1122 + tty_driver_kref_put(moxaDriver); 1123 1123 } 1124 1124 1125 1125 module_init(moxa_init);
+2 -2
drivers/tty/mxser.c
··· 2008 2008 err_unr: 2009 2009 tty_unregister_driver(mxvar_sdriver); 2010 2010 err_put: 2011 - put_tty_driver(mxvar_sdriver); 2011 + tty_driver_kref_put(mxvar_sdriver); 2012 2012 return retval; 2013 2013 } 2014 2014 ··· 2016 2016 { 2017 2017 pci_unregister_driver(&mxser_driver); 2018 2018 tty_unregister_driver(mxvar_sdriver); 2019 - put_tty_driver(mxvar_sdriver); 2019 + tty_driver_kref_put(mxvar_sdriver); 2020 2020 } 2021 2021 2022 2022 module_init(mxser_module_init);
+2 -2
drivers/tty/n_gsm.c
··· 3279 3279 gsm_tty_driver->major, gsm_tty_driver->minor_start); 3280 3280 return 0; 3281 3281 err_put_driver: 3282 - put_tty_driver(gsm_tty_driver); 3282 + tty_driver_kref_put(gsm_tty_driver); 3283 3283 err_unreg_ldisc: 3284 3284 tty_unregister_ldisc(&tty_ldisc_packet); 3285 3285 return status; ··· 3289 3289 { 3290 3290 tty_unregister_ldisc(&tty_ldisc_packet); 3291 3291 tty_unregister_driver(gsm_tty_driver); 3292 - put_tty_driver(gsm_tty_driver); 3292 + tty_driver_kref_put(gsm_tty_driver); 3293 3293 } 3294 3294 3295 3295 module_init(gsm_init);
+2 -2
drivers/tty/nozomi.c
··· 1857 1857 unr_tty: 1858 1858 tty_unregister_driver(ntty_driver); 1859 1859 free_tty: 1860 - put_tty_driver(ntty_driver); 1860 + tty_driver_kref_put(ntty_driver); 1861 1861 return ret; 1862 1862 } 1863 1863 ··· 1865 1865 { 1866 1866 pci_unregister_driver(&nozomi_driver); 1867 1867 tty_unregister_driver(ntty_driver); 1868 - put_tty_driver(ntty_driver); 1868 + tty_driver_kref_put(ntty_driver); 1869 1869 } 1870 1870 1871 1871 module_init(nozomi_init);
+2 -2
drivers/tty/serial/kgdb_nmi.c
··· 355 355 356 356 return 0; 357 357 err_drv_reg: 358 - put_tty_driver(kgdb_nmi_tty_driver); 358 + tty_driver_kref_put(kgdb_nmi_tty_driver); 359 359 return ret; 360 360 } 361 361 EXPORT_SYMBOL_GPL(kgdb_register_nmi_console); ··· 373 373 return ret; 374 374 375 375 tty_unregister_driver(kgdb_nmi_tty_driver); 376 - put_tty_driver(kgdb_nmi_tty_driver); 376 + tty_driver_kref_put(kgdb_nmi_tty_driver); 377 377 378 378 return 0; 379 379 }
+2 -2
drivers/tty/serial/serial_core.c
··· 2568 2568 2569 2569 for (i = 0; i < drv->nr; i++) 2570 2570 tty_port_destroy(&drv->state[i].port); 2571 - put_tty_driver(normal); 2571 + tty_driver_kref_put(normal); 2572 2572 out_kfree: 2573 2573 kfree(drv->state); 2574 2574 out: ··· 2590 2590 unsigned int i; 2591 2591 2592 2592 tty_unregister_driver(p); 2593 - put_tty_driver(p); 2593 + tty_driver_kref_put(p); 2594 2594 for (i = 0; i < drv->nr; i++) 2595 2595 tty_port_destroy(&drv->state[i].port); 2596 2596 kfree(drv->state);
-6
drivers/tty/tty_io.c
··· 3438 3438 } 3439 3439 EXPORT_SYMBOL(tty_driver_kref_put); 3440 3440 3441 - void put_tty_driver(struct tty_driver *d) 3442 - { 3443 - tty_driver_kref_put(d); 3444 - } 3445 - EXPORT_SYMBOL(put_tty_driver); 3446 - 3447 3441 /* 3448 3442 * Called by a tty driver to register itself. 3449 3443 */
+2 -2
drivers/tty/ttynull.c
··· 84 84 85 85 ret = tty_register_driver(driver); 86 86 if (ret < 0) { 87 - put_tty_driver(driver); 87 + tty_driver_kref_put(driver); 88 88 tty_port_destroy(&ttynull_port); 89 89 return ret; 90 90 } ··· 99 99 { 100 100 unregister_console(&ttynull_console); 101 101 tty_unregister_driver(ttynull_driver); 102 - put_tty_driver(ttynull_driver); 102 + tty_driver_kref_put(ttynull_driver); 103 103 tty_port_destroy(&ttynull_port); 104 104 } 105 105
+2 -2
drivers/tty/vcc.c
··· 1028 1028 rv = tty_register_driver(vcc_tty_driver); 1029 1029 if (rv) { 1030 1030 pr_err("VCC: TTY driver registration failed\n"); 1031 - put_tty_driver(vcc_tty_driver); 1031 + tty_driver_kref_put(vcc_tty_driver); 1032 1032 vcc_tty_driver = NULL; 1033 1033 return rv; 1034 1034 } ··· 1041 1041 static void vcc_tty_exit(void) 1042 1042 { 1043 1043 tty_unregister_driver(vcc_tty_driver); 1044 - put_tty_driver(vcc_tty_driver); 1044 + tty_driver_kref_put(vcc_tty_driver); 1045 1045 vccdbg("VCC: TTY driver unregistered\n"); 1046 1046 1047 1047 vcc_tty_driver = NULL;
+3 -3
drivers/usb/class/cdc-acm.c
··· 2044 2044 2045 2045 retval = tty_register_driver(acm_tty_driver); 2046 2046 if (retval) { 2047 - put_tty_driver(acm_tty_driver); 2047 + tty_driver_kref_put(acm_tty_driver); 2048 2048 return retval; 2049 2049 } 2050 2050 2051 2051 retval = usb_register(&acm_driver); 2052 2052 if (retval) { 2053 2053 tty_unregister_driver(acm_tty_driver); 2054 - put_tty_driver(acm_tty_driver); 2054 + tty_driver_kref_put(acm_tty_driver); 2055 2055 return retval; 2056 2056 } 2057 2057 ··· 2064 2064 { 2065 2065 usb_deregister(&acm_driver); 2066 2066 tty_unregister_driver(acm_tty_driver); 2067 - put_tty_driver(acm_tty_driver); 2067 + tty_driver_kref_put(acm_tty_driver); 2068 2068 idr_destroy(&acm_minors); 2069 2069 } 2070 2070
+2 -2
drivers/usb/gadget/function/u_serial.c
··· 1491 1491 1492 1492 return status; 1493 1493 fail: 1494 - put_tty_driver(driver); 1494 + tty_driver_kref_put(driver); 1495 1495 return status; 1496 1496 } 1497 1497 module_init(userial_init); ··· 1499 1499 static void userial_cleanup(void) 1500 1500 { 1501 1501 tty_unregister_driver(gs_tty_driver); 1502 - put_tty_driver(gs_tty_driver); 1502 + tty_driver_kref_put(gs_tty_driver); 1503 1503 gs_tty_driver = NULL; 1504 1504 } 1505 1505 module_exit(userial_cleanup);
+2 -2
drivers/usb/host/xhci-dbgtty.c
··· 541 541 ret = tty_register_driver(dbc_tty_driver); 542 542 if (ret) { 543 543 pr_err("Can't register dbc tty driver\n"); 544 - put_tty_driver(dbc_tty_driver); 544 + tty_driver_kref_put(dbc_tty_driver); 545 545 } 546 546 return ret; 547 547 } ··· 550 550 { 551 551 if (dbc_tty_driver) { 552 552 tty_unregister_driver(dbc_tty_driver); 553 - put_tty_driver(dbc_tty_driver); 553 + tty_driver_kref_put(dbc_tty_driver); 554 554 dbc_tty_driver = NULL; 555 555 } 556 556 }
+2 -2
drivers/usb/serial/usb-serial.c
··· 1366 1366 1367 1367 exit_bus: 1368 1368 pr_err("%s - returning with error %d\n", __func__, result); 1369 - put_tty_driver(usb_serial_tty_driver); 1369 + tty_driver_kref_put(usb_serial_tty_driver); 1370 1370 return result; 1371 1371 } 1372 1372 ··· 1378 1378 usb_serial_generic_deregister(); 1379 1379 1380 1380 tty_unregister_driver(usb_serial_tty_driver); 1381 - put_tty_driver(usb_serial_tty_driver); 1381 + tty_driver_kref_put(usb_serial_tty_driver); 1382 1382 bus_unregister(&usb_serial_bus_type); 1383 1383 idr_destroy(&serial_minors); 1384 1384 }
-1
include/linux/tty_driver.h
··· 329 329 330 330 extern struct tty_driver *__tty_alloc_driver(unsigned int lines, 331 331 struct module *owner, unsigned long flags); 332 - extern void put_tty_driver(struct tty_driver *driver); 333 332 extern struct tty_driver *tty_find_polling_driver(char *name, int *line); 334 333 335 334 extern void tty_driver_kref_put(struct tty_driver *driver);
+2 -2
net/bluetooth/rfcomm/tty.c
··· 1146 1146 error = tty_register_driver(rfcomm_tty_driver); 1147 1147 if (error) { 1148 1148 BT_ERR("Can't register RFCOMM TTY driver"); 1149 - put_tty_driver(rfcomm_tty_driver); 1149 + tty_driver_kref_put(rfcomm_tty_driver); 1150 1150 return error; 1151 1151 } 1152 1152 ··· 1158 1158 void rfcomm_cleanup_ttys(void) 1159 1159 { 1160 1160 tty_unregister_driver(rfcomm_tty_driver); 1161 - put_tty_driver(rfcomm_tty_driver); 1161 + tty_driver_kref_put(rfcomm_tty_driver); 1162 1162 }