Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
[platform/adaptation/renesas_rcar/renesas_kernel.git] / include / linux / range.h
1 #ifndef _LINUX_RANGE_H
2 #define _LINUX_RANGE_H
3
4 struct range {
5         u64   start;
6         u64   end;
7 };
8
9 int add_range(struct range *range, int az, int nr_range,
10                 u64 start, u64 end);
11
12
13 int add_range_with_merge(struct range *range, int az, int nr_range,
14                                 u64 start, u64 end);
15
16 void subtract_range(struct range *range, int az, u64 start, u64 end);
17
18 int clean_sort_range(struct range *range, int az);
19
20 void sort_range(struct range *range, int nr_range);
21
22 #define MAX_RESOURCE ((resource_size_t)~0)
23 static inline resource_size_t cap_resource(u64 val)
24 {
25         if (val > MAX_RESOURCE)
26                 return MAX_RESOURCE;
27
28         return val;
29 }
30 #endif