Merge commit 'origin/master' into next
Manual merge of: arch/powerpc/include/asm/elf.h drivers/i2c/busses/i2c-mpc.c
This commit is contained in:
@@ -14,8 +14,8 @@
|
||||
#include <linux/tty_flip.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/serial.h>
|
||||
#include <linux/io.h>
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/hardware/dec21285.h>
|
||||
|
@@ -628,7 +628,7 @@ config SERIAL_MPSC_CONSOLE
|
||||
|
||||
config SERIAL_PXA
|
||||
bool "PXA serial port support"
|
||||
depends on ARM && ARCH_PXA
|
||||
depends on ARCH_PXA || ARCH_MMP
|
||||
select SERIAL_CORE
|
||||
help
|
||||
If you have a machine based on an Intel XScale PXA2xx CPU you
|
||||
|
@@ -38,9 +38,9 @@
|
||||
#include <linux/tty_flip.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/serial.h>
|
||||
#include <linux/io.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/hardware/clps7111.h>
|
||||
|
||||
|
@@ -1129,7 +1129,7 @@ static int serial_imx_probe(struct platform_device *pdev)
|
||||
sport->timer.function = imx_timeout;
|
||||
sport->timer.data = (unsigned long)sport;
|
||||
|
||||
sport->clk = clk_get(&pdev->dev, "uart_clk");
|
||||
sport->clk = clk_get(&pdev->dev, "uart");
|
||||
if (IS_ERR(sport->clk)) {
|
||||
ret = PTR_ERR(sport->clk);
|
||||
goto unmap;
|
||||
|
@@ -43,13 +43,7 @@
|
||||
#include <linux/tty_flip.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/clk.h>
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/irq.h>
|
||||
#include <mach/pxa-regs.h>
|
||||
#include <mach/regs-uart.h>
|
||||
|
||||
#include <linux/io.h>
|
||||
|
||||
struct uart_pxa_port {
|
||||
struct uart_port port;
|
||||
@@ -491,7 +485,7 @@ serial_pxa_set_termios(struct uart_port *port, struct ktermios *termios,
|
||||
* Ensure the port will be enabled.
|
||||
* This is required especially for serial console.
|
||||
*/
|
||||
up->ier |= IER_UUE;
|
||||
up->ier |= UART_IER_UUE;
|
||||
|
||||
/*
|
||||
* Update the per-port timeout.
|
||||
@@ -784,19 +778,15 @@ static int serial_pxa_probe(struct platform_device *dev)
|
||||
sport->port.flags = UPF_IOREMAP | UPF_BOOT_AUTOCONF;
|
||||
sport->port.uartclk = clk_get_rate(sport->clk);
|
||||
|
||||
/*
|
||||
* Is it worth keeping this?
|
||||
*/
|
||||
if (mmres->start == __PREG(FFUART))
|
||||
sport->name = "FFUART";
|
||||
else if (mmres->start == __PREG(BTUART))
|
||||
sport->name = "BTUART";
|
||||
else if (mmres->start == __PREG(STUART))
|
||||
sport->name = "STUART";
|
||||
else if (mmres->start == __PREG(HWUART))
|
||||
sport->name = "HWUART";
|
||||
else
|
||||
switch (dev->id) {
|
||||
case 0: sport->name = "FFUART"; break;
|
||||
case 1: sport->name = "BTUART"; break;
|
||||
case 2: sport->name = "STUART"; break;
|
||||
case 3: sport->name = "HWUART"; break;
|
||||
default:
|
||||
sport->name = "???";
|
||||
break;
|
||||
}
|
||||
|
||||
sport->port.membase = ioremap(mmres->start, mmres->end - mmres->start + 1);
|
||||
if (!sport->port.membase) {
|
||||
|
@@ -36,8 +36,8 @@
|
||||
#include <linux/tty_flip.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/serial.h>
|
||||
#include <linux/io.h>
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/mach/serial_sa1100.h>
|
||||
|
@@ -139,7 +139,7 @@ static void sci_poll_put_char(struct uart_port *port, unsigned char c)
|
||||
} while (!(status & SCxSR_TDxE(port)));
|
||||
|
||||
sci_in(port, SCxSR); /* Dummy read */
|
||||
sci_out(port, SCxSR, SCxSR_TDxE_CLEAR(port));
|
||||
sci_out(port, SCxSR, SCxSR_TDxE_CLEAR(port) & ~SCxSR_TEND(port));
|
||||
sci_out(port, SCxTDR, c);
|
||||
}
|
||||
#endif /* CONFIG_CONSOLE_POLL || CONFIG_SERIAL_SH_SCI_CONSOLE */
|
||||
@@ -263,6 +263,7 @@ static inline void sci_init_pins(struct uart_port *port, unsigned int cflag)
|
||||
#elif defined(CONFIG_CPU_SUBTYPE_SH7763) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7780) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7785) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7786) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SHX3)
|
||||
static inline void sci_init_pins(struct uart_port *port, unsigned int cflag)
|
||||
{
|
||||
@@ -284,7 +285,8 @@ static inline void sci_init_pins(struct uart_port *port, unsigned int cflag)
|
||||
|
||||
#if defined(CONFIG_CPU_SUBTYPE_SH7760) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7780) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7785)
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7785) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7786)
|
||||
static inline int scif_txroom(struct uart_port *port)
|
||||
{
|
||||
return SCIF_TXROOM_MAX - (sci_in(port, SCTFDR) & 0xff);
|
||||
@@ -1095,6 +1097,7 @@ static void serial_console_write(struct console *co, const char *s,
|
||||
unsigned count)
|
||||
{
|
||||
struct uart_port *port = &serial_console_port->port;
|
||||
unsigned short bits;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
@@ -1103,6 +1106,11 @@ static void serial_console_write(struct console *co, const char *s,
|
||||
|
||||
sci_poll_put_char(port, *s++);
|
||||
}
|
||||
|
||||
/* wait until fifo is empty and last bit has been transmitted */
|
||||
bits = SCxSR_TDxE(port) | SCxSR_TEND(port);
|
||||
while ((sci_in(port, SCxSR) & bits) != bits)
|
||||
cpu_relax();
|
||||
}
|
||||
|
||||
static int __init serial_console_setup(struct console *co, char *options)
|
||||
|
@@ -1,6 +1,6 @@
|
||||
#include <linux/serial_core.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/gpio.h>
|
||||
#include <linux/gpio.h>
|
||||
|
||||
#if defined(CONFIG_H83007) || defined(CONFIG_H83068)
|
||||
#include <asm/regs306x.h>
|
||||
@@ -126,7 +126,8 @@
|
||||
# define SCSPTR1 0xffe10024 /* 16 bit SCIF */
|
||||
# define SCIF_ORER 0x0001 /* Overrun error bit */
|
||||
# define SCSCR_INIT(port) 0x3a /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */
|
||||
#elif defined(CONFIG_CPU_SUBTYPE_SH7785)
|
||||
#elif defined(CONFIG_CPU_SUBTYPE_SH7785) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7786)
|
||||
# define SCSPTR0 0xffea0024 /* 16 bit SCIF */
|
||||
# define SCSPTR1 0xffeb0024 /* 16 bit SCIF */
|
||||
# define SCSPTR2 0xffec0024 /* 16 bit SCIF */
|
||||
@@ -182,6 +183,7 @@
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7763) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7780) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7785) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7786) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SHX3)
|
||||
#define SCI_CTRL_FLAGS_REIE 0x08 /* 7750 SCIF */
|
||||
#else
|
||||
@@ -413,7 +415,8 @@ SCIx_FNS(SCxRDR, 0x0a, 8, 0x14, 8, 0x0A, 8, 0x14, 8, 0x05, 8)
|
||||
SCIF_FNS(SCFCR, 0x0c, 8, 0x18, 16)
|
||||
#if defined(CONFIG_CPU_SUBTYPE_SH7760) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7780) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7785)
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7785) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7786)
|
||||
SCIF_FNS(SCFDR, 0x0e, 16, 0x1C, 16)
|
||||
SCIF_FNS(SCTFDR, 0x0e, 16, 0x1C, 16)
|
||||
SCIF_FNS(SCRFDR, 0x0e, 16, 0x20, 16)
|
||||
@@ -644,7 +647,8 @@ static inline int sci_rxd_in(struct uart_port *port)
|
||||
return ctrl_inw(SCSPTR1) & 0x0001 ? 1 : 0; /* SCIF */
|
||||
return 1;
|
||||
}
|
||||
#elif defined(CONFIG_CPU_SUBTYPE_SH7785)
|
||||
#elif defined(CONFIG_CPU_SUBTYPE_SH7785) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7786)
|
||||
static inline int sci_rxd_in(struct uart_port *port)
|
||||
{
|
||||
if (port->mapbase == 0xffea0000)
|
||||
@@ -746,7 +750,8 @@ static inline int sci_rxd_in(struct uart_port *port)
|
||||
*/
|
||||
|
||||
#if defined(CONFIG_CPU_SUBTYPE_SH7780) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7785)
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7785) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7786)
|
||||
#define SCBRR_VALUE(bps, clk) ((clk+16*bps)/(16*bps)-1)
|
||||
#elif defined(CONFIG_CPU_SUBTYPE_SH7705) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7720) || \
|
||||
|
@@ -1438,12 +1438,12 @@ static int __devinit zs_probe(struct of_device *op, const struct of_device_id *m
|
||||
} else {
|
||||
printk(KERN_INFO "%s: Keyboard at MMIO 0x%llx (irq = %d) "
|
||||
"is a %s\n",
|
||||
op->dev.bus_id,
|
||||
dev_name(&op->dev),
|
||||
(unsigned long long) up[0].port.mapbase,
|
||||
op->irqs[0], sunzilog_type(&up[0].port));
|
||||
printk(KERN_INFO "%s: Mouse at MMIO 0x%llx (irq = %d) "
|
||||
"is a %s\n",
|
||||
op->dev.bus_id,
|
||||
dev_name(&op->dev),
|
||||
(unsigned long long) up[1].port.mapbase,
|
||||
op->irqs[0], sunzilog_type(&up[1].port));
|
||||
kbm_inst++;
|
||||
|
Reference in New Issue
Block a user