diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-14 18:23:32 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-14 18:23:32 -0500 |
commit | 37da7bbbe84fe9e8862940d3f9194fd27dce59bb (patch) | |
tree | 6c3fae910b4cfd4e2f9a1fdc035400cd4df78be3 /include | |
parent | e7cf773d431a63a2417902696fcc9e0ebdc83bbe (diff) | |
parent | dd63af108f0814f0b589659f4e55a7a5af3b7e53 (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.h | 3 | ||||
-rw-r--r-- | include/linux/serial_8250.h | 3 | ||||
-rw-r--r-- | include/linux/serial_bcm63xx.h | 2 | ||||
-rw-r--r-- | include/linux/serial_core.h | 67 | ||||
-rw-r--r-- | include/linux/tty.h | 28 | ||||
-rw-r--r-- | include/uapi/linux/serial_core.h | 3 | ||||
-rw-r--r-- | include/uapi/linux/serial_reg.h | 1 | ||||
-rw-r--r-- | include/uapi/linux/tty_flags.h | 19 | ||||
-rw-r--r-- | include/uapi/linux/vt.h | 3 |
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); | |||
416 | extern int kernel_text_address(unsigned long addr); | 416 | extern int kernel_text_address(unsigned long addr); |
417 | extern int func_ptr_is_kernel_text(void *ptr); | 417 | extern int func_ptr_is_kernel_text(void *ptr); |
418 | 418 | ||
419 | struct pid; | ||
420 | extern struct pid *session_of_pgrp(struct pid *pgrp); | ||
421 | |||
422 | unsigned long int_sqrt(unsigned long); | 419 | unsigned long int_sqrt(unsigned long); |
423 | 420 | ||
424 | extern void bust_spinlocks(int yes); | 421 | extern 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 | ||
109 | static inline struct uart_8250_port *up_to_u8250p(struct uart_port *up) | 106 | static 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 | ||
368 | static inline bool uart_cts_enabled(struct uart_port *uport) | 389 | static 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); | |||
437 | extern int tty_signal(int sig, struct tty_struct *tty); | 435 | extern int tty_signal(int sig, struct tty_struct *tty); |
438 | extern void tty_hangup(struct tty_struct *tty); | 436 | extern void tty_hangup(struct tty_struct *tty); |
439 | extern void tty_vhangup(struct tty_struct *tty); | 437 | extern void tty_vhangup(struct tty_struct *tty); |
440 | extern void tty_unhangup(struct file *filp); | ||
441 | extern int tty_hung_up_p(struct file *filp); | 438 | extern int tty_hung_up_p(struct file *filp); |
442 | extern void do_SAK(struct tty_struct *tty); | 439 | extern void do_SAK(struct tty_struct *tty); |
443 | extern void __do_SAK(struct tty_struct *tty); | 440 | extern void __do_SAK(struct tty_struct *tty); |
444 | extern void no_tty(void); | 441 | extern void no_tty(void); |
445 | extern void tty_flush_to_ldisc(struct tty_struct *tty); | 442 | extern void tty_flush_to_ldisc(struct tty_struct *tty); |
446 | extern void tty_buffer_free_all(struct tty_port *port); | 443 | extern void tty_buffer_free_all(struct tty_port *port); |
447 | extern void tty_buffer_flush(struct tty_struct *tty); | 444 | extern void tty_buffer_flush(struct tty_struct *tty, struct tty_ldisc *ld); |
448 | extern void tty_buffer_init(struct tty_port *port); | 445 | extern void tty_buffer_init(struct tty_port *port); |
449 | extern speed_t tty_termios_baud_rate(struct ktermios *termios); | 446 | extern speed_t tty_termios_baud_rate(struct ktermios *termios); |
450 | extern speed_t tty_termios_input_baud_rate(struct ktermios *termios); | 447 | extern speed_t tty_termios_input_baud_rate(struct ktermios *termios); |
@@ -498,9 +495,6 @@ extern int tty_init_termios(struct tty_struct *tty); | |||
498 | extern int tty_standard_install(struct tty_driver *driver, | 495 | extern int tty_standard_install(struct tty_driver *driver, |
499 | struct tty_struct *tty); | 496 | struct tty_struct *tty); |
500 | 497 | ||
501 | extern struct tty_struct *tty_pair_get_tty(struct tty_struct *tty); | ||
502 | extern struct tty_struct *tty_pair_get_pty(struct tty_struct *tty); | ||
503 | |||
504 | extern struct mutex tty_mutex; | 498 | extern struct mutex tty_mutex; |
505 | extern spinlock_t tty_files_lock; | 499 | extern spinlock_t tty_files_lock; |
506 | 500 | ||
@@ -562,7 +556,7 @@ extern int tty_register_ldisc(int disc, struct tty_ldisc_ops *new_ldisc); | |||
562 | extern int tty_unregister_ldisc(int disc); | 556 | extern int tty_unregister_ldisc(int disc); |
563 | extern int tty_set_ldisc(struct tty_struct *tty, int ldisc); | 557 | extern int tty_set_ldisc(struct tty_struct *tty, int ldisc); |
564 | extern int tty_ldisc_setup(struct tty_struct *tty, struct tty_struct *o_tty); | 558 | extern int tty_ldisc_setup(struct tty_struct *tty, struct tty_struct *o_tty); |
565 | extern void tty_ldisc_release(struct tty_struct *tty, struct tty_struct *o_tty); | 559 | extern void tty_ldisc_release(struct tty_struct *tty); |
566 | extern void tty_ldisc_init(struct tty_struct *tty); | 560 | extern void tty_ldisc_init(struct tty_struct *tty); |
567 | extern void tty_ldisc_deinit(struct tty_struct *tty); | 561 | extern void tty_ldisc_deinit(struct tty_struct *tty); |
568 | extern void tty_ldisc_begin(void); | 562 | extern void tty_ldisc_begin(void); |
@@ -623,14 +617,6 @@ extern int n_tty_ioctl_helper(struct tty_struct *tty, struct file *file, | |||
623 | extern long n_tty_compat_ioctl_helper(struct tty_struct *tty, struct file *file, | 617 | extern 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 | |||
628 | extern void serial_console_init(void); | ||
629 | |||
630 | /* pcxx.c */ | ||
631 | |||
632 | extern int pcxe_open(struct tty_struct *tty, struct file *filp); | ||
633 | |||
634 | /* vt.c */ | 620 | /* vt.c */ |
635 | 621 | ||
636 | extern int vt_ioctl(struct tty_struct *tty, | 622 | extern 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 */ |
644 | extern void __lockfunc tty_lock(struct tty_struct *tty); | 630 | extern void __lockfunc tty_lock(struct tty_struct *tty); |
645 | extern void __lockfunc tty_unlock(struct tty_struct *tty); | 631 | extern void __lockfunc tty_unlock(struct tty_struct *tty); |
646 | extern void __lockfunc tty_lock_pair(struct tty_struct *tty, | 632 | extern void __lockfunc tty_lock_slave(struct tty_struct *tty); |
647 | struct tty_struct *tty2); | 633 | extern void __lockfunc tty_unlock_slave(struct tty_struct *tty); |
648 | extern void __lockfunc tty_unlock_pair(struct tty_struct *tty, | 634 | extern 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 */ |