android_kernel_xiaomi_sm8350/include/asm-arm
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
..
arch-aaec2000 [ARM] 3631/1: Remove legacy __mem_isa() definitions 2006-06-24 10:34:48 +01:00
arch-at91rm9200 [PATCH] atmel_serial: Pass fixed register mappings through platform_data 2006-10-04 10:25:05 -07:00
arch-cl7500
arch-clps711x fix file specification in comments 2006-10-03 23:01:26 +02:00
arch-ebsa110
arch-ebsa285 fix file specification in comments 2006-10-03 23:01:26 +02:00
arch-ep93xx [PATCH] Cirrus Logic ep93xx ethernet driver 2006-09-22 20:13:23 -04:00
arch-h720x fix file specification in comments 2006-10-03 23:01:26 +02:00
arch-imx [ARM] 3660/1: Remove legacy defines 2006-06-28 17:54:55 +01:00
arch-integrator [ARM] 3631/1: Remove legacy __mem_isa() definitions 2006-06-24 10:34:48 +01:00
arch-iop32x [ARM] 3851/1: iop3xx: add io-data glantank support 2006-09-25 10:34:02 +01:00
arch-iop33x [ARM] 3832/1: iop3xx: coding style cleanup 2006-09-25 10:25:53 +01:00
arch-ixp4xx fix file specification in comments 2006-10-03 23:01:26 +02:00
arch-ixp23xx [ARM] 3662/1: ixp23xx: don't include asm/hardware.h in uncompress.h 2006-06-28 17:54:56 +01:00
arch-ixp2000
arch-l7200 [PATCH] simplify update_times (avoid jiffies/jiffies_64 aliasing problem) 2006-09-29 09:18:15 -07:00
arch-lh7a40x Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
arch-netx [ARM] 3631/1: Remove legacy __mem_isa() definitions 2006-06-24 10:34:48 +01:00
arch-omap fix file specification in comments 2006-10-03 23:01:26 +02:00
arch-pnx4008 fix file specification in comments 2006-10-03 23:01:26 +02:00
arch-pxa [ARM] 3848/1: pxafb: Add option of fixing video modes and spitz QVGA mode support 2006-10-02 13:33:37 +01:00
arch-realview [ARM] 3631/1: Remove legacy __mem_isa() definitions 2006-06-24 10:34:48 +01:00
arch-rpc
arch-s3c2410 fix file specification in comments 2006-10-03 23:01:26 +02:00
arch-sa1100 fix file specification in comments 2006-10-03 23:01:26 +02:00
arch-shark fix file specification in comments 2006-10-03 23:01:26 +02:00
arch-versatile [ARM] Allow Versatile to be built for AB and PB 2006-07-11 21:10:42 +01:00
hardware fix file specification in comments 2006-10-03 23:01:26 +02:00
mach [PATCH] atmel_serial: Rename at91_register_uart_fns 2006-10-04 10:25:05 -07:00
a.out.h
apm.h
assembler.h [ARM] Remove MODE_(SVC|IRQ|FIQ|USR) and DEFAULT_FIQ 2006-06-25 12:01:48 +01:00
atomic.h [ARM] 3810/1: switch atomic helpers over to raw_local_irq_{save,restore} 2006-09-25 10:25:24 +01:00
auxvec.h
bitops.h [ARM] 3852/1: convert atomic bitops and __xchg over to raw_local_irq_{save,restore} 2006-09-25 10:34:03 +01:00
bug.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
bugs.h [ARM] nommu: adjust headers for !MMU ARM systems 2006-06-28 17:59:45 +01:00
byteorder.h [ARM] Fix byte order macros for Thumb 2006-06-19 15:35:36 +01:00
cache.h
cacheflush.h [ARM] Use CPU_CACHE_* where possible in asm/cacheflush.h 2006-09-27 18:00:35 +01:00
checksum.h
cpu-multi32.h
cpu-single.h
cpu.h
cputime.h
current.h
delay.h
div64.h
dma-mapping.h
dma.h
domain.h [ARM] nommu: adjust headers for !MMU ARM systems 2006-06-28 17:59:45 +01:00
dyntick.h [ARM] 3692/1: ARM: coswitch irq handling to the generic implementation 2006-07-01 22:30:09 +01:00
ecard.h
elf.h [HEADERS] Fix ARM 'make headers_check' 2006-09-21 08:34:39 +01:00
emergency-restart.h
errno.h
fcntl.h
fiq.h
flat.h [ARM] nommu: create flat.h to support uClinux flat binaries 2006-09-20 14:58:35 +01:00
floppy.h [PATCH] ARM: fixup irqflags breakage after ARM genirq merge 2006-07-02 17:29:22 -07:00
fpstate.h [ARM] 3370/2: ep93xx: add crunch support 2006-06-28 17:55:01 +01:00
futex.h
glue.h
hardirq.h
hardware.h
hw_irq.h [PATCH] ARM: fixup irqflags breakage after ARM genirq merge 2006-07-02 17:29:22 -07:00
ide.h
io.h [ARM] 3813/1: prevent >= 4G /dev/mem mmap() 2006-09-25 10:25:26 +01:00
ioctl.h
ioctls.h
ipc.h
ipcbuf.h
irq.h [ARM] 3692/1: ARM: coswitch irq handling to the generic implementation 2006-07-01 22:30:09 +01:00
irqflags.h [ARM] Add ARM irqtrace support 2006-09-20 14:58:35 +01:00
Kbuild Add empty Kbuild files for 'make headers_install' in remaining arches. 2006-06-18 12:58:53 +01:00
kmap_types.h
leds.h
limits.h
linkage.h
local.h
locks.h
mc146818rtc.h
memory.h [ARM] 3705/1: add supersection support to ioremap() 2006-07-01 19:58:20 +01:00
mman.h
mmu_context.h [ARM] Add section support to ioremap 2006-06-29 22:14:30 +01:00
mmu.h [ARM] Add section support to ioremap 2006-06-29 22:14:30 +01:00
mmzone.h
module.h
msgbuf.h
mtd-xip.h
mutex.h
namei.h
nwflash.h
page-nommu.h [ARM] nommu: adjust headers for !MMU ARM systems 2006-06-28 17:59:45 +01:00
page.h Merge master.kernel.org:/pub/scm/linux/kernel/git/tmlind/linux-omap-upstream into devel 2006-09-27 19:57:54 +01:00
param.h
parport.h
pci.h
percpu.h
pgalloc.h [ARM] nommu: adjust headers for !MMU ARM systems 2006-06-28 17:59:45 +01:00
pgtable-hwdef.h [ARM] Set bit 4 on section mappings correctly depending on CPU 2006-06-29 18:24:21 +01:00
pgtable-nommu.h Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
pgtable.h Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2006-09-28 14:40:39 -07:00
poll.h
posix_types.h
proc-fns.h [ARM] nommu: add ARM946E-S core support 2006-09-27 17:39:19 +01:00
processor.h
procinfo.h [ARM] 3756/1: Assign value for HWCAP_IWMMXT 2006-08-18 15:32:17 +01:00
ptrace.h [ARM] 3665/1: crunch: add ptrace support 2006-06-28 17:55:00 +01:00
resource.h
rtc.h
scatterlist.h
sections.h
segment.h
semaphore-helper.h
semaphore.h
sembuf.h
serial.h
setup.h [ARM] Separate page table manipulation code from bootmem initialisation 2006-09-27 10:10:58 +01:00
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h [PATCH] ARM: fixup irqflags breakage after ARM genirq merge 2006-07-02 17:29:22 -07:00
sizes.h
smp.h
socket.h [AF_UNIX]: Datagram getpeersec 2006-06-29 16:58:06 -07:00
sockios.h
spinlock_types.h
spinlock.h [PATCH] Directed yield: cpu_relax variants for spinlocks and rw-locks 2006-10-01 00:39:21 -07:00
stat.h
statfs.h
string.h
suspend.h
system.h [ARM] nommu: manage the CP15 things 2006-09-27 17:34:30 +01:00
termbits.h
termios.h
therm.h
thread_info.h Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2006-07-02 15:04:12 -07:00
thread_notify.h [ARM] Add thread_notify infrastructure 2006-06-22 10:24:18 +01:00
timex.h
tlb.h
tlbflush.h [ARM] 3759/2: Remove uses of %? 2006-09-20 14:58:35 +01:00
topology.h
traps.h
types.h
uaccess.h [ARM] nommu: uaccess tweaks 2006-06-28 17:59:46 +01:00
ucontext.h [ARM] 3664/1: crunch: add signal frame save/restore 2006-06-28 17:54:59 +01:00
unaligned.h [ARM] 3849/1: fix get_unaligned() for gcc >= 4.1 2006-09-25 10:34:00 +01:00
unistd.h [PATCH] rename the provided execve functions to kernel_execve 2006-10-02 07:57:23 -07:00
user.h
vfp.h
vfpmacros.h
vga.h [PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use 2006-06-22 15:05:58 -07:00
xor.h