A问题:
WARNING: drivers/spi/hi_spi.o(.data+0x0): Section mismatch in reference from the variable hi_spi_platform_driver to the function .init.text:hi_spi_probe()
The variable hi_spi_platform_driver references
the function __init hi_spi_probe()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
A解决:
__init同一个c文件用了两处。
去掉hi_spi_probe()前的__init
B错误:
drivers/net/ethernet/hieth-gmac/bcm53101.c:249:13: warning: ‘bcm53101_dump’ defined but not used [-Wunused-function]
static void bcm53101_dump(void)
B解决:
函数写了 没用到。
屏蔽掉函数
C错误:
1 swapper: page allocation failure: order:5, mode:0xd0 2 CPU: 0 PID: 1 Comm: swapper Not tainted 3.18.20 #27 3 [<c001324c>] (unwind_backtrace) from [<c0011564>] (show_stack+0x10/0x14) 4 [<c0011564>] (show_stack) from [<c00756a4>] (warn_alloc_failed+0xc8/0x120) 5 [<c00756a4>] (warn_alloc_failed) from [<c0077ca4>] (__alloc_pages_nodemask+0x5c0/0x8b0) 6 [<c0077ca4>] (__alloc_pages_nodemask) from [<c00142e4>] (__dma_alloc_buffer+0x2c/0x84) 7 [<c00142e4>] (__dma_alloc_buffer) from [<c0014350>] (__alloc_remap_buffer+0x14/0x68) 8 [<c0014350>] (__alloc_remap_buffer) from [<c0014484>] (__dma_alloc+0xe0/0x1a4) 9 [<c0014484>] (__dma_alloc) from [<c0014684>] (arm_dma_alloc+0x94/0xa0) 10 [<c0014684>] (arm_dma_alloc) from [<c04a2804>] (himci_probe+0x250/0x544) 11 [<c04a2804>] (himci_probe) from [<c01cd3cc>] (platform_drv_probe+0x44/0xa4) 12 [<c01cd3cc>] (platform_drv_probe) from [<c01cbab4>] (really_probe+0x7c/0x214) 13 [<c01cbab4>] (really_probe) from [<c01cbd38>] (__driver_attach+0x98/0x9c) 14 [<c01cbd38>] (__driver_attach) from [<c01ca2b0>] (bus_for_each_dev+0x6c/0x9c) 15 [<c01ca2b0>] (bus_for_each_dev) from [<c01cb3b4>] (bus_add_driver+0x140/0x1ec) 16 [<c01cb3b4>] (bus_add_driver) from [<c01cc34c>] (driver_register+0x78/0xf8) 17 [<c01cc34c>] (driver_register) from [<c04a2b38>] (himci_init+0x40/0xe8) 18 [<c04a2b38>] (himci_init) from [<c00088fc>] (do_one_initcall+0x80/0x1d4) 19 [<c00088fc>] (do_one_initcall) from [<c0491cd8>] (kernel_init_freeable+0xf0/0x1b0) 20 [<c0491cd8>] (kernel_init_freeable) from [<c037b878>] (kernel_init+0x8/0xec) 21 [<c037b878>] (kernel_init) from [<c000e3a8>] (ret_from_fork+0x14/0x2c) 22 Mem-info: 23 Normal per-cpu: 24 CPU 0: hi: 0, btch: 1 usd: 0 25 active_anon:0 inactive_anon:0 isolated_anon:0 26 active_file:0 inactive_file:0 isolated_file:0 27 unevictable:0 dirty:0 writeback:0 unstable:0 28 free:64 slab_reclaimable:10 slab_unreclaimable:346 29 mapped:0 shmem:0 pagetables:0 bounce:0 30 free_cma:0 31 Normal free:256kB min:212kB low:264kB high:316kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:8192kB managed:2812kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:40kB slab_unreclaimable:1384kB kernel_stack:168kB pagetables:0kB unstable:0kB bounce:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? yes cma_watermark:0kB 32 lowmem_reserve[]: 0 0 0 33 Normal: 0*4kB 0*8kB 2*16kB (UM) 1*32kB (U) 1*64kB (U) 1*128kB (U) 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 256kB 34 0 total pagecache pages 35 0 pages in swap cache 36 Swap cache stats: add 0, delete 0, find 0/0 37 Free swap = 0kB 38 Total swap = 0kB 39 2048 pages of RAM 40 88 free pages 41 1345 reserved pages 42 282 slab pages 43 0 pages shared 44 0 pages swap cached 45 himci:himci_probe:1980: no mem for himci dma! 46 47 himci: probe of 100d0000.himciv200.SD failed with error -12 48 usbcore: registered new interface driver usbhid 49 usbhid: USB HID core driver 50 TCP: cubic registered 51 NET: Registered protocol family 17 52 lib80211: common routines for IEEE802.11 drivers 53 swapper invoked oom-killer: gfp_mask=0x2d2, order=0, oom_score_adj=0 54 CPU: 0 PID: 1 Comm: swapper Not tainted 3.18.20 #27 55 [<c001324c>] (unwind_backtrace) from [<c0011564>] (show_stack+0x10/0x14) 56 [<c0011564>] (show_stack) from [<c037c274>] (dump_header+0x44/0x174) 57 [<c037c274>] (dump_header) from [<c007411c>] (out_of_memory+0x304/0x32c) 58 [<c007411c>] (out_of_memory) from [<c0077f50>] (__alloc_pages_nodemask+0x86c/0x8b0) 59 [<c0077f50>] (__alloc_pages_nodemask) from [<c009c0fc>] (__vmalloc_node_range+0xd8/0x228) 60 [<c009c0fc>] (__vmalloc_node_range) from [<c009c4c8>] (vmalloc+0x44/0x54) 61 [<c009c4c8>] (vmalloc) from [<c01ac40c>] (n_tty_open+0x10/0x110) 62 [<c01ac40c>] (n_tty_open) from [<c01b011c>] (tty_ldisc_open+0x48/0x90) 63 [<c01b011c>] (tty_ldisc_open) from [<c01b09b4>] (tty_ldisc_setup+0x18/0x58) 64 [<c01b09b4>] (tty_ldisc_setup) from [<c01a9370>] (tty_init_dev+0x88/0x184) 65 [<c01a9370>] (tty_init_dev) from [<c01a9f08>] (tty_open+0x2e0/0x5f0) 66 [<c01a9f08>] (tty_open) from [<c00afe84>] (chrdev_open+0xa4/0x14c) 67 [<c00afe84>] (chrdev_open) from [<c00aa574>] (do_dentry_open+0x1b8/0x2f8) 68 [<c00aa574>] (do_dentry_open) from [<c00b80e0>] (do_last+0x6bc/0xc74) 69 [<c00b80e0>] (do_last) from [<c00b8750>] (path_openat+0xb8/0x5ac) 70 [<c00b8750>] (path_openat) from [<c00b9adc>] (do_filp_open+0x2c/0x88) 71 [<c00b9adc>] (do_filp_open) from [<c00ab9d4>] (do_sys_open+0xf8/0x1c8) 72 [<c00ab9d4>] (do_sys_open) from [<c0491cfc>] (kernel_init_freeable+0x114/0x1b0) 73 [<c0491cfc>] (kernel_init_freeable) from [<c037b878>] (kernel_init+0x8/0xec) 74 [<c037b878>] (kernel_init) from [<c000e3a8>] (ret_from_fork+0x14/0x2c) 75 Mem-info: 76 Normal per-cpu: 77 CPU 0: hi: 0, btch: 1 usd: 0 78 active_anon:0 inactive_anon:0 isolated_anon:0 79 active_file:0 inactive_file:0 isolated_file:0 80 unevictable:0 dirty:0 writeback:0 unstable:0 81 free:53 slab_reclaimable:10 slab_unreclaimable:352 82 mapped:0 shmem:0 pagetables:0 bounce:0 83 free_cma:0 84 Normal free:212kB min:212kB low:264kB high:316kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:8192kB managed:2812kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:40kB slab_unreclaimable:1408kB kernel_stack:184kB pagetables:0kB unstable:0kB bounce:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? yes cma_watermark:0kB 85 lowmem_reserve[]: 0 0 0 86 Normal: 1*4kB (U) 0*8kB 1*16kB (M) 0*32kB 1*64kB (U) 1*128kB (U) 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 212kB 87 0 total pagecache pages 88 0 pages in swap cache 89 Swap cache stats: add 0, delete 0, find 0/0 90 Free swap = 0kB 91 Total swap = 0kB 92 2048 pages of RAM 93 79 free pages 94 1345 reserved pages 95 288 slab pages 96 0 pages shared 97 0 pages swap cached 98 [ pid ] uid tgid total_vm rss nr_ptes swapents oom_score_adj name 99 Kernel panic - not syncing: Out of memory and no killable processes... 100 101 CPU: 0 PID: 1 Comm: swapper Not tainted 3.18.20 #27 102 [<c001324c>] (unwind_backtrace) from [<c0011564>] (show_stack+0x10/0x14) 103 [<c0011564>] (show_stack) from [<c037bf0c>] (panic+0x80/0x1dc) 104 [<c037bf0c>] (panic) from [<c0074124>] (out_of_memory+0x30c/0x32c) 105 [<c0074124>] (out_of_memory) from [<c0077f50>] (__alloc_pages_nodemask+0x86c/0x8b0) 106 [<c0077f50>] (__alloc_pages_nodemask) from [<c009c0fc>] (__vmalloc_node_range+0xd8/0x228) 107 [<c009c0fc>] (__vmalloc_node_range) from [<c009c4c8>] (vmalloc+0x44/0x54) 108 [<c009c4c8>] (vmalloc) from [<c01ac40c>] (n_tty_open+0x10/0x110) 109 [<c01ac40c>] (n_tty_open) from [<c01b011c>] (tty_ldisc_open+0x48/0x90) 110 [<c01b011c>] (tty_ldisc_open) from [<c01b09b4>] (tty_ldisc_setup+0x18/0x58) 111 [<c01b09b4>] (tty_ldisc_setup) from [<c01a9370>] (tty_init_dev+0x88/0x184) 112 [<c01a9370>] (tty_init_dev) from [<c01a9f08>] (tty_open+0x2e0/0x5f0) 113 [<c01a9f08>] (tty_open) from [<c00afe84>] (chrdev_open+0xa4/0x14c) 114 [<c00afe84>] (chrdev_open) from [<c00aa574>] (do_dentry_open+0x1b8/0x2f8) 115 [<c00aa574>] (do_dentry_open) from [<c00b80e0>] (do_last+0x6bc/0xc74) 116 [<c00b80e0>] (do_last) from [<c00b8750>] (path_openat+0xb8/0x5ac) 117 [<c00b8750>] (path_openat) from [<c00b9adc>] (do_filp_open+0x2c/0x88) 118 [<c00b9adc>] (do_filp_open) from [<c00ab9d4>] (do_sys_open+0xf8/0x1c8) 119 [<c00ab9d4>] (do_sys_open) from [<c0491cfc>] (kernel_init_freeable+0x114/0x1b0) 120 [<c0491cfc>] (kernel_init_freeable) from [<c037b878>] (kernel_init+0x8/0xec) 121 [<c037b878>] (kernel_init) from [<c000e3a8>] (ret_from_fork+0x14/0x2c) 122 ---[ end Kernel panic - not syncing: Out of memory and no killable processes...
C解决:
uboot传参bootargs的mem值太小。