FRV: Do some cleanups
Amerigo Wang [Tue, 29 Mar 2011 13:05:12 +0000 (14:05 +0100)]
1. frv doesn't support SMP, remove the useless SMP bits.

2. frv has its own alloc_task_struct, so define __HAVE_ARCH_TASK_STRUCT_ALLOCATOR
   (I am not sure if frv should use generic alloc_task_struct().)

Signed-off-by: WANG Cong <amwang@redhat.com>
Signed-off-by: David Howells <dhowells@redhat.com>

arch/frv/Kconfig
arch/frv/include/asm/system.h
arch/frv/include/asm/thread_info.h

index f6037b2..968a330 100644 (file)
@@ -361,7 +361,6 @@ menu "Power management options"
 
 config ARCH_SUSPEND_POSSIBLE
        def_bool y
-       depends on !SMP
 
 source kernel/power/Kconfig
 endmenu
index 0a6d8d9..6c10fd2 100644 (file)
@@ -45,21 +45,12 @@ do {                                                                        \
 #define wmb()                  asm volatile ("membar" : : :"memory")
 #define read_barrier_depends() do { } while (0)
 
-#ifdef CONFIG_SMP
-#define smp_mb()                       mb()
-#define smp_rmb()                      rmb()
-#define smp_wmb()                      wmb()
-#define smp_read_barrier_depends()     read_barrier_depends()
-#define set_mb(var, value) \
-       do { xchg(&var, (value)); } while (0)
-#else
 #define smp_mb()                       barrier()
 #define smp_rmb()                      barrier()
 #define smp_wmb()                      barrier()
 #define smp_read_barrier_depends()     do {} while(0)
 #define set_mb(var, value) \
        do { var = (value); barrier(); } while (0)
-#endif
 
 extern void die_if_kernel(const char *, ...) __attribute__((format(printf, 1, 2)));
 extern void free_initmem(void);
index 08179f3..cefbe73 100644 (file)
@@ -21,6 +21,8 @@
 
 #define THREAD_SIZE            8192
 
+#define __HAVE_ARCH_TASK_STRUCT_ALLOCATOR
+
 /*
  * low level task data that entry.S needs immediate access to
  * - this struct should fit entirely inside of one cache line