Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 365438
b: refs/heads/master
c: ae8e3a9
h: refs/heads/master
v: v3
  • Loading branch information
Toshi Kani authored and Linus Torvalds committed Apr 29, 2013
1 parent 1af4f4e commit e43061c
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 14 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c73e5c9c59a0f7ba30b3e5f7bd2d8097d4c89c6d
refs/heads/master: ae8e3a915aef5af5ace5936c56f05f0b1502ded1
35 changes: 22 additions & 13 deletions trunk/kernel/resource.c
Original file line number Diff line number Diff line change
Expand Up @@ -706,24 +706,13 @@ void insert_resource_expand_to_fit(struct resource *root, struct resource *new)
write_unlock(&resource_lock);
}

/**
* adjust_resource - modify a resource's start and size
* @res: resource to modify
* @start: new start value
* @size: new size
*
* Given an existing resource, change its start and size to match the
* arguments. Returns 0 on success, -EBUSY if it can't fit.
* Existing children of the resource are assumed to be immutable.
*/
int adjust_resource(struct resource *res, resource_size_t start, resource_size_t size)
static int __adjust_resource(struct resource *res, resource_size_t start,
resource_size_t size)
{
struct resource *tmp, *parent = res->parent;
resource_size_t end = start + size - 1;
int result = -EBUSY;

write_lock(&resource_lock);

if (!parent)
goto skip;

Expand Down Expand Up @@ -751,6 +740,26 @@ int adjust_resource(struct resource *res, resource_size_t start, resource_size_t
result = 0;

out:
return result;
}

/**
* adjust_resource - modify a resource's start and size
* @res: resource to modify
* @start: new start value
* @size: new size
*
* Given an existing resource, change its start and size to match the
* arguments. Returns 0 on success, -EBUSY if it can't fit.
* Existing children of the resource are assumed to be immutable.
*/
int adjust_resource(struct resource *res, resource_size_t start,
resource_size_t size)
{
int result;

write_lock(&resource_lock);
result = __adjust_resource(res, start, size);
write_unlock(&resource_lock);
return result;
}
Expand Down

0 comments on commit e43061c

Please sign in to comment.