diff options
author | Bjorn Helgaas <bjorn.helgaas@hp.com> | 2010-03-11 17:01:09 -0700 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2010-03-23 13:33:50 -0700 |
commit | 66f1207bce10fd80ee8ce99b67d617644612f05e (patch) | |
tree | 3031bb74dce8c54af69dcd4aa7e566f40a5511ce /include | |
parent | 7c9e2b1c4784c6e574f69dbd904b2822f2e04d6e (diff) | |
download | linux-66f1207bce10fd80ee8ce99b67d617644612f05e.tar.gz linux-66f1207bce10fd80ee8ce99b67d617644612f05e.tar.bz2 linux-66f1207bce10fd80ee8ce99b67d617644612f05e.zip |
resources: add interfaces that return conflict information
request_resource() and insert_resource() only return success or failure,
which no information about what existing resource conflicted with the
proposed new reservation. This patch adds request_resource_conflict()
and insert_resource_conflict(), which return the conflicting resource.
Callers may use this for better error messages or to adjust the new
resource and retry the request.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/ioport.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/ioport.h b/include/linux/ioport.h index 71ab79da7e7f..26fad187d661 100644 --- a/include/linux/ioport.h +++ b/include/linux/ioport.h @@ -112,12 +112,14 @@ struct resource_list { extern struct resource ioport_resource; extern struct resource iomem_resource; +extern struct resource *request_resource_conflict(struct resource *root, struct resource *new); extern int request_resource(struct resource *root, struct resource *new); extern int release_resource(struct resource *new); void release_child_resources(struct resource *new); extern void reserve_region_with_split(struct resource *root, resource_size_t start, resource_size_t end, const char *name); +extern struct resource *insert_resource_conflict(struct resource *parent, struct resource *new); extern int insert_resource(struct resource *parent, struct resource *new); extern void insert_resource_expand_to_fit(struct resource *root, struct resource *new); extern int allocate_resource(struct resource *root, struct resource *new, |