Pull tty/serial driver updates from Greg KH: "Here is the "big" set of tty/serial driver changes for 6.2-rc1. As in previous kernel releases, nothing big here at all, just some small incremental serial/tty layer cleanups and some individual driver additions and fixes. Highlights are: - serial helper macros from Jiri Slaby to reduce the amount of duplicated code in serial drivers - api cleanups and consolidations from Ilpo Järvinen in lots of serial drivers - the usual set of n_gsm fixes from Daniel Starke as that code gets exercised more - TIOCSTI is finally able to be disabled if requested (security hardening feature from Kees Cook) - fsl_lpuart driver fixes and features added - other small serial driver additions and fixes All of these have been in linux-next for a while with no reported problems" * tag 'tty-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (97 commits) serial: atmel: don't stop the transmitter when doing PIO serial: atmel: cleanup atmel_start+stop_tx() tty: serial: fsl_lpuart: switch to new dmaengine_terminate_* API serial: sunsab: Fix error handling in sunsab_init() serial: altera_uart: fix locking in polling mode serial: pch: Fix PCI device refcount leak in pch_request_dma() tty: serial: fsl_lpuart: Use pm_ptr() to avoid need to make pm __maybe_unused tty: serial: fsl_lpuart: Add runtime pm support tty: serial: fsl_lpuart: enable wakeup source for lpuart serdev: Replace poll loop by readx_poll_timeout() macro tty: synclink_gt: unwind actions in error path of net device open serial: stm32: move dma_request_chan() before clk_prepare_enable() dt-bindings: serial: xlnx,opb-uartlite: Drop 'contains' from 'xlnx,use-parity' serial: pl011: Do not clear RX FIFO & RX interrupt in unthrottle. serial: amba-pl011: avoid SBSA UART accessing DMACR register tty: serial: altera_jtaguart: remove struct altera_jtaguart tty: serial: altera_jtaguart: use uart_port::read_status_mask tty: serial: altera_jtaguart: remove unused altera_jtaguart::sigs tty: serial: altera_jtaguart: remove flag from altera_jtaguart_rx_chars() n_tty: Rename tail to old_tail in n_tty_read() ...
Showing the changes to include/uapi/linux (1 of 92 files). Show all
Unified · Split
| @@ -107,33 +107,50 @@ struct serial_icounter_struct { · 106 unmodified lines | ||
| 107 | 107 | int reserved[9]; |
| 108 | 108 | }; |
| 109 | 109 | |
| 110 | −/* | |
| 110 | +/** | |
| 111 | + * struct serial_rs485 - serial interface for controlling RS485 settings. | |
| 112 | + * @flags: RS485 feature flags. | |
| 113 | + * @delay_rts_before_send: Delay before send (milliseconds). | |
| 114 | + * @delay_rts_after_send: Delay after send (milliseconds). | |
| 115 | + * @addr_recv: Receive filter for RS485 addressing mode | |
| 116 | + * (used only when %SER_RS485_ADDR_RECV is set). | |
| 117 | + * @addr_dest: Destination address for RS485 addressing mode | |
| 118 | + * (used only when %SER_RS485_ADDR_DEST is set). | |
| 119 | + * @padding0: Padding (set to zero). | |
| 120 | + * @padding1: Padding (set to zero). | |
| 121 | + * @padding: Deprecated, use @padding0 and @padding1 instead. | |
| 122 | + * Do not use with @addr_recv and @addr_dest (due to | |
| 123 | + * overlap). | |
| 124 | + * | |
| 111 | 125 | * Serial interface for controlling RS485 settings on chips with suitable |
| 112 | 126 | * support. Set with TIOCSRS485 and get with TIOCGRS485 if supported by your |
| 113 | 127 | * platform. The set function returns the new state, with any unsupported bits |
| 114 | 128 | * reverted appropriately. |
| 129 | + * | |
| 130 | + * The flag bits are: | |
| 131 | + * | |
| 132 | + * * %SER_RS485_ENABLED - RS485 enabled. | |
| 133 | + * * %SER_RS485_RTS_ON_SEND - Logical level for RTS pin when sending. | |
| 134 | + * * %SER_RS485_RTS_AFTER_SEND - Logical level for RTS pin after sent. | |
| 135 | + * * %SER_RS485_RX_DURING_TX - Full-duplex RS485 line. | |
| 136 | + * * %SER_RS485_TERMINATE_BUS - Enable bus termination (if supported). | |
| 137 | + * * %SER_RS485_ADDRB - Enable RS485 addressing mode. | |
| 138 | + * * %SER_RS485_ADDR_RECV - Receive address filter (enables @addr_recv). Requires %SER_RS485_ADDRB. | |
| 139 | + * * %SER_RS485_ADDR_DEST - Destination address (enables @addr_dest). Requires %SER_RS485_ADDRB. | |
| 115 | 140 | */ |
| 116 | − | |
| 117 | 141 | struct serial_rs485 { |
| 118 | − __u32 flags; /* RS485 feature flags */ | |
| 119 | −#define SER_RS485_ENABLED (1 << 0) /* If enabled */ | |
| 120 | −#define SER_RS485_RTS_ON_SEND (1 << 1) /* Logical level for | |
| 121 | − RTS pin when | |
| 122 | − sending */ | |
| 123 | −#define SER_RS485_RTS_AFTER_SEND (1 << 2) /* Logical level for | |
| 124 | − RTS pin after sent*/ | |
| 142 | + __u32 flags; | |
| 143 | +#define SER_RS485_ENABLED (1 << 0) | |
| 144 | +#define SER_RS485_RTS_ON_SEND (1 << 1) | |
| 145 | +#define SER_RS485_RTS_AFTER_SEND (1 << 2) | |
| 125 | 146 | #define SER_RS485_RX_DURING_TX (1 << 4) |
| 126 | −#define SER_RS485_TERMINATE_BUS (1 << 5) /* Enable bus | |
| 127 | − termination | |
| 128 | − (if supported) */ | |
| 129 | − | |
| 130 | −/* RS-485 addressing mode */ | |
| 131 | −#define SER_RS485_ADDRB (1 << 6) /* Enable addressing mode */ | |
| 132 | −#define SER_RS485_ADDR_RECV (1 << 7) /* Receive address filter */ | |
| 133 | −#define SER_RS485_ADDR_DEST (1 << 8) /* Destination address */ | |
| 147 | +#define SER_RS485_TERMINATE_BUS (1 << 5) | |
| 148 | +#define SER_RS485_ADDRB (1 << 6) | |
| 149 | +#define SER_RS485_ADDR_RECV (1 << 7) | |
| 150 | +#define SER_RS485_ADDR_DEST (1 << 8) | |
| 134 | 151 | |
| 135 | − __u32 delay_rts_before_send; /* Delay before send (milliseconds) */ | |
| 136 | − __u32 delay_rts_after_send; /* Delay after send (milliseconds) */ | |
| 152 | + __u32 delay_rts_before_send; | |
| 153 | + __u32 delay_rts_after_send; | |
| 137 | 154 | |
| 138 | 155 | /* The fields below are defined by flags */ |
| 139 | 156 | union { |