summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/resource.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/resource.c b/kernel/resource.c
index 7804ab3230d1..bf331c1092ed 100644
--- a/kernel/resource.c
+++ b/kernel/resource.c
@@ -152,7 +152,8 @@ static int find_resource(struct resource *root, struct resource *new,
unsigned long size,
unsigned long min, unsigned long max,
unsigned long align,
- void (*alignf)(void *, struct resource *, unsigned long),
+ void (*alignf)(void *, struct resource *,
+ unsigned long, unsigned long),
void *alignf_data)
{
struct resource *this = root->child;
@@ -169,7 +170,7 @@ static int find_resource(struct resource *root, struct resource *new,
new->end = max;
new->start = (new->start + align - 1) & ~(align - 1);
if (alignf)
- alignf(alignf_data, new, size);
+ alignf(alignf_data, new, size, align);
if (new->start < new->end && new->end - new->start + 1 >= size) {
new->end = new->start + size - 1;
return 0;
@@ -189,7 +190,8 @@ int allocate_resource(struct resource *root, struct resource *new,
unsigned long size,
unsigned long min, unsigned long max,
unsigned long align,
- void (*alignf)(void *, struct resource *, unsigned long),
+ void (*alignf)(void *, struct resource *,
+ unsigned long, unsigned long),
void *alignf_data)
{
int err;