diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-23 15:23:20 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-23 15:23:20 -0400 |
commit | 99dff5856220a02b8711f2e8746413ea6e53ccf6 (patch) | |
tree | d8bae7ccdf8f7ad5221b053bb74a6220df996b3a /include | |
parent | bb74e8ca352eecefdc5c1a9ebab01f18aa2f6f3c (diff) | |
parent | d9a0fbfd7bc5d2c42f0fa9bcbdab62c4942d0388 (diff) |
Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6
* 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (48 commits)
serial: 8250_pci: add support for Cronyx Omega PCI multiserial board.
tty/serial: Fix break handling for PORT_TEGRA
tty/serial: Add explicit PORT_TEGRA type
n_tracerouter and n_tracesink ldisc additions.
Intel PTI implementaiton of MIPI 1149.7.
Kernel documentation for the PTI feature.
export kernel call get_task_comm().
tty: Remove to support serial for S5P6442
pch_phub: Support new device ML7223
8250_pci: Add support for the Digi/IBM PCIe 2-port Adapter
ASoC: Update cx20442 for TTY API change
pch_uart: Support new device ML7223 IOH
parport: Use request_muxed_region for IT87 probe and lock
tty/serial: add support for Xilinx PS UART
n_gsm: Use print_hex_dump_bytes
drivers/tty/moxa.c: Put correct tty value
TTY: tty_io, annotate locking functions
TTY: serial_core, remove superfluous set_task_state
TTY: serial_core, remove invalid test
Char: moxa, fix locking in moxa_write
...
Fix up trivial conflicts in drivers/bluetooth/hci_ldisc.c and
drivers/tty/serial/Makefile.
I did the hci_ldisc thing as an evil merge, cleaning things up.
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/pti.h | 42 | ||||
-rw-r--r-- | include/linux/serial_core.h | 6 | ||||
-rw-r--r-- | include/linux/serial_reg.h | 2 | ||||
-rw-r--r-- | include/linux/tty.h | 4 | ||||
-rw-r--r-- | include/linux/tty_ldisc.h | 9 |
5 files changed, 58 insertions, 5 deletions
diff --git a/include/linux/pti.h b/include/linux/pti.h new file mode 100644 index 000000000000..81af667bb2d5 --- /dev/null +++ b/include/linux/pti.h | |||
@@ -0,0 +1,42 @@ | |||
1 | /* | ||
2 | * Copyright (C) Intel 2011 | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License version 2 as | ||
6 | * published by the Free Software Foundation. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | * | ||
13 | * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
14 | * | ||
15 | * The PTI (Parallel Trace Interface) driver directs trace data routed from | ||
16 | * various parts in the system out through the Intel Penwell PTI port and | ||
17 | * out of the mobile device for analysis with a debugging tool | ||
18 | * (Lauterbach, Fido). This is part of a solution for the MIPI P1149.7, | ||
19 | * compact JTAG, standard. | ||
20 | * | ||
21 | * This header file will allow other parts of the OS to use the | ||
22 | * interface to write out it's contents for debugging a mobile system. | ||
23 | */ | ||
24 | |||
25 | #ifndef PTI_H_ | ||
26 | #define PTI_H_ | ||
27 | |||
28 | /* offset for last dword of any PTI message. Part of MIPI P1149.7 */ | ||
29 | #define PTI_LASTDWORD_DTS 0x30 | ||
30 | |||
31 | /* basic structure used as a write address to the PTI HW */ | ||
32 | struct pti_masterchannel { | ||
33 | u8 master; | ||
34 | u8 channel; | ||
35 | }; | ||
36 | |||
37 | /* the following functions are defined in misc/pti.c */ | ||
38 | void pti_writedata(struct pti_masterchannel *mc, u8 *buf, int count); | ||
39 | struct pti_masterchannel *pti_request_masterchannel(u8 type); | ||
40 | void pti_release_masterchannel(struct pti_masterchannel *mc); | ||
41 | |||
42 | #endif /*PTI_H_*/ | ||
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index 758c5b0c6fd3..a5c31146a337 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h | |||
@@ -45,7 +45,8 @@ | |||
45 | #define PORT_OCTEON 17 /* Cavium OCTEON internal UART */ | 45 | #define PORT_OCTEON 17 /* Cavium OCTEON internal UART */ |
46 | #define PORT_AR7 18 /* Texas Instruments AR7 internal UART */ | 46 | #define PORT_AR7 18 /* Texas Instruments AR7 internal UART */ |
47 | #define PORT_U6_16550A 19 /* ST-Ericsson U6xxx internal UART */ | 47 | #define PORT_U6_16550A 19 /* ST-Ericsson U6xxx internal UART */ |
48 | #define PORT_MAX_8250 19 /* max port ID */ | 48 | #define PORT_TEGRA 20 /* NVIDIA Tegra internal UART */ |
49 | #define PORT_MAX_8250 20 /* max port ID */ | ||
49 | 50 | ||
50 | /* | 51 | /* |
51 | * ARM specific type numbers. These are not currently guaranteed | 52 | * ARM specific type numbers. These are not currently guaranteed |
@@ -202,6 +203,9 @@ | |||
202 | /* VIA VT8500 SoC */ | 203 | /* VIA VT8500 SoC */ |
203 | #define PORT_VT8500 97 | 204 | #define PORT_VT8500 97 |
204 | 205 | ||
206 | /* Xilinx PSS UART */ | ||
207 | #define PORT_XUARTPS 98 | ||
208 | |||
205 | #ifdef __KERNEL__ | 209 | #ifdef __KERNEL__ |
206 | 210 | ||
207 | #include <linux/compiler.h> | 211 | #include <linux/compiler.h> |
diff --git a/include/linux/serial_reg.h b/include/linux/serial_reg.h index 3ecb71a9e505..c75bda37c18e 100644 --- a/include/linux/serial_reg.h +++ b/include/linux/serial_reg.h | |||
@@ -57,6 +57,7 @@ | |||
57 | * ST16C654: 8 16 56 60 8 16 32 56 PORT_16654 | 57 | * ST16C654: 8 16 56 60 8 16 32 56 PORT_16654 |
58 | * TI16C750: 1 16 32 56 xx xx xx xx PORT_16750 | 58 | * TI16C750: 1 16 32 56 xx xx xx xx PORT_16750 |
59 | * TI16C752: 8 16 56 60 8 16 32 56 | 59 | * TI16C752: 8 16 56 60 8 16 32 56 |
60 | * Tegra: 1 4 8 14 16 8 4 1 PORT_TEGRA | ||
60 | */ | 61 | */ |
61 | #define UART_FCR_R_TRIG_00 0x00 | 62 | #define UART_FCR_R_TRIG_00 0x00 |
62 | #define UART_FCR_R_TRIG_01 0x40 | 63 | #define UART_FCR_R_TRIG_01 0x40 |
@@ -118,6 +119,7 @@ | |||
118 | #define UART_MCR_DTR 0x01 /* DTR complement */ | 119 | #define UART_MCR_DTR 0x01 /* DTR complement */ |
119 | 120 | ||
120 | #define UART_LSR 5 /* In: Line Status Register */ | 121 | #define UART_LSR 5 /* In: Line Status Register */ |
122 | #define UART_LSR_FIFOE 0x80 /* Fifo error */ | ||
121 | #define UART_LSR_TEMT 0x40 /* Transmitter empty */ | 123 | #define UART_LSR_TEMT 0x40 /* Transmitter empty */ |
122 | #define UART_LSR_THRE 0x20 /* Transmit-hold-register empty */ | 124 | #define UART_LSR_THRE 0x20 /* Transmit-hold-register empty */ |
123 | #define UART_LSR_BI 0x10 /* Break interrupt indicator */ | 125 | #define UART_LSR_BI 0x10 /* Break interrupt indicator */ |
diff --git a/include/linux/tty.h b/include/linux/tty.h index 9f469c700550..d6f05292e456 100644 --- a/include/linux/tty.h +++ b/include/linux/tty.h | |||
@@ -50,6 +50,8 @@ | |||
50 | #define N_CAIF 20 /* CAIF protocol for talking to modems */ | 50 | #define N_CAIF 20 /* CAIF protocol for talking to modems */ |
51 | #define N_GSM0710 21 /* GSM 0710 Mux */ | 51 | #define N_GSM0710 21 /* GSM 0710 Mux */ |
52 | #define N_TI_WL 22 /* for TI's WL BT, FM, GPS combo chips */ | 52 | #define N_TI_WL 22 /* for TI's WL BT, FM, GPS combo chips */ |
53 | #define N_TRACESINK 23 /* Trace data routing for MIPI P1149.7 */ | ||
54 | #define N_TRACEROUTER 24 /* Trace data routing for MIPI P1149.7 */ | ||
53 | 55 | ||
54 | /* | 56 | /* |
55 | * This character is the same as _POSIX_VDISABLE: it cannot be used as | 57 | * This character is the same as _POSIX_VDISABLE: it cannot be used as |
@@ -472,6 +474,7 @@ extern int tty_add_file(struct tty_struct *tty, struct file *file); | |||
472 | extern void free_tty_struct(struct tty_struct *tty); | 474 | extern void free_tty_struct(struct tty_struct *tty); |
473 | extern void initialize_tty_struct(struct tty_struct *tty, | 475 | extern void initialize_tty_struct(struct tty_struct *tty, |
474 | struct tty_driver *driver, int idx); | 476 | struct tty_driver *driver, int idx); |
477 | extern void deinitialize_tty_struct(struct tty_struct *tty); | ||
475 | extern struct tty_struct *tty_init_dev(struct tty_driver *driver, int idx, | 478 | extern struct tty_struct *tty_init_dev(struct tty_driver *driver, int idx, |
476 | int first_ok); | 479 | int first_ok); |
477 | extern int tty_release(struct inode *inode, struct file *filp); | 480 | extern int tty_release(struct inode *inode, struct file *filp); |
@@ -525,6 +528,7 @@ extern int tty_set_ldisc(struct tty_struct *tty, int ldisc); | |||
525 | extern int tty_ldisc_setup(struct tty_struct *tty, struct tty_struct *o_tty); | 528 | extern int tty_ldisc_setup(struct tty_struct *tty, struct tty_struct *o_tty); |
526 | extern void tty_ldisc_release(struct tty_struct *tty, struct tty_struct *o_tty); | 529 | extern void tty_ldisc_release(struct tty_struct *tty, struct tty_struct *o_tty); |
527 | extern void tty_ldisc_init(struct tty_struct *tty); | 530 | extern void tty_ldisc_init(struct tty_struct *tty); |
531 | extern void tty_ldisc_deinit(struct tty_struct *tty); | ||
528 | extern void tty_ldisc_begin(void); | 532 | extern void tty_ldisc_begin(void); |
529 | /* This last one is just for the tty layer internals and shouldn't be used elsewhere */ | 533 | /* This last one is just for the tty layer internals and shouldn't be used elsewhere */ |
530 | extern void tty_ldisc_enable(struct tty_struct *tty); | 534 | extern void tty_ldisc_enable(struct tty_struct *tty); |
diff --git a/include/linux/tty_ldisc.h b/include/linux/tty_ldisc.h index ff7dc08696a8..5b07792ccb46 100644 --- a/include/linux/tty_ldisc.h +++ b/include/linux/tty_ldisc.h | |||
@@ -76,7 +76,7 @@ | |||
76 | * tty device. It is solely the responsibility of the line | 76 | * tty device. It is solely the responsibility of the line |
77 | * discipline to handle poll requests. | 77 | * discipline to handle poll requests. |
78 | * | 78 | * |
79 | * void (*receive_buf)(struct tty_struct *, const unsigned char *cp, | 79 | * unsigned int (*receive_buf)(struct tty_struct *, const unsigned char *cp, |
80 | * char *fp, int count); | 80 | * char *fp, int count); |
81 | * | 81 | * |
82 | * This function is called by the low-level tty driver to send | 82 | * This function is called by the low-level tty driver to send |
@@ -84,7 +84,8 @@ | |||
84 | * processing. <cp> is a pointer to the buffer of input | 84 | * processing. <cp> is a pointer to the buffer of input |
85 | * character received by the device. <fp> is a pointer to a | 85 | * character received by the device. <fp> is a pointer to a |
86 | * pointer of flag bytes which indicate whether a character was | 86 | * pointer of flag bytes which indicate whether a character was |
87 | * received with a parity error, etc. | 87 | * received with a parity error, etc. Returns the amount of bytes |
88 | * received. | ||
88 | * | 89 | * |
89 | * void (*write_wakeup)(struct tty_struct *); | 90 | * void (*write_wakeup)(struct tty_struct *); |
90 | * | 91 | * |
@@ -140,8 +141,8 @@ struct tty_ldisc_ops { | |||
140 | /* | 141 | /* |
141 | * The following routines are called from below. | 142 | * The following routines are called from below. |
142 | */ | 143 | */ |
143 | void (*receive_buf)(struct tty_struct *, const unsigned char *cp, | 144 | unsigned int (*receive_buf)(struct tty_struct *, |
144 | char *fp, int count); | 145 | const unsigned char *cp, char *fp, int count); |
145 | void (*write_wakeup)(struct tty_struct *); | 146 | void (*write_wakeup)(struct tty_struct *); |
146 | void (*dcd_change)(struct tty_struct *, unsigned int, | 147 | void (*dcd_change)(struct tty_struct *, unsigned int, |
147 | struct pps_event_time *); | 148 | struct pps_event_time *); |