mm: fix exec activate_mm vs TLB shootdown and lazy tlb switching race
[linux/fpc-iii.git] / arch / arm / mach-s3c64xx / dev-uart.c
bloba0b4f0329811ee78984575b76b00ce9c9c87a14a
1 /* linux/arch/arm/plat-s3c64xx/dev-uart.c
3 * Copyright 2008 Openmoko, Inc.
4 * Copyright 2008 Simtec Electronics
5 * Ben Dooks <ben@simtec.co.uk>
6 * http://armlinux.simtec.co.uk/
8 * Base S3C64XX UART resource and device definitions
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
16 #include <linux/kernel.h>
17 #include <linux/types.h>
18 #include <linux/interrupt.h>
19 #include <linux/list.h>
20 #include <linux/platform_device.h>
22 #include <asm/mach/arch.h>
23 #include <asm/mach/irq.h>
24 #include <mach/hardware.h>
25 #include <mach/map.h>
26 #include <mach/irqs.h>
28 #include <plat/devs.h>
30 /* Serial port registrations */
32 /* 64xx uarts are closer together */
34 static struct resource s3c64xx_uart0_resource[] = {
35 [0] = DEFINE_RES_MEM(S3C_PA_UART0, SZ_256),
36 [1] = DEFINE_RES_IRQ(IRQ_UART0),
39 static struct resource s3c64xx_uart1_resource[] = {
40 [0] = DEFINE_RES_MEM(S3C_PA_UART1, SZ_256),
41 [1] = DEFINE_RES_IRQ(IRQ_UART1),
44 static struct resource s3c6xx_uart2_resource[] = {
45 [0] = DEFINE_RES_MEM(S3C_PA_UART2, SZ_256),
46 [1] = DEFINE_RES_IRQ(IRQ_UART2),
49 static struct resource s3c64xx_uart3_resource[] = {
50 [0] = DEFINE_RES_MEM(S3C_PA_UART3, SZ_256),
51 [1] = DEFINE_RES_IRQ(IRQ_UART3),
55 struct s3c24xx_uart_resources s3c64xx_uart_resources[] __initdata = {
56 [0] = {
57 .resources = s3c64xx_uart0_resource,
58 .nr_resources = ARRAY_SIZE(s3c64xx_uart0_resource),
60 [1] = {
61 .resources = s3c64xx_uart1_resource,
62 .nr_resources = ARRAY_SIZE(s3c64xx_uart1_resource),
64 [2] = {
65 .resources = s3c6xx_uart2_resource,
66 .nr_resources = ARRAY_SIZE(s3c6xx_uart2_resource),
68 [3] = {
69 .resources = s3c64xx_uart3_resource,
70 .nr_resources = ARRAY_SIZE(s3c64xx_uart3_resource),