tty: Remove baudrate dead code & make ktermios params const
With the architectures currently in-tree, either: 1) CBAUDEX is zero 2) The earlier BOTHER if check covers cbaud < 1 case 3) All CBAUD bits are covered by the baud_table Thus, the check for cbaud being out-of-range for CBAUDEX case cannot ever be true. The ktermios parameters can now be made const. Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Link: https://lore.kernel.org/r/20220816115739.10928-2-ilpo.jarvinen@linux.intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
eb9e109d01
commit
87888fb9ac
@ -73,7 +73,7 @@ void tty_buffer_set_lock_subclass(struct tty_port *port);
|
|||||||
bool tty_buffer_restart_work(struct tty_port *port);
|
bool tty_buffer_restart_work(struct tty_port *port);
|
||||||
bool tty_buffer_cancel_work(struct tty_port *port);
|
bool tty_buffer_cancel_work(struct tty_port *port);
|
||||||
void tty_buffer_flush_work(struct tty_port *port);
|
void tty_buffer_flush_work(struct tty_port *port);
|
||||||
speed_t tty_termios_input_baud_rate(struct ktermios *termios);
|
speed_t tty_termios_input_baud_rate(const struct ktermios *termios);
|
||||||
void tty_ldisc_hangup(struct tty_struct *tty, bool reset);
|
void tty_ldisc_hangup(struct tty_struct *tty, bool reset);
|
||||||
int tty_ldisc_reinit(struct tty_struct *tty, int disc);
|
int tty_ldisc_reinit(struct tty_struct *tty, int disc);
|
||||||
long tty_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
|
long tty_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
|
||||||
|
@ -49,13 +49,13 @@ static int n_baud_table = ARRAY_SIZE(baud_table);
|
|||||||
*
|
*
|
||||||
* Convert termios baud rate data into a speed. This should be called
|
* Convert termios baud rate data into a speed. This should be called
|
||||||
* with the termios lock held if this termios is a terminal termios
|
* with the termios lock held if this termios is a terminal termios
|
||||||
* structure. May change the termios data. Device drivers can call this
|
* structure. Device drivers can call this function but should use
|
||||||
* function but should use ->c_[io]speed directly as they are updated.
|
* ->c_[io]speed directly as they are updated.
|
||||||
*
|
*
|
||||||
* Locking: none
|
* Locking: none
|
||||||
*/
|
*/
|
||||||
|
|
||||||
speed_t tty_termios_baud_rate(struct ktermios *termios)
|
speed_t tty_termios_baud_rate(const struct ktermios *termios)
|
||||||
{
|
{
|
||||||
unsigned int cbaud;
|
unsigned int cbaud;
|
||||||
|
|
||||||
@ -67,10 +67,6 @@ speed_t tty_termios_baud_rate(struct ktermios *termios)
|
|||||||
|
|
||||||
if (cbaud & CBAUDEX) {
|
if (cbaud & CBAUDEX) {
|
||||||
cbaud &= ~CBAUDEX;
|
cbaud &= ~CBAUDEX;
|
||||||
|
|
||||||
if (cbaud < 1 || cbaud + 15 > n_baud_table)
|
|
||||||
termios->c_cflag &= ~CBAUDEX;
|
|
||||||
else
|
|
||||||
cbaud += 15;
|
cbaud += 15;
|
||||||
}
|
}
|
||||||
return cbaud >= n_baud_table ? 0 : baud_table[cbaud];
|
return cbaud >= n_baud_table ? 0 : baud_table[cbaud];
|
||||||
@ -83,13 +79,13 @@ EXPORT_SYMBOL(tty_termios_baud_rate);
|
|||||||
*
|
*
|
||||||
* Convert termios baud rate data into a speed. This should be called
|
* Convert termios baud rate data into a speed. This should be called
|
||||||
* with the termios lock held if this termios is a terminal termios
|
* with the termios lock held if this termios is a terminal termios
|
||||||
* structure. May change the termios data. Device drivers can call this
|
* structure. Device drivers can call this function but should use
|
||||||
* function but should use ->c_[io]speed directly as they are updated.
|
* ->c_[io]speed directly as they are updated.
|
||||||
*
|
*
|
||||||
* Locking: none
|
* Locking: none
|
||||||
*/
|
*/
|
||||||
|
|
||||||
speed_t tty_termios_input_baud_rate(struct ktermios *termios)
|
speed_t tty_termios_input_baud_rate(const struct ktermios *termios)
|
||||||
{
|
{
|
||||||
unsigned int cbaud = (termios->c_cflag >> IBSHIFT) & CBAUD;
|
unsigned int cbaud = (termios->c_cflag >> IBSHIFT) & CBAUD;
|
||||||
|
|
||||||
@ -102,10 +98,6 @@ speed_t tty_termios_input_baud_rate(struct ktermios *termios)
|
|||||||
|
|
||||||
if (cbaud & CBAUDEX) {
|
if (cbaud & CBAUDEX) {
|
||||||
cbaud &= ~CBAUDEX;
|
cbaud &= ~CBAUDEX;
|
||||||
|
|
||||||
if (cbaud < 1 || cbaud + 15 > n_baud_table)
|
|
||||||
termios->c_cflag &= ~(CBAUDEX << IBSHIFT);
|
|
||||||
else
|
|
||||||
cbaud += 15;
|
cbaud += 15;
|
||||||
}
|
}
|
||||||
return cbaud >= n_baud_table ? 0 : baud_table[cbaud];
|
return cbaud >= n_baud_table ? 0 : baud_table[cbaud];
|
||||||
|
@ -434,7 +434,7 @@ int tty_hung_up_p(struct file *filp);
|
|||||||
void do_SAK(struct tty_struct *tty);
|
void do_SAK(struct tty_struct *tty);
|
||||||
void __do_SAK(struct tty_struct *tty);
|
void __do_SAK(struct tty_struct *tty);
|
||||||
void no_tty(void);
|
void no_tty(void);
|
||||||
speed_t tty_termios_baud_rate(struct ktermios *termios);
|
speed_t tty_termios_baud_rate(const struct ktermios *termios);
|
||||||
void tty_termios_encode_baud_rate(struct ktermios *termios, speed_t ibaud,
|
void tty_termios_encode_baud_rate(struct ktermios *termios, speed_t ibaud,
|
||||||
speed_t obaud);
|
speed_t obaud);
|
||||||
void tty_encode_baud_rate(struct tty_struct *tty, speed_t ibaud,
|
void tty_encode_baud_rate(struct tty_struct *tty, speed_t ibaud,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user