static int sections_per_block;
 
-static inline int base_memory_block_id(unsigned long section_nr)
+static inline unsigned long base_memory_block_id(unsigned long section_nr)
 {
        return section_nr / sections_per_block;
 }
 
-static inline int pfn_to_block_id(unsigned long pfn)
+static inline unsigned long pfn_to_block_id(unsigned long pfn)
 {
        return base_memory_block_id(pfn_to_section_nr(pfn));
 }
  * A reference for the returned object is held and the reference for the
  * hinted object is released.
  */
-static struct memory_block *find_memory_block_by_id(int block_id,
+static struct memory_block *find_memory_block_by_id(unsigned long block_id,
                                                    struct memory_block *hint)
 {
        struct device *hintdev = hint ? &hint->dev : NULL;
 struct memory_block *find_memory_block_hinted(struct mem_section *section,
                                              struct memory_block *hint)
 {
-       int block_id = base_memory_block_id(__section_nr(section));
+       unsigned long block_id = base_memory_block_id(__section_nr(section));
 
        return find_memory_block_by_id(block_id, hint);
 }
        return ret;
 }
 
-static int init_memory_block(struct memory_block **memory, int block_id,
-                            unsigned long state)
+static int init_memory_block(struct memory_block **memory,
+                            unsigned long block_id, unsigned long state)
 {
        struct memory_block *mem;
        unsigned long start_pfn;
  */
 int create_memory_block_devices(unsigned long start, unsigned long size)
 {
-       const int start_block_id = pfn_to_block_id(PFN_DOWN(start));
-       int end_block_id = pfn_to_block_id(PFN_DOWN(start + size));
+       const unsigned long start_block_id = pfn_to_block_id(PFN_DOWN(start));
+       unsigned long end_block_id = pfn_to_block_id(PFN_DOWN(start + size));
        struct memory_block *mem;
        unsigned long block_id;
        int ret = 0;
  */
 void remove_memory_block_devices(unsigned long start, unsigned long size)
 {
-       const int start_block_id = pfn_to_block_id(PFN_DOWN(start));
-       const int end_block_id = pfn_to_block_id(PFN_DOWN(start + size));
+       const unsigned long start_block_id = pfn_to_block_id(PFN_DOWN(start));
+       const unsigned long end_block_id = pfn_to_block_id(PFN_DOWN(start + size));
        struct memory_block *mem;
-       int block_id;
+       unsigned long block_id;
 
        if (WARN_ON_ONCE(!IS_ALIGNED(start, memory_block_size_bytes()) ||
                         !IS_ALIGNED(size, memory_block_size_bytes())))