diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-19 14:28:59 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-19 14:28:59 -0400 |
| commit | ccfc27302cdd82529500f3712841f30a62d19aaf (patch) | |
| tree | 945667e58ce3e308f29a8a28f04e1bcd081cd9d6 /include/linux | |
| parent | 42bf3e27e846156e9cead6f2cd6c43fa0ceb8362 (diff) | |
| parent | 178e485a0ebbfdb7165b4363d8fea2a07d650c0b (diff) | |
Merge tag 'tty-3.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
Pull TTY fixes from Greg Kroah-Hartman:
"Here are some tty and serial driver fixes for your 3.7-rc1 tree.
Again, the UABI header file fixes, and a number of build and runtime
serial driver bugfixes that solve problems people have been reporting
(the staging driver is a tty driver, hence the fixes coming in through
this tree.)
All of these have been in the linux-next tree for a while.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
* tag 'tty-3.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
staging: dgrp: check return value of alloc_tty_driver
staging: dgrp: check for NULL pointer in (un)register_proc_table
serial/8250_hp300: Missing 8250 register interface conversion bits
UAPI: (Scripted) Disintegrate include/linux/hsi
tty: serial: sccnxp: Fix bug with unterminated platform_id list
staging: serial: dgrp: Add missing #include <linux/uaccess.h>
serial: sccnxp: Allows the driver to be compiled as a module
tty: Fix bogus "callbacks suppressed" messages
net, TTY: initialize tty->driver_data before usage
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/hsi/Kbuild | 1 | ||||
| -rw-r--r-- | include/linux/hsi/hsi_char.h | 63 | ||||
| -rw-r--r-- | include/linux/ratelimit.h | 27 |
3 files changed, 9 insertions, 82 deletions
diff --git a/include/linux/hsi/Kbuild b/include/linux/hsi/Kbuild index 271a770b4784..e69de29bb2d1 100644 --- a/include/linux/hsi/Kbuild +++ b/include/linux/hsi/Kbuild | |||
| @@ -1 +0,0 @@ | |||
| 1 | header-y += hsi_char.h | ||
diff --git a/include/linux/hsi/hsi_char.h b/include/linux/hsi/hsi_char.h deleted file mode 100644 index 76160b4f455d..000000000000 --- a/include/linux/hsi/hsi_char.h +++ /dev/null | |||
| @@ -1,63 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Part of the HSI character device driver. | ||
| 3 | * | ||
| 4 | * Copyright (C) 2010 Nokia Corporation. All rights reserved. | ||
| 5 | * | ||
| 6 | * Contact: Andras Domokos <andras.domokos at nokia.com> | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or | ||
| 9 | * modify it under the terms of the GNU General Public License | ||
| 10 | * version 2 as published by the Free Software Foundation. | ||
| 11 | * | ||
| 12 | * This program is distributed in the hope that it will be useful, but | ||
| 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 15 | * General Public License for more details. | ||
| 16 | * | ||
| 17 | * You should have received a copy of the GNU General Public License | ||
| 18 | * along with this program; if not, write to the Free Software | ||
| 19 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA | ||
| 20 | * 02110-1301 USA | ||
| 21 | */ | ||
| 22 | |||
| 23 | |||
| 24 | #ifndef __HSI_CHAR_H | ||
| 25 | #define __HSI_CHAR_H | ||
| 26 | |||
| 27 | #define HSI_CHAR_MAGIC 'k' | ||
| 28 | #define HSC_IOW(num, dtype) _IOW(HSI_CHAR_MAGIC, num, dtype) | ||
| 29 | #define HSC_IOR(num, dtype) _IOR(HSI_CHAR_MAGIC, num, dtype) | ||
| 30 | #define HSC_IOWR(num, dtype) _IOWR(HSI_CHAR_MAGIC, num, dtype) | ||
| 31 | #define HSC_IO(num) _IO(HSI_CHAR_MAGIC, num) | ||
| 32 | |||
| 33 | #define HSC_RESET HSC_IO(16) | ||
| 34 | #define HSC_SET_PM HSC_IO(17) | ||
| 35 | #define HSC_SEND_BREAK HSC_IO(18) | ||
| 36 | #define HSC_SET_RX HSC_IOW(19, struct hsc_rx_config) | ||
| 37 | #define HSC_GET_RX HSC_IOW(20, struct hsc_rx_config) | ||
| 38 | #define HSC_SET_TX HSC_IOW(21, struct hsc_tx_config) | ||
| 39 | #define HSC_GET_TX HSC_IOW(22, struct hsc_tx_config) | ||
| 40 | |||
| 41 | #define HSC_PM_DISABLE 0 | ||
| 42 | #define HSC_PM_ENABLE 1 | ||
| 43 | |||
| 44 | #define HSC_MODE_STREAM 1 | ||
| 45 | #define HSC_MODE_FRAME 2 | ||
| 46 | #define HSC_FLOW_SYNC 0 | ||
| 47 | #define HSC_ARB_RR 0 | ||
| 48 | #define HSC_ARB_PRIO 1 | ||
| 49 | |||
| 50 | struct hsc_rx_config { | ||
| 51 | uint32_t mode; | ||
| 52 | uint32_t flow; | ||
| 53 | uint32_t channels; | ||
| 54 | }; | ||
| 55 | |||
| 56 | struct hsc_tx_config { | ||
| 57 | uint32_t mode; | ||
| 58 | uint32_t channels; | ||
| 59 | uint32_t speed; | ||
| 60 | uint32_t arb_mode; | ||
| 61 | }; | ||
| 62 | |||
| 63 | #endif /* __HSI_CHAR_H */ | ||
diff --git a/include/linux/ratelimit.h b/include/linux/ratelimit.h index e11ccb4cf48d..0a260d8a18bf 100644 --- a/include/linux/ratelimit.h +++ b/include/linux/ratelimit.h | |||
| @@ -46,20 +46,17 @@ extern int ___ratelimit(struct ratelimit_state *rs, const char *func); | |||
| 46 | #define WARN_ON_RATELIMIT(condition, state) \ | 46 | #define WARN_ON_RATELIMIT(condition, state) \ |
| 47 | WARN_ON((condition) && __ratelimit(state)) | 47 | WARN_ON((condition) && __ratelimit(state)) |
| 48 | 48 | ||
| 49 | #define __WARN_RATELIMIT(condition, state, format...) \ | 49 | #define WARN_RATELIMIT(condition, format, ...) \ |
| 50 | ({ \ | ||
| 51 | int rtn = 0; \ | ||
| 52 | if (unlikely(__ratelimit(state))) \ | ||
| 53 | rtn = WARN(condition, format); \ | ||
| 54 | rtn; \ | ||
| 55 | }) | ||
| 56 | |||
| 57 | #define WARN_RATELIMIT(condition, format...) \ | ||
| 58 | ({ \ | 50 | ({ \ |
| 59 | static DEFINE_RATELIMIT_STATE(_rs, \ | 51 | static DEFINE_RATELIMIT_STATE(_rs, \ |
| 60 | DEFAULT_RATELIMIT_INTERVAL, \ | 52 | DEFAULT_RATELIMIT_INTERVAL, \ |
| 61 | DEFAULT_RATELIMIT_BURST); \ | 53 | DEFAULT_RATELIMIT_BURST); \ |
| 62 | __WARN_RATELIMIT(condition, &_rs, format); \ | 54 | int rtn = !!(condition); \ |
| 55 | \ | ||
| 56 | if (unlikely(rtn && __ratelimit(&_rs))) \ | ||
| 57 | WARN(rtn, format, ##__VA_ARGS__); \ | ||
| 58 | \ | ||
| 59 | rtn; \ | ||
| 63 | }) | 60 | }) |
| 64 | 61 | ||
| 65 | #else | 62 | #else |
| @@ -67,15 +64,9 @@ extern int ___ratelimit(struct ratelimit_state *rs, const char *func); | |||
| 67 | #define WARN_ON_RATELIMIT(condition, state) \ | 64 | #define WARN_ON_RATELIMIT(condition, state) \ |
| 68 | WARN_ON(condition) | 65 | WARN_ON(condition) |
| 69 | 66 | ||
| 70 | #define __WARN_RATELIMIT(condition, state, format...) \ | 67 | #define WARN_RATELIMIT(condition, format, ...) \ |
| 71 | ({ \ | ||
| 72 | int rtn = WARN(condition, format); \ | ||
| 73 | rtn; \ | ||
| 74 | }) | ||
| 75 | |||
| 76 | #define WARN_RATELIMIT(condition, format...) \ | ||
| 77 | ({ \ | 68 | ({ \ |
| 78 | int rtn = WARN(condition, format); \ | 69 | int rtn = WARN(condition, format, ##__VA_ARGS__); \ |
| 79 | rtn; \ | 70 | rtn; \ |
| 80 | }) | 71 | }) |
| 81 | 72 | ||
