mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 13:55:32 +00:00
resource: Introduce resource_intersection() for overlapping resources
There will be at least one user that can utilize new helper. Provide the helper for future user and for wider use. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Hanjun Guo <guohanjun@huawei.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
5562f35d7f
commit
f65674df1b
1 changed files with 10 additions and 0 deletions
|
@ -236,6 +236,16 @@ static inline bool resource_overlaps(struct resource *r1, struct resource *r2)
|
|||
return r1->start <= r2->end && r1->end >= r2->start;
|
||||
}
|
||||
|
||||
static inline bool
|
||||
resource_intersection(struct resource *r1, struct resource *r2, struct resource *r)
|
||||
{
|
||||
if (!resource_overlaps(r1, r2))
|
||||
return false;
|
||||
r->start = max(r1->start, r2->start);
|
||||
r->end = min(r1->end, r2->end);
|
||||
return true;
|
||||
}
|
||||
|
||||
static inline bool
|
||||
resource_union(struct resource *r1, struct resource *r2, struct resource *r)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue