Merge branches 'cache-l2x0', 'fixes', 'hdrs', 'misc', 'mmci', 'vic' and 'warnings' into for-next
This commit is contained in:
@@ -424,7 +424,6 @@ static void hvc_hangup(struct tty_struct *tty)
|
||||
{
|
||||
struct hvc_struct *hp = tty->driver_data;
|
||||
unsigned long flags;
|
||||
int temp_open_count;
|
||||
|
||||
if (!hp)
|
||||
return;
|
||||
@@ -444,7 +443,6 @@ static void hvc_hangup(struct tty_struct *tty)
|
||||
return;
|
||||
}
|
||||
|
||||
temp_open_count = hp->port.count;
|
||||
hp->port.count = 0;
|
||||
spin_unlock_irqrestore(&hp->port.lock, flags);
|
||||
tty_port_tty_set(&hp->port, NULL);
|
||||
@@ -453,11 +451,6 @@ static void hvc_hangup(struct tty_struct *tty)
|
||||
|
||||
if (hp->ops->notifier_hangup)
|
||||
hp->ops->notifier_hangup(hp, hp->data);
|
||||
|
||||
while(temp_open_count) {
|
||||
--temp_open_count;
|
||||
tty_port_put(&hp->port);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
@@ -162,7 +162,7 @@ int __init hp300_setup_serial_console(void)
|
||||
static int __devinit hpdca_init_one(struct dio_dev *d,
|
||||
const struct dio_device_id *ent)
|
||||
{
|
||||
struct uart_port port;
|
||||
struct uart_8250_port uart;
|
||||
int line;
|
||||
|
||||
#ifdef CONFIG_SERIAL_8250_CONSOLE
|
||||
@@ -174,19 +174,19 @@ static int __devinit hpdca_init_one(struct dio_dev *d,
|
||||
memset(&uart, 0, sizeof(uart));
|
||||
|
||||
/* Memory mapped I/O */
|
||||
port.iotype = UPIO_MEM;
|
||||
port.flags = UPF_SKIP_TEST | UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF;
|
||||
port.irq = d->ipl;
|
||||
port.uartclk = HPDCA_BAUD_BASE * 16;
|
||||
port.mapbase = (d->resource.start + UART_OFFSET);
|
||||
port.membase = (char *)(port.mapbase + DIO_VIRADDRBASE);
|
||||
port.regshift = 1;
|
||||
port.dev = &d->dev;
|
||||
uart.port.iotype = UPIO_MEM;
|
||||
uart.port.flags = UPF_SKIP_TEST | UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF;
|
||||
uart.port.irq = d->ipl;
|
||||
uart.port.uartclk = HPDCA_BAUD_BASE * 16;
|
||||
uart.port.mapbase = (d->resource.start + UART_OFFSET);
|
||||
uart.port.membase = (char *)(uart.port.mapbase + DIO_VIRADDRBASE);
|
||||
uart.port.regshift = 1;
|
||||
uart.port.dev = &d->dev;
|
||||
line = serial8250_register_8250_port(&uart);
|
||||
|
||||
if (line < 0) {
|
||||
printk(KERN_NOTICE "8250_hp300: register_serial() DCA scode %d"
|
||||
" irq %d failed\n", d->scode, port.irq);
|
||||
" irq %d failed\n", d->scode, uart.port.irq);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
|
@@ -1150,7 +1150,7 @@ config SERIAL_SC26XX_CONSOLE
|
||||
Support for Console on SC2681/SC2692 serial ports.
|
||||
|
||||
config SERIAL_SCCNXP
|
||||
bool "SCCNXP serial port support"
|
||||
tristate "SCCNXP serial port support"
|
||||
depends on !SERIAL_SC26XX
|
||||
select SERIAL_CORE
|
||||
default n
|
||||
@@ -1162,7 +1162,7 @@ config SERIAL_SCCNXP
|
||||
|
||||
config SERIAL_SCCNXP_CONSOLE
|
||||
bool "Console on SCCNXP serial port"
|
||||
depends on SERIAL_SCCNXP
|
||||
depends on SERIAL_SCCNXP=y
|
||||
select SERIAL_CORE_CONSOLE
|
||||
help
|
||||
Support for console on SCCNXP serial ports.
|
||||
|
@@ -43,7 +43,6 @@
|
||||
#include <asm/io.h>
|
||||
#include <asm/ioctls.h>
|
||||
|
||||
#include <asm/mach/serial_at91.h>
|
||||
#include <mach/board.h>
|
||||
|
||||
#ifdef CONFIG_ARM
|
||||
@@ -1513,23 +1512,6 @@ static void __devinit atmel_init_port(struct atmel_uart_port *atmel_port,
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Register board-specific modem-control line handlers.
|
||||
*/
|
||||
void __init atmel_register_uart_fns(struct atmel_port_fns *fns)
|
||||
{
|
||||
if (fns->enable_ms)
|
||||
atmel_pops.enable_ms = fns->enable_ms;
|
||||
if (fns->get_mctrl)
|
||||
atmel_pops.get_mctrl = fns->get_mctrl;
|
||||
if (fns->set_mctrl)
|
||||
atmel_pops.set_mctrl = fns->set_mctrl;
|
||||
atmel_open_hook = fns->open;
|
||||
atmel_close_hook = fns->close;
|
||||
atmel_pops.pm = fns->pm;
|
||||
atmel_pops.set_wake = fns->set_wake;
|
||||
}
|
||||
|
||||
struct platform_device *atmel_default_console_device; /* the serial console device */
|
||||
|
||||
#ifdef CONFIG_SERIAL_ATMEL_CONSOLE
|
||||
|
@@ -1239,6 +1239,7 @@ static int __devexit max310x_remove(struct spi_device *spi)
|
||||
static const struct spi_device_id max310x_id_table[] = {
|
||||
{ "max3107", MAX310X_TYPE_MAX3107 },
|
||||
{ "max3108", MAX310X_TYPE_MAX3108 },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(spi, max310x_id_table);
|
||||
|
||||
|
@@ -671,19 +671,19 @@ serial_omap_configure_xonxoff
|
||||
|
||||
/*
|
||||
* IXON Flag:
|
||||
* Flow control for OMAP.TX
|
||||
* OMAP.RX should listen for XON/XOFF
|
||||
* Enable XON/XOFF flow control on output.
|
||||
* Transmit XON1, XOFF1
|
||||
*/
|
||||
if (termios->c_iflag & IXON)
|
||||
up->efr |= OMAP_UART_SW_RX;
|
||||
up->efr |= OMAP_UART_SW_TX;
|
||||
|
||||
/*
|
||||
* IXOFF Flag:
|
||||
* Flow control for OMAP.RX
|
||||
* OMAP.TX should send XON/XOFF
|
||||
* Enable XON/XOFF flow control on input.
|
||||
* Receiver compares XON1, XOFF1.
|
||||
*/
|
||||
if (termios->c_iflag & IXOFF)
|
||||
up->efr |= OMAP_UART_SW_TX;
|
||||
up->efr |= OMAP_UART_SW_RX;
|
||||
|
||||
serial_out(up, UART_EFR, up->efr | UART_EFR_ECB);
|
||||
serial_out(up, UART_LCR, UART_LCR_CONF_MODE_A);
|
||||
|
@@ -29,6 +29,7 @@
|
||||
#include <linux/init.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/sysrq.h>
|
||||
#include <linux/platform_data/sa11x0-serial.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/tty.h>
|
||||
#include <linux/tty_flip.h>
|
||||
@@ -39,7 +40,6 @@
|
||||
#include <asm/irq.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <mach/irqs.h>
|
||||
#include <asm/mach/serial_sa1100.h>
|
||||
|
||||
/* We've been assigned a range on the "Low-density serial ports" major */
|
||||
#define SERIAL_SA1100_MAJOR 204
|
||||
|
@@ -971,6 +971,7 @@ static const struct platform_device_id sccnxp_id_table[] = {
|
||||
{ "sc28202", SCCNXP_TYPE_SC28202 },
|
||||
{ "sc68681", SCCNXP_TYPE_SC68681 },
|
||||
{ "sc68692", SCCNXP_TYPE_SC68692 },
|
||||
{ },
|
||||
};
|
||||
MODULE_DEVICE_TABLE(platform, sccnxp_id_table);
|
||||
|
||||
|
@@ -530,7 +530,8 @@ static inline int sci_rxd_in(struct uart_port *port)
|
||||
if (s->cfg->port_reg <= 0)
|
||||
return 1;
|
||||
|
||||
return !!__raw_readb(s->cfg->port_reg);
|
||||
/* Cast for ARM damage */
|
||||
return !!__raw_readb((void __iomem *)s->cfg->port_reg);
|
||||
}
|
||||
|
||||
/* ********************************************************************** *
|
||||
|
@@ -452,6 +452,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = {
|
||||
NULL, /* v */
|
||||
&sysrq_showstate_blocked_op, /* w */
|
||||
/* x: May be registered on ppc/powerpc for xmon */
|
||||
/* x: May be registered on sparc64 for global PMU dump */
|
||||
NULL, /* x */
|
||||
/* y: May be registered on sparc64 for global register dump */
|
||||
NULL, /* y */
|
||||
|
@@ -539,25 +539,25 @@ static void insert_char(struct vc_data *vc, unsigned int nr)
|
||||
{
|
||||
unsigned short *p = (unsigned short *) vc->vc_pos;
|
||||
|
||||
scr_memmovew(p + nr, p, vc->vc_cols - vc->vc_x);
|
||||
scr_memmovew(p + nr, p, (vc->vc_cols - vc->vc_x) * 2);
|
||||
scr_memsetw(p, vc->vc_video_erase_char, nr * 2);
|
||||
vc->vc_need_wrap = 0;
|
||||
if (DO_UPDATE(vc))
|
||||
do_update_region(vc, (unsigned long) p,
|
||||
(vc->vc_cols - vc->vc_x) / 2 + 1);
|
||||
vc->vc_cols - vc->vc_x);
|
||||
}
|
||||
|
||||
static void delete_char(struct vc_data *vc, unsigned int nr)
|
||||
{
|
||||
unsigned short *p = (unsigned short *) vc->vc_pos;
|
||||
|
||||
scr_memcpyw(p, p + nr, vc->vc_cols - vc->vc_x - nr);
|
||||
scr_memcpyw(p, p + nr, (vc->vc_cols - vc->vc_x - nr) * 2);
|
||||
scr_memsetw(p + vc->vc_cols - vc->vc_x - nr, vc->vc_video_erase_char,
|
||||
nr * 2);
|
||||
vc->vc_need_wrap = 0;
|
||||
if (DO_UPDATE(vc))
|
||||
do_update_region(vc, (unsigned long) p,
|
||||
(vc->vc_cols - vc->vc_x) / 2);
|
||||
vc->vc_cols - vc->vc_x);
|
||||
}
|
||||
|
||||
static int softcursor_original;
|
||||
|
Reference in New Issue
Block a user