15 #include <linux/slab.h>
16 #include <linux/module.h>
17 #include <linux/kernel.h>
37 if (start < res->start)
38 start += data->
mask + 1;
43 start = (start + 0x3ff) & ~0x3ff;
49 if ((res->
start + size - 1) >= 1024)
59 unsigned long base,
int num,
65 unsigned long min = base;
68 data.
mask = align - 1;
74 min, 0, pcmcia_align, &data);
78 1, pcmcia_align, &data);
88 unsigned int *base,
unsigned int num,
89 unsigned int align,
struct resource **parent)
104 if ((s->
io[i].
res->start & (align-1)) == *base)
120 res = s->
io[
i].
res = __iodyn_find_io_region(s, *base,
127 ((res->
flags & ~IORESOURCE_BITS) |
128 (attr & IORESOURCE_BITS));
136 if ((*base == 0) || (*base ==
try)) {
138 resource_size(res) + num))
147 try = res->
start - num;
148 if ((*base == 0) || (*base ==
try)) {
151 resource_size(res) + num))
165 .validate_mem =
NULL,
166 .find_io = iodyn_find_io,