]> git.hungrycats.org Git - linux/commitdiff
[PATCH] pcmcia: find_mem_region only for non-statically mapped sockets
authorDominik Brodowski <linux@dominikbrodowski.de>
Tue, 11 Jan 2005 11:28:37 +0000 (03:28 -0800)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Tue, 11 Jan 2005 11:28:37 +0000 (03:28 -0800)
Calls to adjust_mem_region only happen if !SS_CAP_STATIC_MAP.

Signed-off-by: Dominik Brodowski <linux@brodo.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/pcmcia/rsrc_mgr.c
include/pcmcia/ss.h

index de488824dbe65476a92e4f7e5c55bb70d07630ef..ea52d03e9f4bec00af5c2521efcff62eceb9fe97 100644 (file)
@@ -638,7 +638,7 @@ struct resource *nonstatic_find_io_region(unsigned long base, int num,
        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 long base, int num,
        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,
 };
index 02fd88e83e32ab53f3d2b94f3f96bdf3f94533fd..bd22d0c69975ffba79c59ef0a398cde9f4d3f6c5 100644 (file)
@@ -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);
 };
 
 /*