#define kunmap(page) do { (void) (page); } while (0)
  
 -#define kmap_atomic(page, idx) \
 -      ({ pagefault_disable(); page_address(page); })
 +#include <asm/kmap_types.h>
 +
 +static inline void *kmap_atomic(struct page *page, enum km_type idx)
 +{
 +      pagefault_disable();
 +      return page_address(page);
 +}
+ #define kmap_atomic_prot(page, idx, prot)     kmap_atomic(page, idx)
  
  #define kunmap_atomic(addr, idx)      do { pagefault_enable(); } while (0)
  #define kmap_atomic_pfn(pfn, idx)     kmap_atomic(pfn_to_page(pfn), (idx))
 
        .store  = _name##_store,                \
  }
  
 -extern struct subsystem power_subsys;
 +extern struct kset power_subsys;
  
- /* References to section boundaries */
- extern const void __nosave_begin, __nosave_end;
- 
  /* Preferred image size in bytes (default 500 MB) */
  extern unsigned long image_size;
  extern int in_suspend;