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

tty: serial: Fix bit order in RS485 flag definitions

Since the commit 93f3350c46fa ("RS485: fix inconsistencies in the
meaning of some variables"), the definition for bit 3 has been removed.
But with the switch to bit shift macros in commit 76ac8e29855b ("tty:
serial: Cleanup the bit shift with macro"), this gap wasn't preserved.
To avoid a break in user/kernel api of the system skip bit 3 again and
add a placeholder comment.

Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
Fixes: 76ac8e29855b ("tty: serial: Cleanup the bit shift with macro")
Fixes: 6056f20f27e9 ("tty: serial: Add RS422 flag to struct serial_rs485")
Reviewed-by: Jiri Slaby <jirislaby@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Crescent CY Hsieh <crescentcy.hsieh@moxa.com>
Cc: Jiri Slaby <jirislaby@kernel.org>
Cc: Lukas Wunner <lukas@wunner.de>
Cc: Lino Sanfilippo <l.sanfilippo@kunbus.com>
Cc: Hugo Villeneuve <hugo@hugovil.com>
Link: https://lore.kernel.org/r/20240119113516.2944-1-cniedermaier@dh-electronics.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Christoph Niedermaier and committed by
Greg Kroah-Hartman
e15c99be 6613476e

+7 -6
+7 -6
include/uapi/linux/serial.h
··· 145 145 #define SER_RS485_ENABLED _BITUL(0) 146 146 #define SER_RS485_RTS_ON_SEND _BITUL(1) 147 147 #define SER_RS485_RTS_AFTER_SEND _BITUL(2) 148 - #define SER_RS485_RX_DURING_TX _BITUL(3) 149 - #define SER_RS485_TERMINATE_BUS _BITUL(4) 150 - #define SER_RS485_ADDRB _BITUL(5) 151 - #define SER_RS485_ADDR_RECV _BITUL(6) 152 - #define SER_RS485_ADDR_DEST _BITUL(7) 153 - #define SER_RS485_MODE_RS422 _BITUL(8) 148 + /* Placeholder for bit 3: SER_RS485_RTS_BEFORE_SEND, which isn't used anymore */ 149 + #define SER_RS485_RX_DURING_TX _BITUL(4) 150 + #define SER_RS485_TERMINATE_BUS _BITUL(5) 151 + #define SER_RS485_ADDRB _BITUL(6) 152 + #define SER_RS485_ADDR_RECV _BITUL(7) 153 + #define SER_RS485_ADDR_DEST _BITUL(8) 154 + #define SER_RS485_MODE_RS422 _BITUL(9) 154 155 155 156 __u32 delay_rts_before_send; 156 157 __u32 delay_rts_after_send;