]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/pcmcia/au1000_generic.c
spi: use simplified spi_sync() calling convention
[linux-2.6-omap-h63xx.git] / drivers / pcmcia / au1000_generic.c
index 5387de6216fbecd2e2a01daee84f913c430fdd56..b693367d38cdbb3d907e14b1dd8275fed044ffe3 100644 (file)
@@ -372,7 +372,7 @@ int au1x00_pcmcia_socket_probe(struct device *dev, struct pcmcia_low_level *ops,
                skt->socket.resource_ops = &pccard_static_ops;
                skt->socket.ops = &au1x00_pcmcia_operations;
                skt->socket.owner = ops->owner;
-               skt->socket.dev.dev = dev;
+               skt->socket.dev.parent = dev;
 
                init_timer(&skt->poll_timer);
                skt->poll_timer.function = au1x00_pcmcia_poll_event;
@@ -449,6 +449,16 @@ out_err:
                del_timer_sync(&skt->poll_timer);
                pcmcia_unregister_socket(&skt->socket);
                flush_scheduled_work();
+               if (i == 0) {
+                       iounmap(skt->virt_io + (u32)mips_io_port_base);
+                       skt->virt_io = NULL;
+               }
+#ifndef CONFIG_MIPS_XXS1500
+               else {
+                       iounmap(skt->virt_io + (u32)mips_io_port_base);
+                       skt->virt_io = NULL;
+               }
+#endif
                ops->hw_shutdown(skt);
 
        }