 24b9fdc59a
			
		
	
	
	24b9fdc59a
	
	
	
		
			
			<linux/spinlock.h> has heavy dependencies on other header files.
It triggers circular dependencies in generated headers on IA64, at
least:
  CC      kernel/bounds.s
In file included from /home/space/kas/git/public/linux/arch/ia64/include/asm/thread_info.h:9:0,
                 from include/linux/thread_info.h:54,
                 from include/asm-generic/preempt.h:4,
                 from arch/ia64/include/generated/asm/preempt.h:1,
                 from include/linux/preempt.h:18,
                 from include/linux/spinlock.h:50,
                 from kernel/bounds.c:14:
/home/space/kas/git/public/linux/arch/ia64/include/asm/asm-offsets.h:1:35: fatal error: generated/asm-offsets.h: No such file or directory
compilation terminated.
Let's replace <linux/spinlock.h> with <linux/spinlock_types.h>, it's
enough to find out size of spinlock_t.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Reported-and-Tested-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
		
	
			
		
			
				
	
	
		
			27 lines
		
	
	
	
		
			791 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
	
		
			791 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Generate definitions needed by the preprocessor.
 | |
|  * This code generates raw asm output which is post-processed
 | |
|  * to extract and format the required data.
 | |
|  */
 | |
| 
 | |
| #define __GENERATING_BOUNDS_H
 | |
| /* Include headers that define the enum constants of interest */
 | |
| #include <linux/page-flags.h>
 | |
| #include <linux/mmzone.h>
 | |
| #include <linux/kbuild.h>
 | |
| #include <linux/page_cgroup.h>
 | |
| #include <linux/log2.h>
 | |
| #include <linux/spinlock_types.h>
 | |
| 
 | |
| void foo(void)
 | |
| {
 | |
| 	/* The enum constants to put into include/generated/bounds.h */
 | |
| 	DEFINE(NR_PAGEFLAGS, __NR_PAGEFLAGS);
 | |
| 	DEFINE(MAX_NR_ZONES, __MAX_NR_ZONES);
 | |
| 	DEFINE(NR_PCG_FLAGS, __NR_PCG_FLAGS);
 | |
| #ifdef CONFIG_SMP
 | |
| 	DEFINE(NR_CPUS_BITS, ilog2(CONFIG_NR_CPUS));
 | |
| #endif
 | |
| 	DEFINE(BLOATED_SPINLOCKS, sizeof(spinlock_t) > sizeof(int));
 | |
| 	/* End of constants */
 | |
| }
 |