Commit 96f951ed authored by David Howells's avatar David Howells

Add #includes needed to permit the removal of asm/system.h

asm/system.h is a cause of circular dependency problems because it contains
commonly used primitive stuff like barrier definitions and uncommonly used
stuff like switch_to() that might require MMU definitions.

asm/system.h has been disintegrated by this point on all arches into the
following common segments:

 (1) asm/barrier.h

     Moved memory barrier definitions here.

 (2) asm/cmpxchg.h

     Moved xchg() and cmpxchg() here.  #included in asm/atomic.h.

 (3) asm/bug.h

     Moved die() and similar here.

 (4) asm/exec.h

     Moved arch_align_stack() here.

 (5) asm/elf.h

     Moved AT_VECTOR_SIZE_ARCH here.

 (6) asm/switch_to.h

     Moved switch_to() here.
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
parent 49a7f04a
...@@ -40,6 +40,7 @@ extern void gru_wait_abort_proc(void *cb); ...@@ -40,6 +40,7 @@ extern void gru_wait_abort_proc(void *cb);
*((volatile unsigned long *)(p)) = v; /* force st.rel */ \ *((volatile unsigned long *)(p)) = v; /* force st.rel */ \
} while (0) } while (0)
#elif defined(CONFIG_X86_64) #elif defined(CONFIG_X86_64)
#include <asm/cacheflush.h>
#define __flush_cache(p) clflush(p) #define __flush_cache(p) clflush(p)
#define gru_ordered_store_ulong(p, v) \ #define gru_ordered_store_ulong(p, v) \
do { \ do { \
......
...@@ -26,6 +26,8 @@ ...@@ -26,6 +26,8 @@
#ifndef _BC_DTS_DEFS_H_ #ifndef _BC_DTS_DEFS_H_
#define _BC_DTS_DEFS_H_ #define _BC_DTS_DEFS_H_
#include <linux/types.h>
/* BIT Mask */ /* BIT Mask */
#define BC_BIT(_x) (1 << (_x)) #define BC_BIT(_x) (1 << (_x))
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/param.h> #include <asm/param.h>
#include <asm/page.h> #include <asm/page.h>
#include <asm/exec.h>
static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs); static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs);
static int load_elf_library(struct file *); static int load_elf_library(struct file *);
......
...@@ -39,6 +39,7 @@ ...@@ -39,6 +39,7 @@
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/param.h> #include <asm/param.h>
#include <asm/pgalloc.h> #include <asm/pgalloc.h>
#include <asm/exec.h>
typedef char *elf_caddr_t; typedef char *elf_caddr_t;
......
...@@ -59,6 +59,7 @@ ...@@ -59,6 +59,7 @@
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/mmu_context.h> #include <asm/mmu_context.h>
#include <asm/tlb.h> #include <asm/tlb.h>
#include <asm/exec.h>
#include <trace/events/task.h> #include <trace/events/task.h>
#include "internal.h" #include "internal.h"
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
#define _ASM_GENERIC_BITOPS_ATOMIC_H_ #define _ASM_GENERIC_BITOPS_ATOMIC_H_
#include <asm/types.h> #include <asm/types.h>
#include <asm/system.h> #include <linux/irqflags.h>
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
#include <asm/spinlock.h> #include <asm/spinlock.h>
......
...@@ -56,8 +56,7 @@ ...@@ -56,8 +56,7 @@
*/ */
#include <linux/kernel.h> #include <linux/kernel.h>
#include <asm/system.h> #include <asm/cmpxchg.h>
#include <asm/processor.h>
struct llist_head { struct llist_head {
struct llist_node *first; struct llist_node *first;
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#include <asm/unaligned.h> #include <asm/unaligned.h>
#include <asm/system.h> #include <asm/system.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/barrier.h>
#ifdef CONFIG_MTD_MAP_BANK_WIDTH_1 #ifdef CONFIG_MTD_MAP_BANK_WIDTH_1
#define map_bankwidth(map) 1 #define map_bankwidth(map) 1
......
...@@ -55,6 +55,7 @@ ...@@ -55,6 +55,7 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/stringify.h> #include <linux/stringify.h>
#include <linux/bottom_half.h> #include <linux/bottom_half.h>
#include <asm/barrier.h>
#include <asm/system.h> #include <asm/system.h>
......
...@@ -73,6 +73,7 @@ ...@@ -73,6 +73,7 @@
#include <linux/init_task.h> #include <linux/init_task.h>
#include <linux/binfmts.h> #include <linux/binfmts.h>
#include <asm/switch_to.h>
#include <asm/tlb.h> #include <asm/tlb.h>
#include <asm/irq_regs.h> #include <asm/irq_regs.h>
#include <asm/mutex.h> #include <asm/mutex.h>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment