return 0;
  }
  
- #define destroy_context(mm)             do { } while (0)
 -static inline void set_user_asce(struct mm_struct *mm)
 -{
 -      S390_lowcore.user_asce = mm->context.asce;
 -      __ctl_load(S390_lowcore.user_asce, 1, 1);
 -      clear_cpu_flag(CIF_ASCE_PRIMARY);
 -}
 -
 -static inline void clear_user_asce(void)
 -{
 -      S390_lowcore.user_asce = S390_lowcore.kernel_asce;
 -      __ctl_load(S390_lowcore.kernel_asce, 1, 1);
 -      set_cpu_flag(CIF_ASCE_PRIMARY);
 -}
 -
 -mm_segment_t enable_sacf_uaccess(void);
 -void disable_sacf_uaccess(mm_segment_t old_fs);
--
  static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next,
                             struct task_struct *tsk)
  {
                __tlb_flush_mm_lazy(mm);
                preempt_enable();
        }
 -      set_fs(current->thread.mm_segment);
 +      __ctl_load(S390_lowcore.user_asce, 7, 7);
  }
  
- #define enter_lazy_tlb(mm,tsk)        do { } while (0)
- #define deactivate_mm(tsk,mm) do { } while (0)
- 
+ #define activate_mm activate_mm
  static inline void activate_mm(struct mm_struct *prev,
                                 struct mm_struct *next)
  {
        switch_mm(prev, next, current);
        cpumask_set_cpu(smp_processor_id(), mm_cpumask(next));
 -      set_user_asce(next);
 +      __ctl_load(S390_lowcore.user_asce, 7, 7);
  }
  
+ #include <asm-generic/mmu_context.h>
+ 
  #endif /* __S390_MMU_CONTEXT_H */