mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 20:32:04 +09:00
Merge tag 'tty-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
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
...
This commit is contained in:
@@ -2,10 +2,45 @@
|
||||
#ifndef _LINUX_GSMMUX_H
|
||||
#define _LINUX_GSMMUX_H
|
||||
|
||||
#include <linux/const.h>
|
||||
#include <linux/if.h>
|
||||
#include <linux/ioctl.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
/*
|
||||
* flags definition for n_gsm
|
||||
*
|
||||
* Used by:
|
||||
* struct gsm_config_ext.flags
|
||||
* struct gsm_dlci_config.flags
|
||||
*/
|
||||
/* Forces a DLCI reset if set. Otherwise, a DLCI reset is only done if
|
||||
* incompatible settings were provided. Always cleared on retrieval.
|
||||
*/
|
||||
#define GSM_FL_RESTART _BITUL(0)
|
||||
|
||||
/**
|
||||
* struct gsm_config - n_gsm basic configuration parameters
|
||||
*
|
||||
* This structure is used in combination with GSMIOC_GETCONF and GSMIOC_SETCONF
|
||||
* to retrieve and set the basic parameters of an n_gsm ldisc.
|
||||
* struct gsm_config_ext can be used to configure extended ldisc parameters.
|
||||
*
|
||||
* All timers are in units of 1/100th of a second.
|
||||
*
|
||||
* @adaption: Convergence layer type
|
||||
* @encapsulation: Framing (0 = basic option, 1 = advanced option)
|
||||
* @initiator: Initiator or responder
|
||||
* @t1: Acknowledgment timer
|
||||
* @t2: Response timer for multiplexer control channel
|
||||
* @t3: Response timer for wake-up procedure
|
||||
* @n2: Maximum number of retransmissions
|
||||
* @mru: Maximum incoming frame payload size
|
||||
* @mtu: Maximum outgoing frame payload size
|
||||
* @k: Window size
|
||||
* @i: Frame type (1 = UIH, 2 = UI)
|
||||
* @unused: Can not be used
|
||||
*/
|
||||
struct gsm_config
|
||||
{
|
||||
unsigned int adaption;
|
||||
@@ -19,18 +54,32 @@ struct gsm_config
|
||||
unsigned int mtu;
|
||||
unsigned int k;
|
||||
unsigned int i;
|
||||
unsigned int unused[8]; /* Can not be used */
|
||||
unsigned int unused[8];
|
||||
};
|
||||
|
||||
#define GSMIOC_GETCONF _IOR('G', 0, struct gsm_config)
|
||||
#define GSMIOC_SETCONF _IOW('G', 1, struct gsm_config)
|
||||
|
||||
/**
|
||||
* struct gsm_netconfig - n_gsm network configuration parameters
|
||||
*
|
||||
* This structure is used in combination with GSMIOC_ENABLE_NET and
|
||||
* GSMIOC_DISABLE_NET to enable or disable a network data connection
|
||||
* over a mux virtual tty channel. This is for modems that support
|
||||
* data connections with raw IP frames instead of PPP.
|
||||
*
|
||||
* @adaption: Adaption to use in network mode.
|
||||
* @protocol: Protocol to use - only ETH_P_IP supported.
|
||||
* @unused2: Can not be used.
|
||||
* @if_name: Interface name format string.
|
||||
* @unused: Can not be used.
|
||||
*/
|
||||
struct gsm_netconfig {
|
||||
unsigned int adaption; /* Adaption to use in network mode */
|
||||
unsigned short protocol;/* Protocol to use - only ETH_P_IP supported */
|
||||
unsigned short unused2; /* Can not be used */
|
||||
char if_name[IFNAMSIZ]; /* interface name format string */
|
||||
__u8 unused[28]; /* Can not be used */
|
||||
unsigned int adaption;
|
||||
unsigned short protocol;
|
||||
unsigned short unused2;
|
||||
char if_name[IFNAMSIZ];
|
||||
__u8 unused[28];
|
||||
};
|
||||
|
||||
#define GSMIOC_ENABLE_NET _IOW('G', 2, struct gsm_netconfig)
|
||||
@@ -39,26 +88,57 @@ struct gsm_netconfig {
|
||||
/* get the base tty number for a configured gsmmux tty */
|
||||
#define GSMIOC_GETFIRST _IOR('G', 4, __u32)
|
||||
|
||||
/**
|
||||
* struct gsm_config_ext - n_gsm extended configuration parameters
|
||||
*
|
||||
* This structure is used in combination with GSMIOC_GETCONF_EXT and
|
||||
* GSMIOC_SETCONF_EXT to retrieve and set the extended parameters of an
|
||||
* n_gsm ldisc.
|
||||
*
|
||||
* All timers are in units of 1/100th of a second.
|
||||
*
|
||||
* @keep_alive: Control channel keep-alive in 1/100th of a second (0 to disable).
|
||||
* @wait_config: Wait for DLCI config before opening virtual link?
|
||||
* @flags: Mux specific flags.
|
||||
* @reserved: For future use, must be initialized to zero.
|
||||
*/
|
||||
struct gsm_config_ext {
|
||||
__u32 keep_alive; /* Control channel keep-alive in 1/100th of a
|
||||
* second (0 to disable)
|
||||
*/
|
||||
__u32 wait_config; /* Wait for DLCI config before opening virtual link? */
|
||||
__u32 reserved[6]; /* For future use, must be initialized to zero */
|
||||
__u32 keep_alive;
|
||||
__u32 wait_config;
|
||||
__u32 flags;
|
||||
__u32 reserved[5];
|
||||
};
|
||||
|
||||
#define GSMIOC_GETCONF_EXT _IOR('G', 5, struct gsm_config_ext)
|
||||
#define GSMIOC_SETCONF_EXT _IOW('G', 6, struct gsm_config_ext)
|
||||
|
||||
/* Set channel accordingly before calling GSMIOC_GETCONF_DLCI. */
|
||||
/**
|
||||
* struct gsm_dlci_config - n_gsm channel configuration parameters
|
||||
*
|
||||
* This structure is used in combination with GSMIOC_GETCONF_DLCI and
|
||||
* GSMIOC_SETCONF_DLCI to retrieve and set the channel specific parameters
|
||||
* of an n_gsm ldisc.
|
||||
*
|
||||
* Set the channel accordingly before calling GSMIOC_GETCONF_DLCI.
|
||||
*
|
||||
* @channel: DLCI (0 for the associated DLCI).
|
||||
* @adaption: Convergence layer type.
|
||||
* @mtu: Maximum transfer unit.
|
||||
* @priority: Priority (0 for default value).
|
||||
* @i: Frame type (1 = UIH, 2 = UI).
|
||||
* @k: Window size (0 for default value).
|
||||
* @flags: DLCI specific flags.
|
||||
* @reserved: For future use, must be initialized to zero.
|
||||
*/
|
||||
struct gsm_dlci_config {
|
||||
__u32 channel; /* DLCI (0 for the associated DLCI) */
|
||||
__u32 adaption; /* Convergence layer type */
|
||||
__u32 mtu; /* Maximum transfer unit */
|
||||
__u32 priority; /* Priority (0 for default value) */
|
||||
__u32 i; /* Frame type (1 = UIH, 2 = UI) */
|
||||
__u32 k; /* Window size (0 for default value) */
|
||||
__u32 reserved[8]; /* For future use, must be initialized to zero */
|
||||
__u32 channel;
|
||||
__u32 adaption;
|
||||
__u32 mtu;
|
||||
__u32 priority;
|
||||
__u32 i;
|
||||
__u32 k;
|
||||
__u32 flags;
|
||||
__u32 reserved[7];
|
||||
};
|
||||
|
||||
#define GSMIOC_GETCONF_DLCI _IOWR('G', 7, struct gsm_dlci_config)
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
|
||||
/*
|
||||
* The type definitions. These are from Ted Ts'o's serial.h
|
||||
* By historical reasons the values from 0 to 13 are defined
|
||||
* in the include/uapi/linux/serial.h, do not define them here.
|
||||
*/
|
||||
#define PORT_NS16550A 14
|
||||
#define PORT_XSCALE 15
|
||||
@@ -94,15 +96,9 @@
|
||||
#define PORT_SCIF 53
|
||||
#define PORT_IRDA 54
|
||||
|
||||
/* Samsung S3C2410 SoC and derivatives thereof */
|
||||
#define PORT_S3C2410 55
|
||||
|
||||
/* SGI IP22 aka Indy / Challenge S / Indigo 2 */
|
||||
#define PORT_IP22ZILOG 56
|
||||
|
||||
/* Sharp LH7a40x -- an ARM9 SoC series */
|
||||
#define PORT_LH7A40X 57
|
||||
|
||||
/* PPC CPM type number */
|
||||
#define PORT_CPM 58
|
||||
|
||||
@@ -112,37 +108,23 @@
|
||||
/* IBM icom */
|
||||
#define PORT_ICOM 60
|
||||
|
||||
/* Samsung S3C2440 SoC */
|
||||
#define PORT_S3C2440 61
|
||||
|
||||
/* Motorola i.MX SoC */
|
||||
#define PORT_IMX 62
|
||||
|
||||
/* Marvell MPSC (obsolete unused) */
|
||||
#define PORT_MPSC 63
|
||||
|
||||
/* TXX9 type number */
|
||||
#define PORT_TXX9 64
|
||||
|
||||
/* Samsung S3C2400 SoC */
|
||||
#define PORT_S3C2400 67
|
||||
|
||||
/* M32R SIO */
|
||||
#define PORT_M32R_SIO 68
|
||||
|
||||
/*Digi jsm */
|
||||
#define PORT_JSM 69
|
||||
|
||||
/* SUN4V Hypervisor Console */
|
||||
#define PORT_SUNHV 72
|
||||
|
||||
#define PORT_S3C2412 73
|
||||
|
||||
/* Xilinx uartlite */
|
||||
#define PORT_UARTLITE 74
|
||||
|
||||
/* Blackfin bf5xx */
|
||||
#define PORT_BFIN 75
|
||||
/* Broadcom BCM7271 UART */
|
||||
#define PORT_BCM7271 76
|
||||
|
||||
/* Broadcom SB1250, etc. SOC */
|
||||
#define PORT_SB1250_DUART 77
|
||||
@@ -150,13 +132,6 @@
|
||||
/* Freescale ColdFire */
|
||||
#define PORT_MCF 78
|
||||
|
||||
/* Blackfin SPORT */
|
||||
#define PORT_BFIN_SPORT 79
|
||||
|
||||
/* MN10300 on-chip UART numbers */
|
||||
#define PORT_MN10300 80
|
||||
#define PORT_MN10300_CTS 81
|
||||
|
||||
#define PORT_SC26XX 82
|
||||
|
||||
/* SH-SCI */
|
||||
@@ -164,9 +139,6 @@
|
||||
|
||||
#define PORT_S3C6400 84
|
||||
|
||||
/* NWPSERIAL, now removed */
|
||||
#define PORT_NWPSERIAL 85
|
||||
|
||||
/* MAX3100 */
|
||||
#define PORT_MAX3100 86
|
||||
|
||||
@@ -225,13 +197,10 @@
|
||||
/* ST ASC type numbers */
|
||||
#define PORT_ASC 105
|
||||
|
||||
/* Tilera TILE-Gx UART */
|
||||
#define PORT_TILEGX 106
|
||||
|
||||
/* MEN 16z135 UART */
|
||||
#define PORT_MEN_Z135 107
|
||||
|
||||
/* SC16IS74xx */
|
||||
/* SC16IS7xx */
|
||||
#define PORT_SC16IS7XX 108
|
||||
|
||||
/* MESON */
|
||||
@@ -243,9 +212,6 @@
|
||||
/* SPRD SERIAL */
|
||||
#define PORT_SPRD 111
|
||||
|
||||
/* Cris v10 / v32 SoC */
|
||||
#define PORT_CRIS 112
|
||||
|
||||
/* STM32 USART */
|
||||
#define PORT_STM32 113
|
||||
|
||||
|
||||
Reference in New Issue
Block a user