mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
Merge branch 'devel-stable' into devel
Conflicts: arch/arm/Kconfig arch/arm/include/asm/system.h arch/arm/mm/Kconfig
This commit is contained in:
commit
ac1d426e82
5500 changed files with 78713 additions and 17953 deletions
|
|
@ -35,6 +35,7 @@
|
|||
#include <linux/pm.h>
|
||||
#include <linux/bitops.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/gfp.h>
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@
|
|||
#include <linux/serial_8250.h>
|
||||
#include <linux/nmi.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@
|
|||
#include <linux/module.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/signal.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
#include <asm/hardware.h>
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
#include <linux/delay.h>
|
||||
#include <linux/dio.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/slab.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
#include "8250.h"
|
||||
|
|
|
|||
|
|
@ -348,6 +348,8 @@ static const struct pnp_device_id pnp_dev_table[] = {
|
|||
{ "FUJ02E6", 0 },
|
||||
/* Fujitsu Wacom 2FGT Tablet PC device */
|
||||
{ "FUJ02E7", 0 },
|
||||
/* Fujitsu Wacom 1FGT Tablet PC device */
|
||||
{ "FUJ02E9", 0 },
|
||||
/*
|
||||
* LG C1 EXPRESS DUAL (C1-PB11A3) touch screen (actually a FUJ02E6 in
|
||||
* disguise)
|
||||
|
|
|
|||
|
|
@ -518,12 +518,13 @@ config SERIAL_S3C2412
|
|||
Serial port support for the Samsung S3C2412 and S3C2413 SoC
|
||||
|
||||
config SERIAL_S3C2440
|
||||
tristate "Samsung S3C2440/S3C2442 Serial port support"
|
||||
depends on SERIAL_SAMSUNG && (CPU_S3C2440 || CPU_S3C2442)
|
||||
tristate "Samsung S3C2440/S3C2442/S3C2416 Serial port support"
|
||||
depends on SERIAL_SAMSUNG && (CPU_S3C2440 || CPU_S3C2442 || CPU_S3C2416)
|
||||
default y if CPU_S3C2440
|
||||
default y if CPU_S3C2442
|
||||
select SERIAL_SAMSUNG_UARTS_4 if CPU_S3C2416
|
||||
help
|
||||
Serial port support for the Samsung S3C2440 and S3C2442 SoC
|
||||
Serial port support for the Samsung S3C2440, S3C2416 and S3C2442 SoC
|
||||
|
||||
config SERIAL_S3C24A0
|
||||
tristate "Samsung S3C24A0 Serial port support"
|
||||
|
|
|
|||
|
|
@ -47,6 +47,7 @@
|
|||
#include <linux/amba/bus.h>
|
||||
#include <linux/amba/serial.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
#include <asm/io.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -47,6 +47,7 @@
|
|||
#include <linux/amba/bus.h>
|
||||
#include <linux/amba/serial.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <asm/sizes.h>
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@
|
|||
|
||||
#include <linux/module.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/console.h>
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
#include <linux/init.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/sysrq.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/tty.h>
|
||||
#include <linux/tty_flip.h>
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
|
||||
#include <linux/module.h>
|
||||
#include <linux/tty.h>
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/serial.h>
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
#include <linux/module.h>
|
||||
#include <linux/tty.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/serial.h>
|
||||
#include <linux/console.h>
|
||||
|
|
@ -61,7 +62,7 @@ void __iomem *cpm_uart_map_pram(struct uart_cpm_port *port,
|
|||
void __iomem *pram;
|
||||
unsigned long offset;
|
||||
struct resource res;
|
||||
unsigned long len;
|
||||
resource_size_t len;
|
||||
|
||||
/* Don't remap parameter RAM if it has already been initialized
|
||||
* during console setup.
|
||||
|
|
@ -74,7 +75,7 @@ void __iomem *cpm_uart_map_pram(struct uart_cpm_port *port,
|
|||
if (of_address_to_resource(np, 1, &res))
|
||||
return NULL;
|
||||
|
||||
len = 1 + res.end - res.start;
|
||||
len = resource_size(&res);
|
||||
pram = ioremap(res.start, len);
|
||||
if (!pram)
|
||||
return NULL;
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@
|
|||
#include <linux/clk.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/rational.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
#include <linux/pci.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/ioc3.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
/*
|
||||
* Interesting things about the ioc3
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
#include <linux/pci.h>
|
||||
#include <linux/ioc4.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
/*
|
||||
* interesting things about the ioc4
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
***********************************************************************/
|
||||
#include <linux/moduleparam.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
#include "jsm.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
#include <linux/serial_reg.h>
|
||||
#include <linux/delay.h> /* For udelay */
|
||||
#include <linux/pci.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
#include "jsm.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@
|
|||
#define MAX_MAX3100 4
|
||||
|
||||
#include <linux/delay.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/serial.h>
|
||||
|
|
|
|||
|
|
@ -263,6 +263,7 @@ static void mcf_set_termios(struct uart_port *port, struct ktermios *termios,
|
|||
}
|
||||
|
||||
spin_lock_irqsave(&port->lock, flags);
|
||||
uart_update_timeout(port, termios->c_cflag, baud);
|
||||
writeb(MCFUART_UCR_CMDRESETRX, port->membase + MCFUART_UCR);
|
||||
writeb(MCFUART_UCR_CMDRESETTX, port->membase + MCFUART_UCR);
|
||||
writeb(MCFUART_UCR_CMDRESETMRPTR, port->membase + MCFUART_UCR);
|
||||
|
|
@ -379,6 +380,7 @@ static irqreturn_t mcf_interrupt(int irq, void *data)
|
|||
static void mcf_config_port(struct uart_port *port, int flags)
|
||||
{
|
||||
port->type = PORT_MCF;
|
||||
port->fifosize = MCFUART_TXFIFOSIZE;
|
||||
|
||||
/* Clear mask, so no surprise interrupts. */
|
||||
writeb(0, port->membase + MCFUART_UIMR);
|
||||
|
|
@ -424,7 +426,7 @@ static int mcf_verify_port(struct uart_port *port, struct serial_struct *ser)
|
|||
/*
|
||||
* Define the basic serial functions we support.
|
||||
*/
|
||||
static struct uart_ops mcf_uart_ops = {
|
||||
static const struct uart_ops mcf_uart_ops = {
|
||||
.tx_empty = mcf_tx_empty,
|
||||
.get_mctrl = mcf_get_mctrl,
|
||||
.set_mctrl = mcf_set_mctrl,
|
||||
|
|
@ -443,7 +445,7 @@ static struct uart_ops mcf_uart_ops = {
|
|||
.verify_port = mcf_verify_port,
|
||||
};
|
||||
|
||||
static struct mcf_uart mcf_ports[3];
|
||||
static struct mcf_uart mcf_ports[4];
|
||||
|
||||
#define MCF_MAXPORTS ARRAY_SIZE(mcf_ports)
|
||||
|
||||
|
|
|
|||
|
|
@ -29,39 +29,6 @@
|
|||
* kind, whether express or implied.
|
||||
*/
|
||||
|
||||
/* Platform device Usage :
|
||||
*
|
||||
* Since PSCs can have multiple function, the correct driver for each one
|
||||
* is selected by calling mpc52xx_match_psc_function(...). The function
|
||||
* handled by this driver is "uart".
|
||||
*
|
||||
* The driver init all necessary registers to place the PSC in uart mode without
|
||||
* DCD. However, the pin multiplexing aren't changed and should be set either
|
||||
* by the bootloader or in the platform init code.
|
||||
*
|
||||
* The idx field must be equal to the PSC index (e.g. 0 for PSC1, 1 for PSC2,
|
||||
* and so on). So the PSC1 is mapped to /dev/ttyPSC0, PSC2 to /dev/ttyPSC1 and
|
||||
* so on. But be warned, it's an ABSOLUTE REQUIREMENT ! This is needed mainly
|
||||
* fpr the console code : without this 1:1 mapping, at early boot time, when we
|
||||
* are parsing the kernel args console=ttyPSC?, we wouldn't know which PSC it
|
||||
* will be mapped to.
|
||||
*/
|
||||
|
||||
/* OF Platform device Usage :
|
||||
*
|
||||
* This driver is only used for PSCs configured in uart mode. The device
|
||||
* tree will have a node for each PSC with "mpc52xx-psc-uart" in the compatible
|
||||
* list.
|
||||
*
|
||||
* By default, PSC devices are enumerated in the order they are found. However
|
||||
* a particular PSC number can be forces by adding 'device_no = <port#>'
|
||||
* to the device node.
|
||||
*
|
||||
* The driver init all necessary registers to place the PSC in uart mode without
|
||||
* DCD. However, the pin multiplexing aren't changed and should be set either
|
||||
* by the bootloader or in the platform init code.
|
||||
*/
|
||||
|
||||
#undef DEBUG
|
||||
|
||||
#include <linux/device.h>
|
||||
|
|
|
|||
|
|
@ -70,6 +70,7 @@
|
|||
#include <linux/dma-mapping.h>
|
||||
#include <linux/mv643xx.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/gfp.h>
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@
|
|||
#include <linux/init.h>
|
||||
#include <linux/serial.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/delay.h> /* for udelay */
|
||||
#include <linux/device.h>
|
||||
#include <asm/io.h>
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
*/
|
||||
#include <linux/init.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/serial_8250.h>
|
||||
#include <linux/of_platform.h>
|
||||
|
|
|
|||
|
|
@ -54,7 +54,6 @@
|
|||
#include <linux/delay.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/adb.h>
|
||||
#include <linux/pmu.h>
|
||||
#include <linux/bitops.h>
|
||||
|
|
@ -753,8 +752,10 @@ static void pmz_break_ctl(struct uart_port *port, int break_state)
|
|||
uap->curregs[R5] = new_reg;
|
||||
|
||||
/* NOTE: Not subject to 'transmitter active' rule. */
|
||||
if (ZS_IS_ASLEEP(uap))
|
||||
if (ZS_IS_ASLEEP(uap)) {
|
||||
spin_unlock_irqrestore(&port->lock, flags);
|
||||
return;
|
||||
}
|
||||
write_zsreg(uap, R5, uap->curregs[R5]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@
|
|||
#include <linux/serial_core.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
struct uart_pxa_port {
|
||||
struct uart_port port;
|
||||
|
|
|
|||
|
|
@ -105,6 +105,10 @@ struct serial_cfg_mem {
|
|||
* manfid 0x0160, 0x0104
|
||||
* This card appears to have a 14.7456MHz clock.
|
||||
*/
|
||||
/* Generic Modem: MD55x (GPRS/EDGE) have
|
||||
* Elan VPU16551 UART with 14.7456MHz oscillator
|
||||
* manfid 0x015D, 0x4C45
|
||||
*/
|
||||
static void quirk_setup_brainboxes_0104(struct pcmcia_device *link, struct uart_port *port)
|
||||
{
|
||||
port->uartclk = 14745600;
|
||||
|
|
@ -195,6 +199,11 @@ static const struct serial_quirk quirks[] = {
|
|||
.prodid = 0x0104,
|
||||
.multi = -1,
|
||||
.setup = quirk_setup_brainboxes_0104,
|
||||
}, {
|
||||
.manfid = 0x015D,
|
||||
.prodid = 0x4C45,
|
||||
.multi = -1,
|
||||
.setup = quirk_setup_brainboxes_0104,
|
||||
}, {
|
||||
.manfid = MANFID_IBM,
|
||||
.prodid = ~0,
|
||||
|
|
@ -745,6 +754,7 @@ static struct pcmcia_device_id serial_ids[] = {
|
|||
PCMCIA_PFC_DEVICE_PROD_ID13(1, "Xircom", "REM10", 0x2e3ee845, 0x76df1d29),
|
||||
PCMCIA_PFC_DEVICE_PROD_ID13(1, "Xircom", "XEM5600", 0x2e3ee845, 0xf1403719),
|
||||
PCMCIA_PFC_DEVICE_PROD_ID12(1, "AnyCom", "Fast Ethernet + 56K COMBO", 0x578ba6e7, 0xb0ac62c4),
|
||||
PCMCIA_PFC_DEVICE_PROD_ID12(1, "ATKK", "LM33-PCM-T", 0xba9eb7e2, 0x077c174e),
|
||||
PCMCIA_PFC_DEVICE_PROD_ID12(1, "D-Link", "DME336T", 0x1a424a1c, 0xb23897ff),
|
||||
PCMCIA_PFC_DEVICE_PROD_ID12(1, "Gateway 2000", "XJEM3336", 0xdd9989be, 0x662c394c),
|
||||
PCMCIA_PFC_DEVICE_PROD_ID12(1, "Grey Cell", "GCS3000", 0x2a151fac, 0x48b932ae),
|
||||
|
|
|
|||
|
|
@ -650,6 +650,7 @@ static struct console ks8695_console = {
|
|||
|
||||
static int __init ks8695_console_init(void)
|
||||
{
|
||||
add_preferred_console(SERIAL_KS8695_DEVNAME, 0, NULL);
|
||||
register_console(&ks8695_console);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@
|
|||
#include <linux/list.h>
|
||||
#include <linux/dmaengine.h>
|
||||
#include <linux/scatterlist.h>
|
||||
#include <linux/timer.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
#ifdef CONFIG_SUPERH
|
||||
#include <asm/sh_bios.h>
|
||||
|
|
@ -780,10 +780,6 @@ static irqreturn_t sci_mpxed_interrupt(int irq, void *ptr)
|
|||
if ((ssr_status & SCxSR_BRK(port)) && err_enabled)
|
||||
ret = sci_br_interrupt(irq, ptr);
|
||||
|
||||
WARN_ONCE(ret == IRQ_NONE,
|
||||
"%s: %d IRQ %d, status %x, control %x\n", __func__,
|
||||
irq, port->line, ssr_status, scr_status);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,9 @@
|
|||
# define SCSCR_INIT(port) (port->mapbase == SCIF2) ? 0xF3 : 0xF0
|
||||
#elif defined(CONFIG_CPU_SUBTYPE_SH7720) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7721) || \
|
||||
defined(CONFIG_ARCH_SHMOBILE)
|
||||
defined(CONFIG_ARCH_SH7367) || \
|
||||
defined(CONFIG_ARCH_SH7377) || \
|
||||
defined(CONFIG_ARCH_SH7372)
|
||||
# define SCSCR_INIT(port) 0x0030 /* TIE=0,RIE=0,TE=1,RE=1 */
|
||||
# define PORT_PTCR 0xA405011EUL
|
||||
# define PORT_PVCR 0xA4050122UL
|
||||
|
|
@ -94,7 +96,9 @@
|
|||
# define SCSCR_INIT(port) 0x0038 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */
|
||||
#elif defined(CONFIG_CPU_SUBTYPE_SH7724)
|
||||
# define SCIF_ORER 0x0001 /* overrun error bit */
|
||||
# define SCSCR_INIT(port) 0x0038 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */
|
||||
# define SCSCR_INIT(port) ((port)->type == PORT_SCIFA ? \
|
||||
0x30 /* TIE=0,RIE=0,TE=1,RE=1 */ : \
|
||||
0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ )
|
||||
#elif defined(CONFIG_CPU_SUBTYPE_SH4_202)
|
||||
# define SCSPTR2 0xffe80020 /* 16 bit SCIF */
|
||||
# define SCIF_ORER 0x0001 /* overrun error bit */
|
||||
|
|
@ -197,6 +201,8 @@
|
|||
defined(CONFIG_CPU_SUBTYPE_SH7786) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SHX3)
|
||||
#define SCI_CTRL_FLAGS_REIE 0x08 /* 7750 SCIF */
|
||||
#elif defined(CONFIG_CPU_SUBTYPE_SH7724)
|
||||
#define SCI_CTRL_FLAGS_REIE ((port)->type == PORT_SCIFA ? 0 : 8)
|
||||
#else
|
||||
#define SCI_CTRL_FLAGS_REIE 0
|
||||
#endif
|
||||
|
|
@ -230,7 +236,9 @@
|
|||
#if defined(CONFIG_CPU_SUBTYPE_SH7705) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7720) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7721) || \
|
||||
defined(CONFIG_ARCH_SHMOBILE)
|
||||
defined(CONFIG_ARCH_SH7367) || \
|
||||
defined(CONFIG_ARCH_SH7377) || \
|
||||
defined(CONFIG_ARCH_SH7372)
|
||||
# define SCIF_ORER 0x0200
|
||||
# define SCIF_ERRORS ( SCIF_PER | SCIF_FER | SCIF_ER | SCIF_BRK | SCIF_ORER)
|
||||
# define SCIF_RFDC_MASK 0x007f
|
||||
|
|
@ -264,7 +272,9 @@
|
|||
#if defined(CONFIG_CPU_SUBTYPE_SH7705) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7720) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7721) || \
|
||||
defined(CONFIG_ARCH_SHMOBILE)
|
||||
defined(CONFIG_ARCH_SH7367) || \
|
||||
defined(CONFIG_ARCH_SH7377) || \
|
||||
defined(CONFIG_ARCH_SH7372)
|
||||
# define SCxSR_RDxF_CLEAR(port) (sci_in(port, SCxSR) & 0xfffc)
|
||||
# define SCxSR_ERROR_CLEAR(port) (sci_in(port, SCxSR) & 0xfd73)
|
||||
# define SCxSR_TDxE_CLEAR(port) (sci_in(port, SCxSR) & 0xffdf)
|
||||
|
|
@ -359,7 +369,10 @@
|
|||
SCI_OUT(sci_size, sci_offset, value); \
|
||||
}
|
||||
|
||||
#if defined(CONFIG_CPU_SH3) || defined(CONFIG_ARCH_SHMOBILE)
|
||||
#if defined(CONFIG_CPU_SH3) || \
|
||||
defined(CONFIG_ARCH_SH7367) || \
|
||||
defined(CONFIG_ARCH_SH7377) || \
|
||||
defined(CONFIG_ARCH_SH7372)
|
||||
#if defined(CONFIG_CPU_SUBTYPE_SH7710) || defined(CONFIG_CPU_SUBTYPE_SH7712)
|
||||
#define SCIx_FNS(name, sh3_sci_offset, sh3_sci_size, sh4_sci_offset, sh4_sci_size, \
|
||||
sh3_scif_offset, sh3_scif_size, sh4_scif_offset, sh4_scif_size, \
|
||||
|
|
@ -370,7 +383,9 @@
|
|||
#elif defined(CONFIG_CPU_SUBTYPE_SH7705) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7720) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7721) || \
|
||||
defined(CONFIG_ARCH_SHMOBILE)
|
||||
defined(CONFIG_ARCH_SH7367) || \
|
||||
defined(CONFIG_ARCH_SH7377) || \
|
||||
defined(CONFIG_ARCH_SH7372)
|
||||
#define SCIF_FNS(name, scif_offset, scif_size) \
|
||||
CPU_SCIF_FNS(name, scif_offset, scif_size)
|
||||
#else
|
||||
|
|
@ -406,7 +421,9 @@
|
|||
#if defined(CONFIG_CPU_SUBTYPE_SH7705) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7720) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7721) || \
|
||||
defined(CONFIG_ARCH_SHMOBILE)
|
||||
defined(CONFIG_ARCH_SH7367) || \
|
||||
defined(CONFIG_ARCH_SH7377) || \
|
||||
defined(CONFIG_ARCH_SH7372)
|
||||
|
||||
SCIF_FNS(SCSMR, 0x00, 16)
|
||||
SCIF_FNS(SCBRR, 0x04, 8)
|
||||
|
|
@ -589,7 +606,9 @@ static inline int sci_rxd_in(struct uart_port *port)
|
|||
#elif defined(CONFIG_CPU_SUBTYPE_SH7705) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7720) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7721) || \
|
||||
defined(CONFIG_ARCH_SHMOBILE)
|
||||
defined(CONFIG_ARCH_SH7367) || \
|
||||
defined(CONFIG_ARCH_SH7377) || \
|
||||
defined(CONFIG_ARCH_SH7372)
|
||||
#define SCBRR_VALUE(bps, clk) (((clk*2)+16*bps)/(32*bps)-1)
|
||||
#elif defined(CONFIG_CPU_SUBTYPE_SH7723) ||\
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7724)
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
#include <linux/serial.h>
|
||||
#include <linux/sysrq.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/slab.h>
|
||||
#ifdef CONFIG_SERIO
|
||||
#include <linux/serio.h>
|
||||
#endif
|
||||
|
|
@ -1453,8 +1454,10 @@ static int __devinit su_probe(struct of_device *op, const struct of_device_id *m
|
|||
if (up->su_type == SU_PORT_KBD || up->su_type == SU_PORT_MS) {
|
||||
err = sunsu_kbd_ms_init(up);
|
||||
if (err) {
|
||||
of_iounmap(&op->resource[0],
|
||||
up->port.membase, up->reg_size);
|
||||
kfree(up);
|
||||
goto out_unmap;
|
||||
return err;
|
||||
}
|
||||
dev_set_drvdata(&op->dev, up);
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
#include "timbuart.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
|
||||
#include <linux/module.h>
|
||||
#include <linux/serial.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/of_platform.h>
|
||||
|
|
|
|||
Loading…
Reference in a new issue