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

pl2303: switch to ->get_serial()

Reviewed-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Al Viro 9326ec59 30296aa4

+8 -21
+8 -21
drivers/usb/serial/pl2303.c
··· 808 808 return 0; 809 809 } 810 810 811 - static int pl2303_ioctl(struct tty_struct *tty, 812 - unsigned int cmd, unsigned long arg) 811 + static int pl2303_get_serial(struct tty_struct *tty, 812 + struct serial_struct *ss) 813 813 { 814 - struct serial_struct ser; 815 814 struct usb_serial_port *port = tty->driver_data; 816 815 817 - switch (cmd) { 818 - case TIOCGSERIAL: 819 - memset(&ser, 0, sizeof ser); 820 - ser.type = PORT_16654; 821 - ser.line = port->minor; 822 - ser.port = port->port_number; 823 - ser.baud_base = 460800; 824 - 825 - if (copy_to_user((void __user *)arg, &ser, sizeof ser)) 826 - return -EFAULT; 827 - 828 - return 0; 829 - default: 830 - break; 831 - } 832 - 833 - return -ENOIOCTLCMD; 816 + ss->type = PORT_16654; 817 + ss->line = port->minor; 818 + ss->port = port->port_number; 819 + ss->baud_base = 460800; 820 + return 0; 834 821 } 835 822 836 823 static void pl2303_set_break(struct usb_serial_port *port, bool enable) ··· 1003 1016 .close = pl2303_close, 1004 1017 .dtr_rts = pl2303_dtr_rts, 1005 1018 .carrier_raised = pl2303_carrier_raised, 1006 - .ioctl = pl2303_ioctl, 1019 + .get_serial = pl2303_get_serial, 1007 1020 .break_ctl = pl2303_break_ctl, 1008 1021 .set_termios = pl2303_set_termios, 1009 1022 .tiocmget = pl2303_tiocmget,