1. 函数调用路径
首先看到uart驱动probe的过程:
[ 0.675729] Serial: AMBA PL011 UART driver
[ 0.735090] 9000000.pl011: ttyAMA0 at MMIO 0x9000000 (irq = 39, base_baud = 0) is a PL011 rev1
[ 0.736770] [VUART_DBG] register_console:2656 ttyAMA
[ 0.737602] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 5.6.0-rc4-00002-g84594dce3dfa-dirty #20
[ 0.739146] Hardware name: linux,dummy-virt (DT)
[ 0.739867] Call trace:
[ 0.740335] dump_backtrace+0x0/0x1a0
[ 0.740922] show_stack+0x14/0x20
[ 0.741514] dump_stack+0xbc/0x104
[ 0.742046] register_console+0x38/0x3e0
[ 0.742707] uart_add_one_port+0x42c/0x500
[ 0.743016] pl011_register_port+0x68/0xd0
[ 0.743496] pl011_probe+0x144/0x198
[ 0.743730] amba_probe+0xbc/0x158
[ 0.743957] really_probe+0x108/0x360
[ 0.744292] driver_probe_device+0x58/0x100
[ 0.744578] __device_attach_driver+0x90/0xb0
[ 0.744866] bus_for_each_drv+0x64/0xc8
[ 0.745165] __device_attach+0xd8/0x138
[ 0.745864] device_initial_probe+0x10/0x18
[ 0.745995] bus_probe_device+0x90/0x98
[ 0.746178] device_add+0x4c4/0x770
[ 0.746288] amba_device_try_add+0x1b8/0x360
[ 0.746416] amba_device_add+0x18/0xd8
[ 0.751260] of_platform_bus_create+0x308/0x3b8
[ 0.753329] of_platform_populate+0x7c/0x108
[ 0.753473] of_platform_default_populate_init+0xb8/0xd4
[ 0.753638] do_one_initcall+0x5c/0x1b0
[ 0.753762] kernel_init_freeable+0x19c/0x204
[ 0.753902] kernel_init+0x10/0x108
[ 0.754016] ret_from_fork+0x10/0x18
[ 0.755131] printk: console [ttyAMA0] enabled
[ 0.755131] printk: console [ttyAMA0] enabled
[ 0.757799] printk: bootconsole [pl11] disabled
[ 0.757799] printk: bootcon