aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-12-14 18:23:32 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2014-12-14 18:23:32 -0500
commit37da7bbbe84fe9e8862940d3f9194fd27dce59bb (patch)
tree6c3fae910b4cfd4e2f9a1fdc035400cd4df78be3 /include
parente7cf773d431a63a2417902696fcc9e0ebdc83bbe (diff)
parentdd63af108f0814f0b589659f4e55a7a5af3b7e53 (diff)
Merge tag 'tty-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
Pull tty/serial driver updates from Greg KH: "Here's the big tty/serial driver update for 3.19-rc1. There are a number of TTY core changes/fixes in here from Peter Hurley that have all been teted in linux-next for a long time now. There are also the normal serial driver updates as well, full details in the changelog below" * tag 'tty-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (219 commits) serial: pxa: hold port.lock when reporting modem line changes tty-hvsi_lib: Deletion of an unnecessary check before the function call "tty_kref_put" tty: Deletion of unnecessary checks before two function calls n_tty: Fix read_buf race condition, increment read_head after pushing data serial: of-serial: add PM suspend/resume support Revert "serial: of-serial: add PM suspend/resume support" Revert "serial: of-serial: fix up PM ops on no_console_suspend and port type" serial: 8250: don't attempt a trylock if in sysrq serial: core: Add big-endian iotype serial: samsung: use port->fifosize instead of hardcoded values serial: samsung: prefer to use fifosize from driver data serial: samsung: fix style problems serial: samsung: wait for transfer completion before clock disable serial: icom: fix error return code serial: tegra: clean up tty-flag assignments serial: Fix io address assign flow with Fintek PCI-to-UART Product serial: mxs-auart: fix tx_empty against shift register serial: mxs-auart: fix gpio change detection on interrupt serial: mxs-auart: Fix mxs_auart_set_ldisc() serial: 8250_dw: Use 64-bit access for OCTEON. ...
Diffstat (limited to 'include')
-rw-r--r--include/linux/kernel.h3
-rw-r--r--include/linux/serial_8250.h3
-rw-r--r--include/linux/serial_bcm63xx.h2
-rw-r--r--include/linux/serial_core.h67
-rw-r--r--include/linux/tty.h28
-rw-r--r--include/uapi/linux/serial_core.h3
-rw-r--r--include/uapi/linux/serial_reg.h1
-rw-r--r--include/uapi/linux/tty_flags.h19
-rw-r--r--include/uapi/linux/vt.h3
9 files changed, 66 insertions, 63 deletions
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index 233ea8107038..5449d2f4a1ef 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -416,9 +416,6 @@ extern int __kernel_text_address(unsigned long addr);
416extern int kernel_text_address(unsigned long addr); 416extern int kernel_text_address(unsigned long addr);
417extern int func_ptr_is_kernel_text(void *ptr); 417extern int func_ptr_is_kernel_text(void *ptr);
418 418
419struct pid;
420extern struct pid *session_of_pgrp(struct pid *pgrp);
421
422unsigned long int_sqrt(unsigned long); 419unsigned long int_sqrt(unsigned long);
423 420
424extern void bust_spinlocks(int yes); 421extern void bust_spinlocks(int yes);
diff --git a/include/linux/serial_8250.h b/include/linux/serial_8250.h
index 3df10d5f154b..e02acf0a0ec9 100644
--- a/include/linux/serial_8250.h
+++ b/include/linux/serial_8250.h
@@ -97,13 +97,10 @@ struct uart_8250_port {
97 unsigned char msr_saved_flags; 97 unsigned char msr_saved_flags;
98 98
99 struct uart_8250_dma *dma; 99 struct uart_8250_dma *dma;
100 struct serial_rs485 rs485;
101 100
102 /* 8250 specific callbacks */ 101 /* 8250 specific callbacks */
103 int (*dl_read)(struct uart_8250_port *); 102 int (*dl_read)(struct uart_8250_port *);
104 void (*dl_write)(struct uart_8250_port *, int); 103 void (*dl_write)(struct uart_8250_port *, int);
105 int (*rs485_config)(struct uart_8250_port *,
106 struct serial_rs485 *rs485);
107}; 104};
108 105
109static inline struct uart_8250_port *up_to_u8250p(struct uart_port *up) 106static inline struct uart_8250_port *up_to_u8250p(struct uart_port *up)
diff --git a/include/linux/serial_bcm63xx.h b/include/linux/serial_bcm63xx.h
index a80aa1a5bee2..570e964dc899 100644
--- a/include/linux/serial_bcm63xx.h
+++ b/include/linux/serial_bcm63xx.h
@@ -116,6 +116,4 @@
116 UART_FIFO_PARERR_MASK | \ 116 UART_FIFO_PARERR_MASK | \
117 UART_FIFO_BRKDET_MASK) 117 UART_FIFO_BRKDET_MASK)
118 118
119#define UART_REG_SIZE 24
120
121#endif /* _LINUX_SERIAL_BCM63XX_H */ 119#endif /* _LINUX_SERIAL_BCM63XX_H */
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
index 21c2e05c1bc3..057038cf2788 100644
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
@@ -63,7 +63,7 @@ struct uart_ops {
63 void (*flush_buffer)(struct uart_port *); 63 void (*flush_buffer)(struct uart_port *);
64 void (*set_termios)(struct uart_port *, struct ktermios *new, 64 void (*set_termios)(struct uart_port *, struct ktermios *new,
65 struct ktermios *old); 65 struct ktermios *old);
66 void (*set_ldisc)(struct uart_port *, int new); 66 void (*set_ldisc)(struct uart_port *, struct ktermios *);
67 void (*pm)(struct uart_port *, unsigned int state, 67 void (*pm)(struct uart_port *, unsigned int state,
68 unsigned int oldstate); 68 unsigned int oldstate);
69 69
@@ -131,6 +131,8 @@ struct uart_port {
131 void (*pm)(struct uart_port *, unsigned int state, 131 void (*pm)(struct uart_port *, unsigned int state,
132 unsigned int old); 132 unsigned int old);
133 void (*handle_break)(struct uart_port *); 133 void (*handle_break)(struct uart_port *);
134 int (*rs485_config)(struct uart_port *,
135 struct serial_rs485 *rs485);
134 unsigned int irq; /* irq number */ 136 unsigned int irq; /* irq number */
135 unsigned long irqflags; /* irq flags */ 137 unsigned long irqflags; /* irq flags */
136 unsigned int uartclk; /* base uart clock */ 138 unsigned int uartclk; /* base uart clock */
@@ -140,12 +142,13 @@ struct uart_port {
140 unsigned char iotype; /* io access style */ 142 unsigned char iotype; /* io access style */
141 unsigned char unused1; 143 unsigned char unused1;
142 144
143#define UPIO_PORT (0) 145#define UPIO_PORT (0) /* 8b I/O port access */
144#define UPIO_HUB6 (1) 146#define UPIO_HUB6 (1) /* Hub6 ISA card */
145#define UPIO_MEM (2) 147#define UPIO_MEM (2) /* 8b MMIO access */
146#define UPIO_MEM32 (3) 148#define UPIO_MEM32 (3) /* 32b little endian */
147#define UPIO_AU (4) /* Au1x00 and RT288x type IO */ 149#define UPIO_MEM32BE (4) /* 32b big endian */
148#define UPIO_TSI (5) /* Tsi108/109 type IO */ 150#define UPIO_AU (5) /* Au1x00 and RT288x type IO */
151#define UPIO_TSI (6) /* Tsi108/109 type IO */
149 152
150 unsigned int read_status_mask; /* driver specific */ 153 unsigned int read_status_mask; /* driver specific */
151 unsigned int ignore_status_mask; /* driver specific */ 154 unsigned int ignore_status_mask; /* driver specific */
@@ -160,21 +163,33 @@ struct uart_port {
160 /* flags must be updated while holding port mutex */ 163 /* flags must be updated while holding port mutex */
161 upf_t flags; 164 upf_t flags;
162 165
163#define UPF_FOURPORT ((__force upf_t) (1 << 1)) 166 /*
164#define UPF_SAK ((__force upf_t) (1 << 2)) 167 * These flags must be equivalent to the flags defined in
165#define UPF_SPD_MASK ((__force upf_t) (0x1030)) 168 * include/uapi/linux/tty_flags.h which are the userspace definitions
166#define UPF_SPD_HI ((__force upf_t) (0x0010)) 169 * assigned from the serial_struct flags in uart_set_info()
167#define UPF_SPD_VHI ((__force upf_t) (0x0020)) 170 * [for bit definitions in the UPF_CHANGE_MASK]
168#define UPF_SPD_CUST ((__force upf_t) (0x0030)) 171 *
169#define UPF_SPD_SHI ((__force upf_t) (0x1000)) 172 * Bits [0..UPF_LAST_USER] are userspace defined/visible/changeable
170#define UPF_SPD_WARP ((__force upf_t) (0x1010)) 173 * except bit 15 (UPF_NO_TXEN_TEST) which is masked off.
171#define UPF_SKIP_TEST ((__force upf_t) (1 << 6)) 174 * The remaining bits are serial-core specific and not modifiable by
172#define UPF_AUTO_IRQ ((__force upf_t) (1 << 7)) 175 * userspace.
173#define UPF_HARDPPS_CD ((__force upf_t) (1 << 11)) 176 */
174#define UPF_LOW_LATENCY ((__force upf_t) (1 << 13)) 177#define UPF_FOURPORT ((__force upf_t) ASYNC_FOURPORT /* 1 */ )
175#define UPF_BUGGY_UART ((__force upf_t) (1 << 14)) 178#define UPF_SAK ((__force upf_t) ASYNC_SAK /* 2 */ )
179#define UPF_SPD_HI ((__force upf_t) ASYNC_SPD_HI /* 4 */ )
180#define UPF_SPD_VHI ((__force upf_t) ASYNC_SPD_VHI /* 5 */ )
181#define UPF_SPD_CUST ((__force upf_t) ASYNC_SPD_CUST /* 0x0030 */ )
182#define UPF_SPD_WARP ((__force upf_t) ASYNC_SPD_WARP /* 0x1010 */ )
183#define UPF_SPD_MASK ((__force upf_t) ASYNC_SPD_MASK /* 0x1030 */ )
184#define UPF_SKIP_TEST ((__force upf_t) ASYNC_SKIP_TEST /* 6 */ )
185#define UPF_AUTO_IRQ ((__force upf_t) ASYNC_AUTO_IRQ /* 7 */ )
186#define UPF_HARDPPS_CD ((__force upf_t) ASYNC_HARDPPS_CD /* 11 */ )
187#define UPF_SPD_SHI ((__force upf_t) ASYNC_SPD_SHI /* 12 */ )
188#define UPF_LOW_LATENCY ((__force upf_t) ASYNC_LOW_LATENCY /* 13 */ )
189#define UPF_BUGGY_UART ((__force upf_t) ASYNC_BUGGY_UART /* 14 */ )
176#define UPF_NO_TXEN_TEST ((__force upf_t) (1 << 15)) 190#define UPF_NO_TXEN_TEST ((__force upf_t) (1 << 15))
177#define UPF_MAGIC_MULTIPLIER ((__force upf_t) (1 << 16)) 191#define UPF_MAGIC_MULTIPLIER ((__force upf_t) ASYNC_MAGIC_MULTIPLIER /* 16 */ )
192
178/* Port has hardware-assisted h/w flow control (iow, auto-RTS *not* auto-CTS) */ 193/* Port has hardware-assisted h/w flow control (iow, auto-RTS *not* auto-CTS) */
179#define UPF_HARD_FLOW ((__force upf_t) (1 << 21)) 194#define UPF_HARD_FLOW ((__force upf_t) (1 << 21))
180/* Port has hardware-assisted s/w flow control */ 195/* Port has hardware-assisted s/w flow control */
@@ -190,9 +205,14 @@ struct uart_port {
190#define UPF_DEAD ((__force upf_t) (1 << 30)) 205#define UPF_DEAD ((__force upf_t) (1 << 30))
191#define UPF_IOREMAP ((__force upf_t) (1 << 31)) 206#define UPF_IOREMAP ((__force upf_t) (1 << 31))
192 207
193#define UPF_CHANGE_MASK ((__force upf_t) (0x17fff)) 208#define __UPF_CHANGE_MASK 0x17fff
209#define UPF_CHANGE_MASK ((__force upf_t) __UPF_CHANGE_MASK)
194#define UPF_USR_MASK ((__force upf_t) (UPF_SPD_MASK|UPF_LOW_LATENCY)) 210#define UPF_USR_MASK ((__force upf_t) (UPF_SPD_MASK|UPF_LOW_LATENCY))
195 211
212#if __UPF_CHANGE_MASK > ASYNC_FLAGS
213#error Change mask not equivalent to userspace-visible bit defines
214#endif
215
196 /* status must be updated while holding port lock */ 216 /* status must be updated while holding port lock */
197 upstat_t status; 217 upstat_t status;
198 218
@@ -214,6 +234,7 @@ struct uart_port {
214 unsigned char unused[2]; 234 unsigned char unused[2];
215 struct attribute_group *attr_group; /* port specific attributes */ 235 struct attribute_group *attr_group; /* port specific attributes */
216 const struct attribute_group **tty_groups; /* all attributes (serial core use only) */ 236 const struct attribute_group **tty_groups; /* all attributes (serial core use only) */
237 struct serial_rs485 rs485;
217 void *private_data; /* generic platform data pointer */ 238 void *private_data; /* generic platform data pointer */
218}; 239};
219 240
@@ -367,7 +388,7 @@ static inline int uart_tx_stopped(struct uart_port *port)
367 388
368static inline bool uart_cts_enabled(struct uart_port *uport) 389static inline bool uart_cts_enabled(struct uart_port *uport)
369{ 390{
370 return uport->status & UPSTAT_CTS_ENABLE; 391 return !!(uport->status & UPSTAT_CTS_ENABLE);
371} 392}
372 393
373/* 394/*
diff --git a/include/linux/tty.h b/include/linux/tty.h
index 5171ef8f7b85..7d66ae508e5c 100644
--- a/include/linux/tty.h
+++ b/include/linux/tty.h
@@ -284,7 +284,7 @@ struct tty_struct {
284 284
285#define N_TTY_BUF_SIZE 4096 285#define N_TTY_BUF_SIZE 4096
286 286
287 unsigned char closing:1; 287 int closing;
288 unsigned char *write_buf; 288 unsigned char *write_buf;
289 int write_cnt; 289 int write_cnt;
290 /* If the tty has a pending do_SAK, queue it here - akpm */ 290 /* If the tty has a pending do_SAK, queue it here - akpm */
@@ -316,12 +316,10 @@ struct tty_file_private {
316#define TTY_EXCLUSIVE 3 /* Exclusive open mode */ 316#define TTY_EXCLUSIVE 3 /* Exclusive open mode */
317#define TTY_DEBUG 4 /* Debugging */ 317#define TTY_DEBUG 4 /* Debugging */
318#define TTY_DO_WRITE_WAKEUP 5 /* Call write_wakeup after queuing new */ 318#define TTY_DO_WRITE_WAKEUP 5 /* Call write_wakeup after queuing new */
319#define TTY_CLOSING 7 /* ->close() in progress */
320#define TTY_LDISC_OPEN 11 /* Line discipline is open */ 319#define TTY_LDISC_OPEN 11 /* Line discipline is open */
321#define TTY_PTY_LOCK 16 /* pty private */ 320#define TTY_PTY_LOCK 16 /* pty private */
322#define TTY_NO_WRITE_SPLIT 17 /* Preserve write boundaries to driver */ 321#define TTY_NO_WRITE_SPLIT 17 /* Preserve write boundaries to driver */
323#define TTY_HUPPED 18 /* Post driver->hangup() */ 322#define TTY_HUPPED 18 /* Post driver->hangup() */
324#define TTY_HUPPING 21 /* ->hangup() in progress */
325#define TTY_LDISC_HALTED 22 /* Line discipline is halted */ 323#define TTY_LDISC_HALTED 22 /* Line discipline is halted */
326 324
327#define TTY_WRITE_FLUSH(tty) tty_write_flush((tty)) 325#define TTY_WRITE_FLUSH(tty) tty_write_flush((tty))
@@ -437,14 +435,13 @@ extern int is_ignored(int sig);
437extern int tty_signal(int sig, struct tty_struct *tty); 435extern int tty_signal(int sig, struct tty_struct *tty);
438extern void tty_hangup(struct tty_struct *tty); 436extern void tty_hangup(struct tty_struct *tty);
439extern void tty_vhangup(struct tty_struct *tty); 437extern void tty_vhangup(struct tty_struct *tty);
440extern void tty_unhangup(struct file *filp);
441extern int tty_hung_up_p(struct file *filp); 438extern int tty_hung_up_p(struct file *filp);
442extern void do_SAK(struct tty_struct *tty); 439extern void do_SAK(struct tty_struct *tty);
443extern void __do_SAK(struct tty_struct *tty); 440extern void __do_SAK(struct tty_struct *tty);
444extern void no_tty(void); 441extern void no_tty(void);
445extern void tty_flush_to_ldisc(struct tty_struct *tty); 442extern void tty_flush_to_ldisc(struct tty_struct *tty);
446extern void tty_buffer_free_all(struct tty_port *port); 443extern void tty_buffer_free_all(struct tty_port *port);
447extern void tty_buffer_flush(struct tty_struct *tty); 444extern void tty_buffer_flush(struct tty_struct *tty, struct tty_ldisc *ld);
448extern void tty_buffer_init(struct tty_port *port); 445extern void tty_buffer_init(struct tty_port *port);
449extern speed_t tty_termios_baud_rate(struct ktermios *termios); 446extern speed_t tty_termios_baud_rate(struct ktermios *termios);
450extern speed_t tty_termios_input_baud_rate(struct ktermios *termios); 447extern speed_t tty_termios_input_baud_rate(struct ktermios *termios);
@@ -498,9 +495,6 @@ extern int tty_init_termios(struct tty_struct *tty);
498extern int tty_standard_install(struct tty_driver *driver, 495extern int tty_standard_install(struct tty_driver *driver,
499 struct tty_struct *tty); 496 struct tty_struct *tty);
500 497
501extern struct tty_struct *tty_pair_get_tty(struct tty_struct *tty);
502extern struct tty_struct *tty_pair_get_pty(struct tty_struct *tty);
503
504extern struct mutex tty_mutex; 498extern struct mutex tty_mutex;
505extern spinlock_t tty_files_lock; 499extern spinlock_t tty_files_lock;
506 500
@@ -562,7 +556,7 @@ extern int tty_register_ldisc(int disc, struct tty_ldisc_ops *new_ldisc);
562extern int tty_unregister_ldisc(int disc); 556extern int tty_unregister_ldisc(int disc);
563extern int tty_set_ldisc(struct tty_struct *tty, int ldisc); 557extern int tty_set_ldisc(struct tty_struct *tty, int ldisc);
564extern int tty_ldisc_setup(struct tty_struct *tty, struct tty_struct *o_tty); 558extern int tty_ldisc_setup(struct tty_struct *tty, struct tty_struct *o_tty);
565extern void tty_ldisc_release(struct tty_struct *tty, struct tty_struct *o_tty); 559extern void tty_ldisc_release(struct tty_struct *tty);
566extern void tty_ldisc_init(struct tty_struct *tty); 560extern void tty_ldisc_init(struct tty_struct *tty);
567extern void tty_ldisc_deinit(struct tty_struct *tty); 561extern void tty_ldisc_deinit(struct tty_struct *tty);
568extern void tty_ldisc_begin(void); 562extern void tty_ldisc_begin(void);
@@ -623,14 +617,6 @@ extern int n_tty_ioctl_helper(struct tty_struct *tty, struct file *file,
623extern long n_tty_compat_ioctl_helper(struct tty_struct *tty, struct file *file, 617extern long n_tty_compat_ioctl_helper(struct tty_struct *tty, struct file *file,
624 unsigned int cmd, unsigned long arg); 618 unsigned int cmd, unsigned long arg);
625 619
626/* serial.c */
627
628extern void serial_console_init(void);
629
630/* pcxx.c */
631
632extern int pcxe_open(struct tty_struct *tty, struct file *filp);
633
634/* vt.c */ 620/* vt.c */
635 621
636extern int vt_ioctl(struct tty_struct *tty, 622extern int vt_ioctl(struct tty_struct *tty,
@@ -643,11 +629,9 @@ extern long vt_compat_ioctl(struct tty_struct *tty,
643/* functions for preparation of BKL removal */ 629/* functions for preparation of BKL removal */
644extern void __lockfunc tty_lock(struct tty_struct *tty); 630extern void __lockfunc tty_lock(struct tty_struct *tty);
645extern void __lockfunc tty_unlock(struct tty_struct *tty); 631extern void __lockfunc tty_unlock(struct tty_struct *tty);
646extern void __lockfunc tty_lock_pair(struct tty_struct *tty, 632extern void __lockfunc tty_lock_slave(struct tty_struct *tty);
647 struct tty_struct *tty2); 633extern void __lockfunc tty_unlock_slave(struct tty_struct *tty);
648extern void __lockfunc tty_unlock_pair(struct tty_struct *tty, 634extern void tty_set_lock_subclass(struct tty_struct *tty);
649 struct tty_struct *tty2);
650
651/* 635/*
652 * this shall be called only from where BTM is held (like close) 636 * this shall be called only from where BTM is held (like close)
653 * 637 *
diff --git a/include/uapi/linux/serial_core.h b/include/uapi/linux/serial_core.h
index 16ad8521af6a..c17218094f18 100644
--- a/include/uapi/linux/serial_core.h
+++ b/include/uapi/linux/serial_core.h
@@ -54,7 +54,8 @@
54#define PORT_ALTR_16550_F32 26 /* Altera 16550 UART with 32 FIFOs */ 54#define PORT_ALTR_16550_F32 26 /* Altera 16550 UART with 32 FIFOs */
55#define PORT_ALTR_16550_F64 27 /* Altera 16550 UART with 64 FIFOs */ 55#define PORT_ALTR_16550_F64 27 /* Altera 16550 UART with 64 FIFOs */
56#define PORT_ALTR_16550_F128 28 /* Altera 16550 UART with 128 FIFOs */ 56#define PORT_ALTR_16550_F128 28 /* Altera 16550 UART with 128 FIFOs */
57#define PORT_MAX_8250 28 /* max port ID */ 57#define PORT_RT2880 29 /* Ralink RT2880 internal UART */
58#define PORT_MAX_8250 29 /* max port ID */
58 59
59/* 60/*
60 * ARM specific type numbers. These are not currently guaranteed 61 * ARM specific type numbers. These are not currently guaranteed
diff --git a/include/uapi/linux/serial_reg.h b/include/uapi/linux/serial_reg.h
index df6c9ab6b0cd..53af3b790129 100644
--- a/include/uapi/linux/serial_reg.h
+++ b/include/uapi/linux/serial_reg.h
@@ -359,6 +359,7 @@
359#define UART_OMAP_SYSC 0x15 /* System configuration register */ 359#define UART_OMAP_SYSC 0x15 /* System configuration register */
360#define UART_OMAP_SYSS 0x16 /* System status register */ 360#define UART_OMAP_SYSS 0x16 /* System status register */
361#define UART_OMAP_WER 0x17 /* Wake-up enable register */ 361#define UART_OMAP_WER 0x17 /* Wake-up enable register */
362#define UART_OMAP_TX_LVL 0x1a /* TX FIFO level register */
362 363
363/* 364/*
364 * These are the definitions for the MDR1 register 365 * These are the definitions for the MDR1 register
diff --git a/include/uapi/linux/tty_flags.h b/include/uapi/linux/tty_flags.h
index eefcb483a2c0..fae4864737fa 100644
--- a/include/uapi/linux/tty_flags.h
+++ b/include/uapi/linux/tty_flags.h
@@ -6,27 +6,31 @@
6 * shared by the tty_port flags structures. 6 * shared by the tty_port flags structures.
7 * 7 *
8 * Define ASYNCB_* for convenient use with {test,set,clear}_bit. 8 * Define ASYNCB_* for convenient use with {test,set,clear}_bit.
9 *
10 * Bits [0..ASYNCB_LAST_USER] are userspace defined/visible/changeable
11 * [x] in the bit comments indicates the flag is defunct and no longer used.
9 */ 12 */
10#define ASYNCB_HUP_NOTIFY 0 /* Notify getty on hangups and closes 13#define ASYNCB_HUP_NOTIFY 0 /* Notify getty on hangups and closes
11 * on the callout port */ 14 * on the callout port */
12#define ASYNCB_FOURPORT 1 /* Set OU1, OUT2 per AST Fourport settings */ 15#define ASYNCB_FOURPORT 1 /* Set OU1, OUT2 per AST Fourport settings */
13#define ASYNCB_SAK 2 /* Secure Attention Key (Orange book) */ 16#define ASYNCB_SAK 2 /* Secure Attention Key (Orange book) */
14#define ASYNCB_SPLIT_TERMIOS 3 /* Separate termios for dialin/callout */ 17#define ASYNCB_SPLIT_TERMIOS 3 /* [x] Separate termios for dialin/callout */
15#define ASYNCB_SPD_HI 4 /* Use 56000 instead of 38400 bps */ 18#define ASYNCB_SPD_HI 4 /* Use 56000 instead of 38400 bps */
16#define ASYNCB_SPD_VHI 5 /* Use 115200 instead of 38400 bps */ 19#define ASYNCB_SPD_VHI 5 /* Use 115200 instead of 38400 bps */
17#define ASYNCB_SKIP_TEST 6 /* Skip UART test during autoconfiguration */ 20#define ASYNCB_SKIP_TEST 6 /* Skip UART test during autoconfiguration */
18#define ASYNCB_AUTO_IRQ 7 /* Do automatic IRQ during 21#define ASYNCB_AUTO_IRQ 7 /* Do automatic IRQ during
19 * autoconfiguration */ 22 * autoconfiguration */
20#define ASYNCB_SESSION_LOCKOUT 8 /* Lock out cua opens based on session */ 23#define ASYNCB_SESSION_LOCKOUT 8 /* [x] Lock out cua opens based on session */
21#define ASYNCB_PGRP_LOCKOUT 9 /* Lock out cua opens based on pgrp */ 24#define ASYNCB_PGRP_LOCKOUT 9 /* [x] Lock out cua opens based on pgrp */
22#define ASYNCB_CALLOUT_NOHUP 10 /* Don't do hangups for cua device */ 25#define ASYNCB_CALLOUT_NOHUP 10 /* [x] Don't do hangups for cua device */
23#define ASYNCB_HARDPPS_CD 11 /* Call hardpps when CD goes high */ 26#define ASYNCB_HARDPPS_CD 11 /* Call hardpps when CD goes high */
24#define ASYNCB_SPD_SHI 12 /* Use 230400 instead of 38400 bps */ 27#define ASYNCB_SPD_SHI 12 /* Use 230400 instead of 38400 bps */
25#define ASYNCB_LOW_LATENCY 13 /* Request low latency behaviour */ 28#define ASYNCB_LOW_LATENCY 13 /* Request low latency behaviour */
26#define ASYNCB_BUGGY_UART 14 /* This is a buggy UART, skip some safety 29#define ASYNCB_BUGGY_UART 14 /* This is a buggy UART, skip some safety
27 * checks. Note: can be dangerous! */ 30 * checks. Note: can be dangerous! */
28#define ASYNCB_AUTOPROBE 15 /* Port was autoprobed by PCI or PNP code */ 31#define ASYNCB_AUTOPROBE 15 /* [x] Port was autoprobed by PCI/PNP code */
29#define ASYNCB_LAST_USER 15 32#define ASYNCB_MAGIC_MULTIPLIER 16 /* Use special CLK or divisor */
33#define ASYNCB_LAST_USER 16
30 34
31/* Internal flags used only by kernel */ 35/* Internal flags used only by kernel */
32#define ASYNCB_INITIALIZED 31 /* Serial port was initialized */ 36#define ASYNCB_INITIALIZED 31 /* Serial port was initialized */
@@ -57,8 +61,11 @@
57#define ASYNC_LOW_LATENCY (1U << ASYNCB_LOW_LATENCY) 61#define ASYNC_LOW_LATENCY (1U << ASYNCB_LOW_LATENCY)
58#define ASYNC_BUGGY_UART (1U << ASYNCB_BUGGY_UART) 62#define ASYNC_BUGGY_UART (1U << ASYNCB_BUGGY_UART)
59#define ASYNC_AUTOPROBE (1U << ASYNCB_AUTOPROBE) 63#define ASYNC_AUTOPROBE (1U << ASYNCB_AUTOPROBE)
64#define ASYNC_MAGIC_MULTIPLIER (1U << ASYNCB_MAGIC_MULTIPLIER)
60 65
61#define ASYNC_FLAGS ((1U << (ASYNCB_LAST_USER + 1)) - 1) 66#define ASYNC_FLAGS ((1U << (ASYNCB_LAST_USER + 1)) - 1)
67#define ASYNC_DEPRECATED (ASYNC_SESSION_LOCKOUT | ASYNC_PGRP_LOCKOUT | \
68 ASYNC_CALLOUT_NOHUP | ASYNC_AUTOPROBE)
62#define ASYNC_USR_MASK (ASYNC_SPD_MASK|ASYNC_CALLOUT_NOHUP| \ 69#define ASYNC_USR_MASK (ASYNC_SPD_MASK|ASYNC_CALLOUT_NOHUP| \
63 ASYNC_LOW_LATENCY) 70 ASYNC_LOW_LATENCY)
64#define ASYNC_SPD_CUST (ASYNC_SPD_HI|ASYNC_SPD_VHI) 71#define ASYNC_SPD_CUST (ASYNC_SPD_HI|ASYNC_SPD_VHI)
diff --git a/include/uapi/linux/vt.h b/include/uapi/linux/vt.h
index 4b59a26799a3..978578bd1895 100644
--- a/include/uapi/linux/vt.h
+++ b/include/uapi/linux/vt.h
@@ -84,7 +84,4 @@ struct vt_setactivate {
84 84
85#define VT_SETACTIVATE 0x560F /* Activate and set the mode of a console */ 85#define VT_SETACTIVATE 0x560F /* Activate and set the mode of a console */
86 86
87
88#define vt_get_kmsg_redirect() vt_kmsg_redirect(-1)
89
90#endif /* _UAPI_LINUX_VT_H */ 87#endif /* _UAPI_LINUX_VT_H */