linux/arch
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
..
alpha Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
arm [PATCH] atmel_serial: Pass fixed register mappings through platform_data 2006-10-04 10:25:05 -07:00
arm26 Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
avr32 [PATCH] atmel_serial: Pass fixed register mappings through platform_data 2006-10-04 10:25:05 -07:00
cris more misc typo fixes 2006-10-03 22:34:14 +02:00
frv Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
h8300 Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
i386 Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/configh 2006-10-04 09:59:57 -07:00
ia64 [PATCH] msi: move the ia64 code into arch/ia64 2006-10-04 07:55:29 -07:00
m32r Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
m68k Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
m68knommu Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
mips Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-10-03 16:35:11 -07:00
parisc Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/configh 2006-10-04 09:59:57 -07:00
powerpc Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/configh 2006-10-04 09:59:57 -07:00
ppc Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
s390 Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
sh fix file specification in comments 2006-10-03 23:01:26 +02:00
sh64 fix file specification in comments 2006-10-03 23:01:26 +02:00
sparc Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
sparc64 Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
um Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
v850 Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
x86_64 Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/configh 2006-10-04 09:59:57 -07:00
xtensa fix file specification in comments 2006-10-03 23:01:26 +02:00