Pull tty/serial driver updates from Greg KH: "Here is the big set of tty and serial driver changes for 6.6-rc1. Lots of cleanups in here this cycle, and some driver updates. Short summary is: - Jiri's continued work to make the tty code and apis be a bit more sane with regards to modern kernel coding style and types - cpm_uart driver updates - n_gsm updates and fixes - meson driver updates - sc16is7xx driver updates - 8250 driver updates for different hardware types - qcom-geni driver fixes - tegra serial driver change - stm32 driver updates - synclink_gt driver cleanups - tty structure size reduction All of these have been in linux-next this week with no reported issues. The last bit of cleanups from Jiri and the tty structure size reduction came in last week, a bit late but as they were just style changes and size reductions, I figured they should get into this merge cycle so that others can work on top of them with no merge conflicts" * tag 'tty-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (199 commits) tty: shrink the size of struct tty_struct by 40 bytes tty: n_tty: deduplicate copy code in n_tty_receive_buf_real_raw() tty: n_tty: extract ECHO_OP processing to a separate function tty: n_tty: unify counts to size_t tty: n_tty: use u8 for chars and flags tty: n_tty: simplify chars_in_buffer() tty: n_tty: remove unsigned char casts from character constants tty: n_tty: move newline handling to a separate function tty: n_tty: move canon handling to a separate function tty: n_tty: use MASK() for masking out size bits tty: n_tty: make n_tty_data::num_overrun unsigned tty: n_tty: use time_is_before_jiffies() in n_tty_receive_overrun() tty: n_tty: use 'num' for writes' counts tty: n_tty: use output character directly tty: n_tty: make flow of n_tty_receive_buf_common() a bool Revert "tty: serial: meson: Add a earlycon for the T7 SoC" Documentation: devices.txt: Fix minors for ttyCPM* Documentation: devices.txt: Remove ttySIOC* Documentation: devices.txt: Remove ttyIOC* serial: 8250_bcm7271: improve bcm7271 8250 port ...
Showing the changes to include/uapi/linux (2 of 185 files). Show all
Unified · Split
| @@ -2,10 +2,45 @@ · 1 unmodified line | |||
| 2 | #ifndef _LINUX_GSMMUX_H | 2 | #ifndef _LINUX_GSMMUX_H |
| 3 | #define _LINUX_GSMMUX_H | 3 | #define _LINUX_GSMMUX_H |
| 4 | 4 | ||
| 5 | #include <linux/const.h> | ||
| 5 | #include <linux/if.h> | 6 | #include <linux/if.h> |
| 6 | #include <linux/ioctl.h> | 7 | #include <linux/ioctl.h> |
| 7 | #include <linux/types.h> | 8 | #include <linux/types.h> |
| 8 | 9 | ||
| 10 | /* | ||
| 11 | * flags definition for n_gsm | ||
| 12 | * | ||
| 13 | * Used by: | ||
| 14 | * struct gsm_config_ext.flags | ||
| 15 | * struct gsm_dlci_config.flags | ||
| 16 | */ | ||
| 17 | /* Forces a DLCI reset if set. Otherwise, a DLCI reset is only done if | ||
| 18 | * incompatible settings were provided. Always cleared on retrieval. | ||
| 19 | */ | ||
| 20 | #define GSM_FL_RESTART _BITUL(0) | ||
| 21 | |||
| 22 | /** | ||
| 23 | * struct gsm_config - n_gsm basic configuration parameters | ||
| 24 | * | ||
| 25 | * This structure is used in combination with GSMIOC_GETCONF and GSMIOC_SETCONF | ||
| 26 | * to retrieve and set the basic parameters of an n_gsm ldisc. | ||
| 27 | * struct gsm_config_ext can be used to configure extended ldisc parameters. | ||
| 28 | * | ||
| 29 | * All timers are in units of 1/100th of a second. | ||
| 30 | * | ||
| 31 | * @adaption: Convergence layer type | ||
| 32 | * @encapsulation: Framing (0 = basic option, 1 = advanced option) | ||
| 33 | * @initiator: Initiator or responder | ||
| 34 | * @t1: Acknowledgment timer | ||
| 35 | * @t2: Response timer for multiplexer control channel | ||
| 36 | * @t3: Response timer for wake-up procedure | ||
| 37 | * @n2: Maximum number of retransmissions | ||
| 38 | * @mru: Maximum incoming frame payload size | ||
| 39 | * @mtu: Maximum outgoing frame payload size | ||
| 40 | * @k: Window size | ||
| 41 | * @i: Frame type (1 = UIH, 2 = UI) | ||
| 42 | * @unused: Can not be used | ||
| 43 | */ | ||
| 9 | struct gsm_config | 44 | struct gsm_config |
| 10 | { | 45 | { |
| 11 | unsigned int adaption; | 46 | unsigned int adaption; |
| @@ -19,18 +54,32 @@ struct gsm_config · 7 unmodified lines | |||
| 19 | unsigned int mtu; | 54 | unsigned int mtu; |
| 20 | unsigned int k; | 55 | unsigned int k; |
| 21 | unsigned int i; | 56 | unsigned int i; |
| 22 | unsigned int unused[8]; /* Can not be used */ | 57 | unsigned int unused[8]; |
| 23 | }; | 58 | }; |
| 24 | 59 | ||
| 25 | #define GSMIOC_GETCONF _IOR('G', 0, struct gsm_config) | 60 | #define GSMIOC_GETCONF _IOR('G', 0, struct gsm_config) |
| 26 | #define GSMIOC_SETCONF _IOW('G', 1, struct gsm_config) | 61 | #define GSMIOC_SETCONF _IOW('G', 1, struct gsm_config) |
| 27 | 62 | ||
| 63 | /** | ||
| 64 | * struct gsm_netconfig - n_gsm network configuration parameters | ||
| 65 | * | ||
| 66 | * This structure is used in combination with GSMIOC_ENABLE_NET and | ||
| 67 | * GSMIOC_DISABLE_NET to enable or disable a network data connection | ||
| 68 | * over a mux virtual tty channel. This is for modems that support | ||
| 69 | * data connections with raw IP frames instead of PPP. | ||
| 70 | * | ||
| 71 | * @adaption: Adaption to use in network mode. | ||
| 72 | * @protocol: Protocol to use - only ETH_P_IP supported. | ||
| 73 | * @unused2: Can not be used. | ||
| 74 | * @if_name: Interface name format string. | ||
| 75 | * @unused: Can not be used. | ||
| 76 | */ | ||
| 28 | struct gsm_netconfig { | 77 | struct gsm_netconfig { |
| 29 | unsigned int adaption; /* Adaption to use in network mode */ | 78 | unsigned int adaption; |
| 30 | unsigned short protocol;/* Protocol to use - only ETH_P_IP supported */ | 79 | unsigned short protocol; |
| 31 | unsigned short unused2; /* Can not be used */ | 80 | unsigned short unused2; |
| 32 | char if_name[IFNAMSIZ]; /* interface name format string */ | 81 | char if_name[IFNAMSIZ]; |
| 33 | __u8 unused[28]; /* Can not be used */ | 82 | __u8 unused[28]; |
| 34 | }; | 83 | }; |
| 35 | 84 | ||
| 36 | #define GSMIOC_ENABLE_NET _IOW('G', 2, struct gsm_netconfig) | 85 | #define GSMIOC_ENABLE_NET _IOW('G', 2, struct gsm_netconfig) |
| @@ -39,26 +88,57 @@ struct gsm_netconfig { · 2 unmodified lines | |||
| 39 | /* get the base tty number for a configured gsmmux tty */ | 88 | /* get the base tty number for a configured gsmmux tty */ |
| 40 | #define GSMIOC_GETFIRST _IOR('G', 4, __u32) | 89 | #define GSMIOC_GETFIRST _IOR('G', 4, __u32) |
| 41 | 90 | ||
| 91 | /** | ||
| 92 | * struct gsm_config_ext - n_gsm extended configuration parameters | ||
| 93 | * | ||
| 94 | * This structure is used in combination with GSMIOC_GETCONF_EXT and | ||
| 95 | * GSMIOC_SETCONF_EXT to retrieve and set the extended parameters of an | ||
| 96 | * n_gsm ldisc. | ||
| 97 | * | ||
| 98 | * All timers are in units of 1/100th of a second. | ||
| 99 | * | ||
| 100 | * @keep_alive: Control channel keep-alive in 1/100th of a second (0 to disable). | ||
| 101 | * @wait_config: Wait for DLCI config before opening virtual link? | ||
| 102 | * @flags: Mux specific flags. | ||
| 103 | * @reserved: For future use, must be initialized to zero. | ||
| 104 | */ | ||
| 42 | struct gsm_config_ext { | 105 | struct gsm_config_ext { |
| 43 | __u32 keep_alive; /* Control channel keep-alive in 1/100th of a | 106 | __u32 keep_alive; |
| 44 | * second (0 to disable) | 107 | __u32 wait_config; |
| 45 | */ | 108 | __u32 flags; |
| 46 | __u32 wait_config; /* Wait for DLCI config before opening virtual link? */ | 109 | __u32 reserved[5]; |
| 47 | __u32 reserved[6]; /* For future use, must be initialized to zero */ | ||
| 48 | }; | 110 | }; |
| 49 | 111 | ||
| 50 | #define GSMIOC_GETCONF_EXT _IOR('G', 5, struct gsm_config_ext) | 112 | #define GSMIOC_GETCONF_EXT _IOR('G', 5, struct gsm_config_ext) |
| 51 | #define GSMIOC_SETCONF_EXT _IOW('G', 6, struct gsm_config_ext) | 113 | #define GSMIOC_SETCONF_EXT _IOW('G', 6, struct gsm_config_ext) |
| 52 | 114 | ||
| 53 | /* Set channel accordingly before calling GSMIOC_GETCONF_DLCI. */ | 115 | /** |
| 116 | * struct gsm_dlci_config - n_gsm channel configuration parameters | ||
| 117 | * | ||
| 118 | * This structure is used in combination with GSMIOC_GETCONF_DLCI and | ||
| 119 | * GSMIOC_SETCONF_DLCI to retrieve and set the channel specific parameters | ||
| 120 | * of an n_gsm ldisc. | ||
| 121 | * | ||
| 122 | * Set the channel accordingly before calling GSMIOC_GETCONF_DLCI. | ||
| 123 | * | ||
| 124 | * @channel: DLCI (0 for the associated DLCI). | ||
| 125 | * @adaption: Convergence layer type. | ||
| 126 | * @mtu: Maximum transfer unit. | ||
| 127 | * @priority: Priority (0 for default value). | ||
| 128 | * @i: Frame type (1 = UIH, 2 = UI). | ||
| 129 | * @k: Window size (0 for default value). | ||
| 130 | * @flags: DLCI specific flags. | ||
| 131 | * @reserved: For future use, must be initialized to zero. | ||
| 132 | */ | ||
| 54 | struct gsm_dlci_config { | 133 | struct gsm_dlci_config { |
| 55 | __u32 channel; /* DLCI (0 for the associated DLCI) */ | 134 | __u32 channel; |
| 56 | __u32 adaption; /* Convergence layer type */ | 135 | __u32 adaption; |
| 57 | __u32 mtu; /* Maximum transfer unit */ | 136 | __u32 mtu; |
| 58 | __u32 priority; /* Priority (0 for default value) */ | 137 | __u32 priority; |
| 59 | __u32 i; /* Frame type (1 = UIH, 2 = UI) */ | 138 | __u32 i; |
| 60 | __u32 k; /* Window size (0 for default value) */ | 139 | __u32 k; |
| 61 | __u32 reserved[8]; /* For future use, must be initialized to zero */ | 140 | __u32 flags; |
| 141 | __u32 reserved[7]; | ||
| 62 | }; | 142 | }; |
| 63 | 143 | ||
| 64 | #define GSMIOC_GETCONF_DLCI _IOWR('G', 7, struct gsm_dlci_config) | 144 | #define GSMIOC_GETCONF_DLCI _IOWR('G', 7, struct gsm_dlci_config) |
| @@ -25,6 +25,8 @@ · 24 unmodified lines | |||
| 25 | 25 | ||
| 26 | /* | 26 | /* |
| 27 | * The type definitions. These are from Ted Ts'o's serial.h | 27 | * The type definitions. These are from Ted Ts'o's serial.h |
| 28 | * By historical reasons the values from 0 to 13 are defined | ||
| 29 | * in the include/uapi/linux/serial.h, do not define them here. | ||
| 28 | */ | 30 | */ |
| 29 | #define PORT_NS16550A 14 | 31 | #define PORT_NS16550A 14 |
| 30 | #define PORT_XSCALE 15 | 32 | #define PORT_XSCALE 15 |
| @@ -94,15 +96,9 @@ · 63 unmodified lines | |||
| 94 | #define PORT_SCIF 53 | 96 | #define PORT_SCIF 53 |
| 95 | #define PORT_IRDA 54 | 97 | #define PORT_IRDA 54 |
| 96 | 98 | ||
| 97 | /* Samsung S3C2410 SoC and derivatives thereof */ | ||
| 98 | #define PORT_S3C2410 55 | ||
| 99 | |||
| 100 | /* SGI IP22 aka Indy / Challenge S / Indigo 2 */ | 99 | /* SGI IP22 aka Indy / Challenge S / Indigo 2 */ |
| 101 | #define PORT_IP22ZILOG 56 | 100 | #define PORT_IP22ZILOG 56 |
| 102 | 101 | ||
| 103 | /* Sharp LH7a40x -- an ARM9 SoC series */ | ||
| 104 | #define PORT_LH7A40X 57 | ||
| 105 | |||
| 106 | /* PPC CPM type number */ | 102 | /* PPC CPM type number */ |
| 107 | #define PORT_CPM 58 | 103 | #define PORT_CPM 58 |
| 108 | 104 | ||
| @@ -112,37 +108,23 @@ · 3 unmodified lines | |||
| 112 | /* IBM icom */ | 108 | /* IBM icom */ |
| 113 | #define PORT_ICOM 60 | 109 | #define PORT_ICOM 60 |
| 114 | 110 | ||
| 115 | /* Samsung S3C2440 SoC */ | ||
| 116 | #define PORT_S3C2440 61 | ||
| 117 | |||
| 118 | /* Motorola i.MX SoC */ | 111 | /* Motorola i.MX SoC */ |
| 119 | #define PORT_IMX 62 | 112 | #define PORT_IMX 62 |
| 120 | 113 | ||
| 121 | /* Marvell MPSC (obsolete unused) */ | ||
| 122 | #define PORT_MPSC 63 | ||
| 123 | |||
| 124 | /* TXX9 type number */ | 114 | /* TXX9 type number */ |
| 125 | #define PORT_TXX9 64 | 115 | #define PORT_TXX9 64 |
| 126 | 116 | ||
| 127 | /* Samsung S3C2400 SoC */ | ||
| 128 | #define PORT_S3C2400 67 | ||
| 129 | |||
| 130 | /* M32R SIO */ | ||
| 131 | #define PORT_M32R_SIO 68 | ||
| 132 | |||
| 133 | /*Digi jsm */ | 117 | /*Digi jsm */ |
| 134 | #define PORT_JSM 69 | 118 | #define PORT_JSM 69 |
| 135 | 119 | ||
| 136 | /* SUN4V Hypervisor Console */ | 120 | /* SUN4V Hypervisor Console */ |
| 137 | #define PORT_SUNHV 72 | 121 | #define PORT_SUNHV 72 |
| 138 | 122 | ||
| 139 | #define PORT_S3C2412 73 | ||
| 140 | |||
| 141 | /* Xilinx uartlite */ | 123 | /* Xilinx uartlite */ |
| 142 | #define PORT_UARTLITE 74 | 124 | #define PORT_UARTLITE 74 |
| 143 | 125 | ||
| 144 | /* Blackfin bf5xx */ | 126 | /* Broadcom BCM7271 UART */ |
| 145 | #define PORT_BFIN 75 | 127 | #define PORT_BCM7271 76 |
| 146 | 128 | ||
| 147 | /* Broadcom SB1250, etc. SOC */ | 129 | /* Broadcom SB1250, etc. SOC */ |
| 148 | #define PORT_SB1250_DUART 77 | 130 | #define PORT_SB1250_DUART 77 |
| @@ -150,13 +132,6 @@ · 1 unmodified line | |||
| 150 | /* Freescale ColdFire */ | 132 | /* Freescale ColdFire */ |
| 151 | #define PORT_MCF 78 | 133 | #define PORT_MCF 78 |
| 152 | 134 | ||
| 153 | /* Blackfin SPORT */ | ||
| 154 | #define PORT_BFIN_SPORT 79 | ||
| 155 | |||
| 156 | /* MN10300 on-chip UART numbers */ | ||
| 157 | #define PORT_MN10300 80 | ||
| 158 | #define PORT_MN10300_CTS 81 | ||
| 159 | |||
| 160 | #define PORT_SC26XX 82 | 135 | #define PORT_SC26XX 82 |
| 161 | 136 | ||
| 162 | /* SH-SCI */ | 137 | /* SH-SCI */ |
| @@ -164,9 +139,6 @@ · 1 unmodified line | |||
| 164 | 139 | ||
| 165 | #define PORT_S3C6400 84 | 140 | #define PORT_S3C6400 84 |
| 166 | 141 | ||
| 167 | /* NWPSERIAL, now removed */ | ||
| 168 | #define PORT_NWPSERIAL 85 | ||
| 169 | |||
| 170 | /* MAX3100 */ | 142 | /* MAX3100 */ |
| 171 | #define PORT_MAX3100 86 | 143 | #define PORT_MAX3100 86 |
| 172 | 144 | ||
| @@ -225,13 +197,10 @@ · 52 unmodified lines | |||
| 225 | /* ST ASC type numbers */ | 197 | /* ST ASC type numbers */ |
| 226 | #define PORT_ASC 105 | 198 | #define PORT_ASC 105 |
| 227 | 199 | ||
| 228 | /* Tilera TILE-Gx UART */ | ||
| 229 | #define PORT_TILEGX 106 | ||
| 230 | |||
| 231 | /* MEN 16z135 UART */ | 200 | /* MEN 16z135 UART */ |
| 232 | #define PORT_MEN_Z135 107 | 201 | #define PORT_MEN_Z135 107 |
| 233 | 202 | ||
| 234 | /* SC16IS74xx */ | 203 | /* SC16IS7xx */ |
| 235 | #define PORT_SC16IS7XX 108 | 204 | #define PORT_SC16IS7XX 108 |
| 236 | 205 | ||
| 237 | /* MESON */ | 206 | /* MESON */ |
| @@ -243,9 +212,6 @@ · 5 unmodified lines | |||
| 243 | /* SPRD SERIAL */ | 212 | /* SPRD SERIAL */ |
| 244 | #define PORT_SPRD 111 | 213 | #define PORT_SPRD 111 |
| 245 | 214 | ||
| 246 | /* Cris v10 / v32 SoC */ | ||
| 247 | #define PORT_CRIS 112 | ||
| 248 | |||
| 249 | /* STM32 USART */ | 215 | /* STM32 USART */ |
| 250 | #define PORT_STM32 113 | 216 | #define PORT_STM32 113 |
| 251 | 217 | ||