TTY merge for 3.7-rc1
As we skipped the merge window for 3.6-rc1 for the tty tree, everything
is now settled down and working properly, so we are ready for 3.7-rc1.
Here's the patchset, it's big, but the large changes are removing a
firmware file and adding a staging tty driver (it depended on the tty
core changes, so it's going through this tree instead of the staging
tree.)
All of these patches have been in the linux-next tree for a while.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
iEYEABECAAYFAlBp36oACgkQMUfUDdst+yk4WgCdEy13hot8fI2Lqnc7W0LKu7GX
4p8AoLTjzrXhLosxdijskDQ9X1OtjrxU
=S5Ng
-----END PGP SIGNATURE-----
Merge tag 'tty-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
Pull TTY changes from Greg Kroah-Hartman:
"As we skipped the merge window for 3.6-rc1 for the tty tree,
everything is now settled down and working properly, so we are ready
for 3.7-rc1. Here's the patchset, it's big, but the large changes are
removing a firmware file and adding a staging tty driver (it depended
on the tty core changes, so it's going through this tree instead of
the staging tree.)
All of these patches have been in the linux-next tree for a while.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
Fix up more-or-less trivial conflicts in
- drivers/char/pcmcia/synclink_cs.c:
tty NULL dereference fix vs tty_port_cts_enabled() helper function
- drivers/staging/{Kconfig,Makefile}:
add-add conflict (dgrp driver added close to other staging drivers)
- drivers/staging/ipack/devices/ipoctal.c:
"split ipoctal_channel from iopctal" vs "TTY: use tty_port_register_device"
* tag 'tty-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (235 commits)
tty/serial: Add kgdb_nmi driver
tty/serial/amba-pl011: Quiesce interrupts in poll_get_char
tty/serial/amba-pl011: Implement poll_init callback
tty/serial/core: Introduce poll_init callback
kdb: Turn KGDB_KDB=n stubs into static inlines
kdb: Implement disable_nmi command
kernel/debug: Mask KGDB NMI upon entry
serial: pl011: handle corruption at high clock speeds
serial: sccnxp: Make 'default' choice in switch last
serial: sccnxp: Remove mask termios caps for SW flow control
serial: sccnxp: Report actual baudrate back to core
serial: samsung: Add poll_get_char & poll_put_char
Powerpc 8xx CPM_UART setting MAXIDL register proportionaly to baud rate
Powerpc 8xx CPM_UART maxidl should not depend on fifo size
Powerpc 8xx CPM_UART too many interrupts
Powerpc 8xx CPM_UART desynchronisation
serial: set correct baud_base for EXSYS EX-41092 Dual 16950
serial: omap: fix the reciever line error case
8250: blacklist Winbond CIR port
8250_pnp: do pnp probe before legacy probe
...
This commit is contained in:
commit
3498d13b80
201 changed files with 18052 additions and 8959 deletions
67
include/linux/platform_data/max310x.h
Normal file
67
include/linux/platform_data/max310x.h
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
/*
|
||||
* Maxim (Dallas) MAX3107/8 serial driver
|
||||
*
|
||||
* Copyright (C) 2012 Alexander Shiyan <shc_work@mail.ru>
|
||||
*
|
||||
* Based on max3100.c, by Christian Pellegrin <chripell@evolware.org>
|
||||
* Based on max3110.c, by Feng Tang <feng.tang@intel.com>
|
||||
* Based on max3107.c, by Aavamobile
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*/
|
||||
|
||||
#ifndef _MAX310X_H_
|
||||
#define _MAX310X_H_
|
||||
|
||||
/*
|
||||
* Example board initialization data:
|
||||
*
|
||||
* static struct max310x_pdata max3107_pdata = {
|
||||
* .driver_flags = MAX310X_EXT_CLK,
|
||||
* .uart_flags[0] = MAX310X_ECHO_SUPRESS | MAX310X_AUTO_DIR_CTRL,
|
||||
* .frequency = 3686400,
|
||||
* .gpio_base = -1,
|
||||
* };
|
||||
*
|
||||
* static struct spi_board_info spi_device_max3107[] = {
|
||||
* {
|
||||
* .modalias = "max3107",
|
||||
* .irq = IRQ_EINT3,
|
||||
* .bus_num = 1,
|
||||
* .chip_select = 1,
|
||||
* .platform_data = &max3107_pdata,
|
||||
* },
|
||||
* };
|
||||
*/
|
||||
|
||||
#define MAX310X_MAX_UARTS 1
|
||||
|
||||
/* MAX310X platform data structure */
|
||||
struct max310x_pdata {
|
||||
/* Flags global to driver */
|
||||
const u8 driver_flags:2;
|
||||
#define MAX310X_EXT_CLK (0x00000001) /* External clock enable */
|
||||
#define MAX310X_AUTOSLEEP (0x00000002) /* Enable AutoSleep mode */
|
||||
/* Flags global to UART port */
|
||||
const u8 uart_flags[MAX310X_MAX_UARTS];
|
||||
#define MAX310X_LOOPBACK (0x00000001) /* Loopback mode enable */
|
||||
#define MAX310X_ECHO_SUPRESS (0x00000002) /* Enable echo supress */
|
||||
#define MAX310X_AUTO_DIR_CTRL (0x00000004) /* Enable Auto direction
|
||||
* control (RS-485)
|
||||
*/
|
||||
/* Frequency (extrenal clock or crystal) */
|
||||
const int frequency;
|
||||
/* GPIO base number (can be negative) */
|
||||
const int gpio_base;
|
||||
/* Called during startup */
|
||||
void (*init)(void);
|
||||
/* Called before finish */
|
||||
void (*exit)(void);
|
||||
/* Suspend callback */
|
||||
void (*suspend)(int do_suspend);
|
||||
};
|
||||
|
||||
#endif
|
||||
93
include/linux/platform_data/sccnxp.h
Normal file
93
include/linux/platform_data/sccnxp.h
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
/*
|
||||
* NXP (Philips) SCC+++(SCN+++) serial driver
|
||||
*
|
||||
* Copyright (C) 2012 Alexander Shiyan <shc_work@mail.ru>
|
||||
*
|
||||
* Based on sc26xx.c, by Thomas Bogendörfer (tsbogend@alpha.franken.de)
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*/
|
||||
|
||||
#ifndef __SCCNXP_H
|
||||
#define __SCCNXP_H
|
||||
|
||||
#define SCCNXP_MAX_UARTS 2
|
||||
|
||||
/* Output lines */
|
||||
#define LINE_OP0 1
|
||||
#define LINE_OP1 2
|
||||
#define LINE_OP2 3
|
||||
#define LINE_OP3 4
|
||||
#define LINE_OP4 5
|
||||
#define LINE_OP5 6
|
||||
#define LINE_OP6 7
|
||||
#define LINE_OP7 8
|
||||
|
||||
/* Input lines */
|
||||
#define LINE_IP0 9
|
||||
#define LINE_IP1 10
|
||||
#define LINE_IP2 11
|
||||
#define LINE_IP3 12
|
||||
#define LINE_IP4 13
|
||||
#define LINE_IP5 14
|
||||
#define LINE_IP6 15
|
||||
|
||||
/* Signals */
|
||||
#define DTR_OP 0 /* DTR */
|
||||
#define RTS_OP 4 /* RTS */
|
||||
#define DSR_IP 8 /* DSR */
|
||||
#define CTS_IP 12 /* CTS */
|
||||
#define DCD_IP 16 /* DCD */
|
||||
#define RNG_IP 20 /* RNG */
|
||||
|
||||
#define DIR_OP 24 /* Special signal for control RS-485.
|
||||
* Goes high when transmit,
|
||||
* then goes low.
|
||||
*/
|
||||
|
||||
/* Routing control signal 'sig' to line 'line' */
|
||||
#define MCTRL_SIG(sig, line) ((line) << (sig))
|
||||
|
||||
/*
|
||||
* Example board initialization data:
|
||||
*
|
||||
* static struct resource sc2892_resources[] = {
|
||||
* DEFINE_RES_MEM(UART_PHYS_START, 0x10),
|
||||
* DEFINE_RES_IRQ(IRQ_EXT2),
|
||||
* };
|
||||
*
|
||||
* static struct sccnxp_pdata sc2892_info = {
|
||||
* .frequency = 3686400,
|
||||
* .mctrl_cfg[0] = MCTRL_SIG(DIR_OP, LINE_OP0),
|
||||
* .mctrl_cfg[1] = MCTRL_SIG(DIR_OP, LINE_OP1),
|
||||
* };
|
||||
*
|
||||
* static struct platform_device sc2892 = {
|
||||
* .name = "sc2892",
|
||||
* .id = -1,
|
||||
* .resource = sc2892_resources,
|
||||
* .num_resources = ARRAY_SIZE(sc2892_resources),
|
||||
* .dev = {
|
||||
* .platform_data = &sc2892_info,
|
||||
* },
|
||||
* };
|
||||
*/
|
||||
|
||||
/* SCCNXP platform data structure */
|
||||
struct sccnxp_pdata {
|
||||
/* Frequency (extrenal clock or crystal) */
|
||||
int frequency;
|
||||
/* Shift for A0 line */
|
||||
const u8 reg_shift;
|
||||
/* Modem control lines configuration */
|
||||
const u32 mctrl_cfg[SCCNXP_MAX_UARTS];
|
||||
/* Called during startup */
|
||||
void (*init)(void);
|
||||
/* Called before finish */
|
||||
void (*exit)(void);
|
||||
};
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue