Merge tag 'asm-generic-nommu' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd...
[linux-2.6-block.git] / arch / powerpc / mm / highmem.c
index 82a0e37557a5ac26f0ea948bc8c3c424a749e150..320c1672b2ae065a800036bd3b389e95faec7890 100644 (file)
@@ -43,9 +43,7 @@ void *kmap_atomic_prot(struct page *page, pgprot_t prot)
        type = kmap_atomic_idx_push();
        idx = type + KM_TYPE_NR*smp_processor_id();
        vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx);
-#ifdef CONFIG_DEBUG_HIGHMEM
-       BUG_ON(!pte_none(*(kmap_pte-idx)));
-#endif
+       WARN_ON(IS_ENABLED(CONFIG_DEBUG_HIGHMEM) && !pte_none(*(kmap_pte - idx)));
        __set_pte_at(&init_mm, vaddr, kmap_pte-idx, mk_pte(page, prot), 1);
        local_flush_tlb_page(NULL, vaddr);
 
@@ -56,7 +54,6 @@ EXPORT_SYMBOL(kmap_atomic_prot);
 void __kunmap_atomic(void *kvaddr)
 {
        unsigned long vaddr = (unsigned long) kvaddr & PAGE_MASK;
-       int type __maybe_unused;
 
        if (vaddr < __fix_to_virt(FIX_KMAP_END)) {
                pagefault_enable();
@@ -64,14 +61,12 @@ void __kunmap_atomic(void *kvaddr)
                return;
        }
 
-       type = kmap_atomic_idx();
-
-#ifdef CONFIG_DEBUG_HIGHMEM
-       {
+       if (IS_ENABLED(CONFIG_DEBUG_HIGHMEM)) {
+               int type = kmap_atomic_idx();
                unsigned int idx;
 
                idx = type + KM_TYPE_NR * smp_processor_id();
-               BUG_ON(vaddr != __fix_to_virt(FIX_KMAP_BEGIN + idx));
+               WARN_ON(vaddr != __fix_to_virt(FIX_KMAP_BEGIN + idx));
 
                /*
                 * force other mappings to Oops if they'll try to access
@@ -80,7 +75,6 @@ void __kunmap_atomic(void *kvaddr)
                pte_clear(&init_mm, vaddr, kmap_pte-idx);
                local_flush_tlb_page(NULL, vaddr);
        }
-#endif
 
        kmap_atomic_idx_pop();
        pagefault_enable();