diff options
| author | Sascha Hauer <s.hauer@pengutronix.de> | 2011-08-03 09:42:39 +0200 |
|---|---|---|
| committer | Sascha Hauer <s.hauer@pengutronix.de> | 2011-08-03 09:42:39 +0200 |
| commit | c61daf6b0a2f7048c6e74d52b043fa6a779b128a (patch) | |
| tree | a4a38656ac79775f38ce5fd6b00dd9b89cd5ccec /kernel/resource.c | |
| parent | 786c89f7a24b4ed8b68dfb136347267875315c30 (diff) | |
| parent | 160a84cfc975f4aaec1cb32a48bba23ccaf43761 (diff) | |
Merge branch 'imx-cleanup' of git://git.pengutronix.de/git/ukl/linux-2.6 into imx-cleanup
Diffstat (limited to 'kernel/resource.c')
| -rw-r--r-- | kernel/resource.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/kernel/resource.c b/kernel/resource.c index 3ff40178dce..3b3cedc5259 100644 --- a/kernel/resource.c +++ b/kernel/resource.c @@ -553,6 +553,27 @@ int allocate_resource(struct resource *root, struct resource *new, EXPORT_SYMBOL(allocate_resource); +/** + * lookup_resource - find an existing resource by a resource start address + * @root: root resource descriptor + * @start: resource start address + * + * Returns a pointer to the resource if found, NULL otherwise + */ +struct resource *lookup_resource(struct resource *root, resource_size_t start) +{ + struct resource *res; + + read_lock(&resource_lock); + for (res = root->child; res; res = res->sibling) { + if (res->start == start) + break; + } + read_unlock(&resource_lock); + + return res; +} + /* * Insert a resource into the resource tree. If successful, return NULL, * otherwise return the conflicting resource (compare to __request_resource()) |
