home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-generic / page.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  452 b   |  27 lines

  1. #ifndef _ASM_GENERIC_PAGE_H
  2. #define _ASM_GENERIC_PAGE_H
  3.  
  4. #ifdef __KERNEL__
  5. #ifndef __ASSEMBLY__
  6.  
  7. #include <linux/compiler.h>
  8.  
  9. /* Pure 2^n version of get_order */
  10. static __inline__ __attribute_const__ int get_order(unsigned long size)
  11. {
  12.     int order;
  13.  
  14.     size = (size - 1) >> (PAGE_SHIFT - 1);
  15.     order = -1;
  16.     do {
  17.         size >>= 1;
  18.         order++;
  19.     } while (size);
  20.     return order;
  21. }
  22.  
  23. #endif    /* __ASSEMBLY__ */
  24. #endif    /* __KERNEL__ */
  25.  
  26. #endif    /* _ASM_GENERIC_PAGE_H */
  27.