diff options
Diffstat (limited to 'target/linux/lantiq/patches-3.0/995-backport-3.1-lookup_resource.patch')
-rw-r--r-- | target/linux/lantiq/patches-3.0/995-backport-3.1-lookup_resource.patch | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/target/linux/lantiq/patches-3.0/995-backport-3.1-lookup_resource.patch b/target/linux/lantiq/patches-3.0/995-backport-3.1-lookup_resource.patch deleted file mode 100644 index 76c7135..0000000 --- a/target/linux/lantiq/patches-3.0/995-backport-3.1-lookup_resource.patch +++ /dev/null @@ -1,56 +0,0 @@ -commit 1c388919d89ca35741e9c4d3255adf87f76f0c06 -Author: Geert Uytterhoeven <geert@linux-m68k.org> -Date: Sat May 7 20:53:16 2011 +0200 - - resources: Add lookup_resource() - - Add a function to find an existing resource by a resource start address. - This allows to implement simple allocators (with a malloc/free-alike API) - on top of the resource system. - - Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> - -diff --git a/include/linux/ioport.h b/include/linux/ioport.h -index e9bb22c..63eb429 100644 ---- a/include/linux/ioport.h -+++ b/include/linux/ioport.h -@@ -132,6 +132,7 @@ extern int allocate_resource(struct resource *root, struct resource *new, - resource_size_t, - resource_size_t), - void *alignf_data); -+struct resource *lookup_resource(struct resource *root, resource_size_t start); - int adjust_resource(struct resource *res, resource_size_t start, - resource_size_t size); - resource_size_t resource_alignment(struct resource *res); -diff --git a/kernel/resource.c b/kernel/resource.c -index 3ff4017..3b3cedc 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()) |