summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2010-12-16 11:30:49 +1100
committerStephen Rothwell <sfr@canb.auug.org.au>2010-12-16 11:30:49 +1100
commitaaa098459b17284c606349f1e6a19a03699e1fdb (patch)
tree93cba03492aaf7a7ddc5daf9cf60e4517d2856af /kernel
parent85b1cfe0bb4385ac7d84e28a16d9c758e7b0af8f (diff)
parent120286747855ba79050eb6f0c08b39e2996810b1 (diff)
Merge remote branch 'pci-current/for-linus'
Diffstat (limited to 'kernel')
-rw-r--r--kernel/resource.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/resource.c b/kernel/resource.c
index 9fad33efd0db..246957e60885 100644
--- a/kernel/resource.c
+++ b/kernel/resource.c
@@ -374,6 +374,10 @@ int __weak page_is_ram(unsigned long pfn)
return walk_system_ram_range(pfn, 1, NULL, __is_ram) == 1;
}
+void __weak arch_remove_reservations(struct resource *avail)
+{
+}
+
static resource_size_t simple_align_resource(void *data,
const struct resource *avail,
resource_size_t size,
@@ -426,6 +430,7 @@ static int find_resource_from_top(struct resource *root, struct resource *new,
struct resource *this;
struct resource tmp, avail, alloc;
+ tmp.flags = new->flags;
tmp.start = root->end;
tmp.end = root->end;
@@ -438,6 +443,7 @@ static int find_resource_from_top(struct resource *root, struct resource *new,
tmp.start = root->start;
resource_clip(&tmp, min, max);
+ arch_remove_reservations(&tmp);
/* Check for overflow after ALIGN() */
avail = *new;
@@ -478,6 +484,7 @@ static int find_resource(struct resource *root, struct resource *new,
struct resource *this = root->child;
struct resource tmp = *new, avail, alloc;
+ tmp.flags = new->flags;
tmp.start = root->start;
/*
* Skip past an allocated resource that starts at 0, since the
@@ -495,6 +502,7 @@ static int find_resource(struct resource *root, struct resource *new,
tmp.end = root->end;
resource_clip(&tmp, min, max);
+ arch_remove_reservations(&tmp);
/* Check for overflow after ALIGN() */
avail = *new;