OpenCloudOS-Kernel/drivers/serial
Haavard Skinnemoen 75d3521377 [PATCH] atmel_serial: Pass fixed register mappings through platform_data
In order to initialize the serial console early, the atmel_serial
driver had to do a hack where it compared the physical address of the
port with an address known to be permanently mapped, and used it as a
virtual address. This got around the limitation that ioremap() isn't
always available when the console is being initalized.

This patch removes that hack and replaces it with a new "regs" field
in struct atmel_uart_data that the board-specific code can initialize
to a fixed virtual mapping for platform devices where this is possible.
It also initializes the DBGU's regs field with the address the driver
used to check against.

On AVR32, the "regs" field is initialized from the physical base
address when this it can be accessed through a permanently 1:1 mapped
segment, i.e. the P4 segment.

If regs is NULL, the console initialization is delayed until the "real"
driver is up and running and ioremap() can be used.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Acked-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-04 10:25:05 -07:00
..
cpm_uart Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
jsm [PATCH] irq-flags: serial: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
8250.c Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-serial 2006-10-03 09:13:29 -07:00
8250.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
8250_accent.c [SERIAL] Use an enum for serial8250 platform device IDs 2005-09-08 16:04:41 +01:00
8250_acorn.c [PATCH] ioremap balanced with iounmap for drivers/serial/8250_acorn,c 2006-10-01 00:39:32 -07:00
8250_au1x00.c [SERIAL] AMD Alchemy UART: claim memory range 2006-04-30 11:15:58 +01:00
8250_boca.c [SERIAL] Use an enum for serial8250 platform device IDs 2005-09-08 16:04:41 +01:00
8250_early.c [SERIAL] kernel console should send CRLF not LFCR 2006-03-20 20:00:09 +00:00
8250_fourport.c [SERIAL] Use an enum for serial8250 platform device IDs 2005-09-08 16:04:41 +01:00
8250_gsc.c [PARISC] Clean up asm-parisc/serial.h 2006-10-04 06:47:03 -06:00
8250_hp300.c [PATCH] hp300: fix driver_register() return handling, remove dio_module_init() 2006-03-25 08:22:53 -08:00
8250_hub6.c [SERIAL] Use an enum for serial8250 platform device IDs 2005-09-08 16:04:41 +01:00
8250_mca.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
8250_pci.c [SERIAL] CONFIG_PM=n slim: drivers/serial/8250_pci.c 2006-10-01 17:07:08 +01:00
8250_pnp.c [SERIAL] add PNP IDs for FPI based touchscreens 2006-10-01 21:27:15 +01:00
21285.c fix file specification in comments 2006-10-03 23:01:26 +02:00
68328serial.c [PATCH] const struct tty_operations 2006-10-02 07:57:14 -07:00
68328serial.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
68360serial.c [PATCH] const struct tty_operations 2006-10-02 07:57:14 -07:00
Kconfig [PATCH] at91_serial -> atmel_serial: Kconfig symbols 2006-10-04 10:25:05 -07:00
Makefile [PATCH] at91_serial -> atmel_serial: Kconfig symbols 2006-10-04 10:25:05 -07:00
amba-pl010.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
amba-pl011.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
atmel_serial.c [PATCH] atmel_serial: Pass fixed register mappings through platform_data 2006-10-04 10:25:05 -07:00
atmel_serial.h [PATCH] at91_serial -> atmel_serial: Internal names 2006-10-04 10:25:05 -07:00
clps711x.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
crisv10.c [PATCH] const struct tty_operations 2006-10-02 07:57:14 -07:00
crisv10.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
dz.c [SERIAL] dz: Fix compilation error 2006-07-09 21:11:09 +01:00
dz.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
icom.c [PATCH] irq-flags: serial: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
icom.h [PATCH] serial/icom: Remove custom msescs_to_jiffies() macro 2005-06-25 16:25:01 -07:00
imx.c [PATCH] irq-flags: serial: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
ioc3_serial.c [PATCH] Altix: ioc3 serial support 2006-01-14 18:25:20 -08:00
ioc4_serial.c [PATCH] ioremap balanced with iounmap for drivers/serial/ioc4_serial.c 2006-10-01 00:39:32 -07:00
ip22zilog.c [PATCH] ioremap balanced with iounmap for drivers/serial/ip22zilog.c 2006-10-01 00:39:32 -07:00
ip22zilog.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
m32r_sio.c [SERIAL] Remove m32r_sio dependency on asm/serial.h 2006-10-01 17:06:03 +01:00
m32r_sio.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
m32r_sio_reg.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mcfserial.c [PATCH] const struct tty_operations 2006-10-02 07:57:14 -07:00
mcfserial.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mpc52xx_uart.c [PATCH] ioremap balanced with iounmap for drivers/serial/mpc52xx_uart.c 2006-10-01 00:39:32 -07:00
mpsc.c [PATCH] ioremap balanced with iounmap for drivers/serial/mpsc.c 2006-10-01 00:39:32 -07:00
mux.c [PATCH] ioremap balanced with iounmap for drivers/serial/mux.c 2006-10-01 00:39:32 -07:00
netx-serial.c Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
pmac_zilog.c [POWERPC] powermac: Constify & voidify get_property() 2006-07-31 15:55:05 +10:00
pmac_zilog.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pxa.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
s3c2410.c [ARM] 3793/1: S3C2412: fix wrong serial info struct 2006-09-18 13:30:17 +01:00
sa1100.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
serial_core.c Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-serial 2006-10-03 09:13:29 -07:00
serial_cs.c [SERIAL] Fix resume handling bug 2006-10-01 17:14:07 +01:00
serial_lh7a40x.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
serial_txx9.c [SERIAL] suspend/resume handlers don't have level arg anymore 2006-10-01 17:06:54 +01:00
sh-sci.c Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
sh-sci.h Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
sn_console.c [PATCH] irq-flags: serial: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
suncore.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
suncore.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sunhv.c [SERIAL] sunhv: Convert to of_driver layer. 2006-06-30 14:13:38 -07:00
sunsab.c [SERIAL] sunsab: Fix E250 console with RSC. 2006-08-23 15:50:57 -07:00
sunsab.h [SUNSAB]: Defer register updates until transmitter is idle. 2005-05-11 11:34:32 -07:00
sunsu.c [PATCH] ioremap balanced with iounmap for drivers/serial/sunsu.c 2006-10-01 00:39:32 -07:00
sunzilog.c [SERIAL] sunzilog: Mark sunzilog_init_hw as __devinit. 2006-09-29 16:12:43 -07:00
sunzilog.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
v850e_uart.c [PATCH] irq-flags: serial: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
vr41xx_siu.c [MIPS] vr41xx: Move IRQ numbers to asm-mips/vr41xx/irq.h 2006-07-13 21:26:19 +01:00