TTY: use tty_port_register_device
Currently we have no way to assign tty->port while performing tty installation. There are two ways to provide the link tty_struct => tty_port. Either by calling tty_port_install from tty->ops->install or tty_port_register_device called instead of tty_register_device when the device is being set up after connected. In this patch we modify most of the drivers to do the latter. When the drivers use tty_register_device and we have tty_port already, we switch to tty_port_register_device. So we have the tty_struct => tty_port link for free for those. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

父節點
7e73eca6a7
當前提交
734cc17838
@@ -2287,9 +2287,11 @@ static int hso_serial_common_create(struct hso_serial *serial, int num_urbs,
|
||||
if (minor < 0)
|
||||
goto exit;
|
||||
|
||||
tty_port_init(&serial->port);
|
||||
|
||||
/* register our minor number */
|
||||
serial->parent->dev = tty_register_device(tty_drv, minor,
|
||||
&serial->parent->interface->dev);
|
||||
serial->parent->dev = tty_port_register_device(&serial->port, tty_drv,
|
||||
minor, &serial->parent->interface->dev);
|
||||
dev = serial->parent->dev;
|
||||
dev_set_drvdata(dev, serial->parent);
|
||||
i = device_create_file(dev, &dev_attr_hsotype);
|
||||
@@ -2298,7 +2300,6 @@ static int hso_serial_common_create(struct hso_serial *serial, int num_urbs,
|
||||
serial->minor = minor;
|
||||
serial->magic = HSO_SERIAL_MAGIC;
|
||||
spin_lock_init(&serial->serial_lock);
|
||||
tty_port_init(&serial->port);
|
||||
serial->num_rx_urbs = num_urbs;
|
||||
|
||||
/* RX, allocate urb and initialize */
|
||||
|
Reference in New Issue
Block a user