cpu_clock = cpufreq_get(0);
+ for (i = 0; i < sa1100_pcmcia_socket_count; i++) {
+ struct sa1100_pcmcia_socket *skt = PCMCIA_SOCKET(i);
+ memset(skt, 0, sizeof(*skt));
+ }
+
/*
* We initialize the MECR to default values here, because we are
* not guaranteed to see a SetIOMap operation at runtime.
for (i = 0; i < sa1100_pcmcia_socket_count; i++) {
struct sa1100_pcmcia_socket *skt = PCMCIA_SOCKET(i);
- if (!request_mem_region(_PCMCIA(i), PCMCIASp, "PCMCIA")) {
- ret = -EBUSY;
- goto out_err;
- }
+ skt->res.start = _PCMCIA(i);
+ skt->res.end = _PCMCIA(i) + PCMCIASp - 1;
+ skt->res.name = "PCMCIA";
+ skt->res.flags = IORESOURCE_MEM;
+ ret = request_resource(&iomem_resource, &skt->res);
+ if (ret)
+ goto out_err;
skt->nr = i;
skt->ops = ops;
struct sa1100_pcmcia_socket *skt = PCMCIA_SOCKET(i);
iounmap(skt->virt_io);
skt->virt_io = NULL;
- release_mem_region(_PCMCIA(i), PCMCIASp);
+ if (skt->res.start)
+ release_resource(&skt->res);
}
- shutdown:
ops->shutdown();
out:
iounmap(skt->virt_io);
skt->virt_io = NULL;
- release_mem_region(_PCMCIA(i), PCMCIASp);
+ release_resource(&skt->res);
}
ops->shutdown();