aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/pcmcia
diff options
context:
space:
mode:
authorJoe Perches <joe@perches.com>2013-01-27 21:21:00 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-30 00:09:58 -0500
commit9fe8074b82ed14358be50c62ab9d081bcb911607 (patch)
tree53dd1345c50b76426747536bb681489f59aaa93f /drivers/char/pcmcia
parentabd7bacae672298ec99ce6cfdc75ae1e1f9159b6 (diff)
TTY: synclink: Convert + to | for bit operations
Dan Carpenter noticed a missing set of parentheses around a multiple field addition. https://lkml.org/lkml/2013/1/27/166 His original commit message: There is a kind of precedence problem here, but it doesn't affect how the code works because ->serial_signals is unsigned char. We want to clear two flags here. #define SerialSignal_RTS 0x20 /* Request to Send */ #define SerialSignal_DTR 0x80 /* Data Terminal Ready */ Without the parenthesis then it does: info->serial_signals &= 0x5f; With the parenthesis it does: info->serial_signals &= 0xffffff5f; info->serial_signals is an unsigned char so the two statements are equivalent, but it's cleaner to add the parenthesis. In other dtr_rts() functions the parenthesis are there so this makes it more consistent. Other changes: Convert all + uses to | for these bit operations. Reorder the multiple fields for consistency. Update the comments too. Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/char/pcmcia')
-rw-r--r--drivers/char/pcmcia/synclink_cs.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/drivers/char/pcmcia/synclink_cs.c b/drivers/char/pcmcia/synclink_cs.c
index 34e52ed0ea8c..d0c9852ab875 100644
--- a/drivers/char/pcmcia/synclink_cs.c
+++ b/drivers/char/pcmcia/synclink_cs.c
@@ -1343,7 +1343,7 @@ static void shutdown(MGSLPC_INFO * info, struct tty_struct *tty)
1343 reset_device(info); 1343 reset_device(info);
1344 1344
1345 if (!tty || tty->termios.c_cflag & HUPCL) { 1345 if (!tty || tty->termios.c_cflag & HUPCL) {
1346 info->serial_signals &= ~(SerialSignal_DTR + SerialSignal_RTS); 1346 info->serial_signals &= ~(SerialSignal_RTS | SerialSignal_DTR);
1347 set_signals(info); 1347 set_signals(info);
1348 } 1348 }
1349 1349
@@ -1405,12 +1405,12 @@ static void mgslpc_change_params(MGSLPC_INFO *info, struct tty_struct *tty)
1405 1405
1406 cflag = tty->termios.c_cflag; 1406 cflag = tty->termios.c_cflag;
1407 1407
1408 /* if B0 rate (hangup) specified then negate DTR and RTS */ 1408 /* if B0 rate (hangup) specified then negate RTS and DTR */
1409 /* otherwise assert DTR and RTS */ 1409 /* otherwise assert RTS and DTR */
1410 if (cflag & CBAUD) 1410 if (cflag & CBAUD)
1411 info->serial_signals |= SerialSignal_RTS + SerialSignal_DTR; 1411 info->serial_signals |= SerialSignal_RTS | SerialSignal_DTR;
1412 else 1412 else
1413 info->serial_signals &= ~(SerialSignal_RTS + SerialSignal_DTR); 1413 info->serial_signals &= ~(SerialSignal_RTS | SerialSignal_DTR);
1414 1414
1415 /* byte size and parity */ 1415 /* byte size and parity */
1416 1416
@@ -2301,7 +2301,7 @@ static void mgslpc_set_termios(struct tty_struct *tty, struct ktermios *old_term
2301 /* Handle transition to B0 status */ 2301 /* Handle transition to B0 status */
2302 if (old_termios->c_cflag & CBAUD && 2302 if (old_termios->c_cflag & CBAUD &&
2303 !(tty->termios.c_cflag & CBAUD)) { 2303 !(tty->termios.c_cflag & CBAUD)) {
2304 info->serial_signals &= ~(SerialSignal_RTS + SerialSignal_DTR); 2304 info->serial_signals &= ~(SerialSignal_RTS | SerialSignal_DTR);
2305 spin_lock_irqsave(&info->lock,flags); 2305 spin_lock_irqsave(&info->lock,flags);
2306 set_signals(info); 2306 set_signals(info);
2307 spin_unlock_irqrestore(&info->lock,flags); 2307 spin_unlock_irqrestore(&info->lock,flags);
@@ -2464,9 +2464,9 @@ static void dtr_rts(struct tty_port *port, int onoff)
2464 2464
2465 spin_lock_irqsave(&info->lock,flags); 2465 spin_lock_irqsave(&info->lock,flags);
2466 if (onoff) 2466 if (onoff)
2467 info->serial_signals |= SerialSignal_RTS + SerialSignal_DTR; 2467 info->serial_signals |= SerialSignal_RTS | SerialSignal_DTR;
2468 else 2468 else
2469 info->serial_signals &= ~SerialSignal_RTS + SerialSignal_DTR; 2469 info->serial_signals &= ~(SerialSignal_RTS | SerialSignal_DTR);
2470 set_signals(info); 2470 set_signals(info);
2471 spin_unlock_irqrestore(&info->lock,flags); 2471 spin_unlock_irqrestore(&info->lock,flags);
2472} 2472}
@@ -3575,8 +3575,8 @@ static void get_signals(MGSLPC_INFO *info)
3575{ 3575{
3576 unsigned char status = 0; 3576 unsigned char status = 0;
3577 3577
3578 /* preserve DTR and RTS */ 3578 /* preserve RTS and DTR */
3579 info->serial_signals &= SerialSignal_DTR + SerialSignal_RTS; 3579 info->serial_signals &= SerialSignal_RTS | SerialSignal_DTR;
3580 3580
3581 if (read_reg(info, CHB + VSTR) & BIT7) 3581 if (read_reg(info, CHB + VSTR) & BIT7)
3582 info->serial_signals |= SerialSignal_DCD; 3582 info->serial_signals |= SerialSignal_DCD;
@@ -3590,7 +3590,7 @@ static void get_signals(MGSLPC_INFO *info)
3590 info->serial_signals |= SerialSignal_DSR; 3590 info->serial_signals |= SerialSignal_DSR;
3591} 3591}
3592 3592
3593/* Set the state of DTR and RTS based on contents of 3593/* Set the state of RTS and DTR based on contents of
3594 * serial_signals member of device extension. 3594 * serial_signals member of device extension.
3595 */ 3595 */
3596static void set_signals(MGSLPC_INFO *info) 3596static void set_signals(MGSLPC_INFO *info)
@@ -4009,8 +4009,8 @@ static int hdlcdev_open(struct net_device *dev)
4009 spin_unlock_irqrestore(&info->netlock, flags); 4009 spin_unlock_irqrestore(&info->netlock, flags);
4010 return rc; 4010 return rc;
4011 } 4011 }
4012 /* assert DTR and RTS, apply hardware settings */ 4012 /* assert RTS and DTR, apply hardware settings */
4013 info->serial_signals |= SerialSignal_RTS + SerialSignal_DTR; 4013 info->serial_signals |= SerialSignal_RTS | SerialSignal_DTR;
4014 mgslpc_program_hw(info, tty); 4014 mgslpc_program_hw(info, tty);
4015 tty_kref_put(tty); 4015 tty_kref_put(tty);
4016 4016