[S390] allnoconfig build error.
[sfrench/cifs-2.6.git] / include / asm-s390 / tlbflush.h
index 35fb4f9127b2ae41e35683eb0dccb245413cdcec..de723470c5d4aa9da29e7721f7d6c1f93af886dd 100644 (file)
@@ -13,6 +13,7 @@ static inline void __tlb_flush_local(void)
        asm volatile("ptlb" : : : "memory");
 }
 
+#ifdef CONFIG_SMP
 /*
  * Flush all tlb entries on all cpus.
  */
@@ -39,6 +40,25 @@ static inline void __tlb_flush_global(void)
                : : "d" (reg2), "d" (reg3), "d" (reg4), "m" (dummy) : "cc" );
 }
 
+static inline void __tlb_flush_full(struct mm_struct *mm)
+{
+       cpumask_t local_cpumask;
+
+       preempt_disable();
+       /*
+        * If the process only ran on the local cpu, do a local flush.
+        */
+       local_cpumask = cpumask_of_cpu(smp_processor_id());
+       if (cpus_equal(mm->cpu_vm_mask, local_cpumask))
+               __tlb_flush_local();
+       else
+               __tlb_flush_global();
+       preempt_enable();
+}
+#else
+#define __tlb_flush_full(mm)   __tlb_flush_local()
+#endif
+
 /*
  * Flush all tlb entries of a page table on all cpus.
  */
@@ -51,8 +71,6 @@ static inline void __tlb_flush_idte(unsigned long asce)
 
 static inline void __tlb_flush_mm(struct mm_struct * mm)
 {
-       cpumask_t local_cpumask;
-
        if (unlikely(cpus_empty(mm->cpu_vm_mask)))
                return;
        /*
@@ -69,16 +87,7 @@ static inline void __tlb_flush_mm(struct mm_struct * mm)
                                 mm->context.asce_bits);
                return;
        }
-       preempt_disable();
-       /*
-        * If the process only ran on the local cpu, do a local flush.
-        */
-       local_cpumask = cpumask_of_cpu(smp_processor_id());
-       if (cpus_equal(mm->cpu_vm_mask, local_cpumask))
-               __tlb_flush_local();
-       else
-               __tlb_flush_global();
-       preempt_enable();
+       __tlb_flush_full(mm);
 }
 
 static inline void __tlb_flush_mm_cond(struct mm_struct * mm)