From: Dominik Brodowski Calls to adjust_mem_region only happen if !SS_CAP_STATIC_MAP. Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton --- 25-akpm/drivers/pcmcia/rsrc_mgr.c | 12 +++++++++++- 25-akpm/include/pcmcia/ss.h | 3 +++ 2 files changed, 14 insertions(+), 1 deletion(-) diff -puN drivers/pcmcia/rsrc_mgr.c~pcmcia-find_mem_region-only-for-non-statically-mapped-sockets drivers/pcmcia/rsrc_mgr.c --- 25/drivers/pcmcia/rsrc_mgr.c~pcmcia-find_mem_region-only-for-non-statically-mapped-sockets Fri Dec 17 15:25:08 2004 +++ 25-akpm/drivers/pcmcia/rsrc_mgr.c Fri Dec 17 15:25:08 2004 @@ -638,7 +638,7 @@ struct resource *nonstatic_find_io_regio return res; } -struct resource *find_mem_region(u_long base, u_long num, u_long align, +struct resource * nonstatic_find_mem_region(u_long base, u_long num, u_long align, int low, struct pcmcia_socket *s) { struct resource *res = make_resource(0, num, IORESOURCE_MEM, s->dev.class_id); @@ -1005,15 +1005,25 @@ struct resource *find_io_region(unsigned return NULL; } +struct resource *find_mem_region(u_long base, u_long num, u_long align, + int low, struct pcmcia_socket *s) +{ + if (s->resource_ops->find_mem) + return s->resource_ops->find_mem(base, num, align, low, s); + return NULL; +} + struct pccard_resource_ops pccard_static_ops = { .validate_mem = NULL, .adjust_io_region = NULL, .find_io = NULL, + .find_mem = NULL, }; struct pccard_resource_ops pccard_nonstatic_ops = { .validate_mem = pcmcia_nonstatic_validate_mem, .adjust_io_region = nonstatic_adjust_io_region, .find_io = nonstatic_find_io_region, + .find_mem = nonstatic_find_mem_region, }; diff -puN include/pcmcia/ss.h~pcmcia-find_mem_region-only-for-non-statically-mapped-sockets include/pcmcia/ss.h --- 25/include/pcmcia/ss.h~pcmcia-find_mem_region-only-for-non-statically-mapped-sockets Fri Dec 17 15:25:08 2004 +++ 25-akpm/include/pcmcia/ss.h Fri Dec 17 15:25:08 2004 @@ -124,6 +124,9 @@ struct pccard_resource_ops { struct resource* (*find_io) (unsigned long base, int num, unsigned long align, struct pcmcia_socket *s); + struct resource* (*find_mem) (unsigned long base, unsigned long num, + unsigned long align, int low, + struct pcmcia_socket *s); }; /* _