Blame view

include/linux/range.h 775 Bytes
b24413180   Greg Kroah-Hartman   License cleanup: ...
1
  /* SPDX-License-Identifier: GPL-2.0 */
27811d8ca   Yinghai Lu   x86: Move range r...
2
3
  #ifndef _LINUX_RANGE_H
  #define _LINUX_RANGE_H
a4574f63e   Dan Williams   mm/memremap_pages...
4
  #include <linux/types.h>
27811d8ca   Yinghai Lu   x86: Move range r...
5
6
7
8
9
  
  struct range {
  	u64   start;
  	u64   end;
  };
a4574f63e   Dan Williams   mm/memremap_pages...
10
11
12
13
  static inline u64 range_len(const struct range *range)
  {
  	return range->end - range->start + 1;
  }
27811d8ca   Yinghai Lu   x86: Move range r...
14
15
16
17
18
19
20
21
22
23
24
25
  int add_range(struct range *range, int az, int nr_range,
  		u64 start, u64 end);
  
  
  int add_range_with_merge(struct range *range, int az, int nr_range,
  				u64 start, u64 end);
  
  void subtract_range(struct range *range, int az, u64 start, u64 end);
  
  int clean_sort_range(struct range *range, int az);
  
  void sort_range(struct range *range, int nr_range);
9ad3f2c7c   Yinghai Lu   x86/pci: Add cap_...
26
27
28
29
30
31
32
33
  #define MAX_RESOURCE ((resource_size_t)~0)
  static inline resource_size_t cap_resource(u64 val)
  {
  	if (val > MAX_RESOURCE)
  		return MAX_RESOURCE;
  
  	return val;
  }
27811d8ca   Yinghai Lu   x86: Move range r...
34
  #endif