From e43061cbdf7885d7ffc9718d5946d37a4f76671f Mon Sep 17 00:00:00 2001 From: Toshi Kani Date: Mon, 29 Apr 2013 15:08:17 -0700 Subject: [PATCH] --- yaml --- r: 365438 b: refs/heads/master c: ae8e3a915aef5af5ace5936c56f05f0b1502ded1 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/kernel/resource.c | 35 ++++++++++++++++++++++------------- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/[refs] b/[refs] index b9978e61c16d..d30b49caad03 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c73e5c9c59a0f7ba30b3e5f7bd2d8097d4c89c6d +refs/heads/master: ae8e3a915aef5af5ace5936c56f05f0b1502ded1 diff --git a/trunk/kernel/resource.c b/trunk/kernel/resource.c index 73f35d4b30b9..ae246f97c5d3 100644 --- a/trunk/kernel/resource.c +++ b/trunk/kernel/resource.c @@ -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; @@ -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; }