 ef3a661af6
			
		
	
	
	ef3a661af6
	
	
	
		
			
			They haven't '__init' in definition, but has '__init' in declaration.
And normal function start_kernel_secondary() may call setup_processor()
which will call arc_init_IRQ().
So need remove '__init' for both of them. The related warning (with
allmodconfig):
    MODPOST vmlinux.o
  WARNING: vmlinux.o(.text+0x3084): Section mismatch in reference from the function start_kernel_secondary() to the function .init.text:setup_processor()
  The function start_kernel_secondary() references
  the function __init setup_processor().
  This is often because start_kernel_secondary lacks a __init
  annotation or the annotation of setup_processor is wrong.
Signed-off-by: Chen Gang <gang.chen@asianux.com>
		
	
			
		
			
				
	
	
		
			37 lines
		
	
	
	
		
			791 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
	
		
			791 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
 | |
|  *
 | |
|  * This program is free software; you can redistribute it and/or modify
 | |
|  * it under the terms of the GNU General Public License version 2 as
 | |
|  * published by the Free Software Foundation.
 | |
|  */
 | |
| #ifndef __ASMARC_SETUP_H
 | |
| #define __ASMARC_SETUP_H
 | |
| 
 | |
| 
 | |
| #include <linux/types.h>
 | |
| #include <uapi/asm/setup.h>
 | |
| 
 | |
| #define COMMAND_LINE_SIZE 256
 | |
| 
 | |
| /*
 | |
|  * Data structure to map a ID to string
 | |
|  * Used a lot for bootup reporting of hardware diversity
 | |
|  */
 | |
| struct id_to_str {
 | |
| 	int id;
 | |
| 	const char *str;
 | |
| };
 | |
| 
 | |
| struct cpuinfo_data {
 | |
| 	struct id_to_str info;
 | |
| 	int up_range;
 | |
| };
 | |
| 
 | |
| extern int root_mountflags, end_mem;
 | |
| extern int running_on_hw;
 | |
| 
 | |
| void setup_processor(void);
 | |
| void __init setup_arch_memory(void);
 | |
| 
 | |
| #endif /* __ASMARC_SETUP_H */
 |