android_kernel_xiaomi_sm8350/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_accent.c
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
8250_early.c
8250_fourport.c
8250_gsc.c [PARISC] Clean up asm-parisc/serial.h 2006-10-04 06:47:03 -06:00
8250_hp300.c
8250_hub6.c
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
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
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
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
icom.c [PATCH] irq-flags: serial: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
icom.h
imx.c [PATCH] irq-flags: serial: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
ioc3_serial.c
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
Kconfig [PATCH] at91_serial -> atmel_serial: Kconfig symbols 2006-10-04 10:25:05 -07:00
m32r_sio_reg.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02: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
Makefile [PATCH] at91_serial -> atmel_serial: Kconfig symbols 2006-10-04 10:25:05 -07: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
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
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
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
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