Index: linux-2.6.13/drivers/pcmcia/sa1100_generic.c
===================================================================
--- linux-2.6.13.orig/drivers/pcmcia/sa1100_generic.c	2005-08-29 00:41:01.000000000 +0100
+++ linux-2.6.13/drivers/pcmcia/sa1100_generic.c	2005-09-05 20:07:38.000000000 +0100
@@ -56,6 +56,9 @@
 #ifdef CONFIG_SA1100_SIMPAD
 	pcmcia_simpad_init,
 #endif
+#ifdef CONFIG_SA1100_COLLIE
+	pcmcia_collie_init,
+#endif
 };
 
 static int sa11x0_drv_pcmcia_probe(struct device *dev)
Index: linux-2.6.13/drivers/pcmcia/Makefile
===================================================================
--- linux-2.6.13.orig/drivers/pcmcia/Makefile	2005-08-29 00:41:01.000000000 +0100
+++ linux-2.6.13/drivers/pcmcia/Makefile	2005-09-05 20:09:17.000000000 +0100
@@ -56,6 +56,7 @@
 sa1100_cs-y					+= sa1100_generic.o
 sa1100_cs-$(CONFIG_SA1100_ASSABET)		+= sa1100_assabet.o
 sa1100_cs-$(CONFIG_SA1100_CERF)			+= sa1100_cerf.o
+sa1100_cs-$(CONFIG_SA1100_COLLIE)		+= pxa2xx_sharpsl.o
 sa1100_cs-$(CONFIG_SA1100_H3600)		+= sa1100_h3600.o
 sa1100_cs-$(CONFIG_SA1100_SHANNON)		+= sa1100_shannon.o
 sa1100_cs-$(CONFIG_SA1100_SIMPAD)		+= sa1100_simpad.o
Index: linux-2.6.13/drivers/pcmcia/pxa2xx_sharpsl.c
===================================================================
--- linux-2.6.13.orig/drivers/pcmcia/pxa2xx_sharpsl.c	2005-09-05 17:45:11.000000000 +0100
+++ linux-2.6.13/drivers/pcmcia/pxa2xx_sharpsl.c	2005-09-05 20:10:56.000000000 +0100
@@ -235,6 +235,19 @@
 
 static struct platform_device *sharpsl_pcmcia_device;
 
+#ifdef CONFIG_SA1100_COLLIE
+int __init pcmcia_collie_init(struct device *dev)
+{
+	int ret = -ENODEV;
+
+	if (machine_is_collie())
+		ret = sa11xx_drv_pcmcia_probe(dev, &sharpsl_pcmcia_ops, 1, 1);
+
+	return ret;
+}
+
+#else
+
 static int __init sharpsl_pcmcia_init(void)
 {
 	int ret;
@@ -269,6 +282,7 @@
 
 module_init(sharpsl_pcmcia_init);
 module_exit(sharpsl_pcmcia_exit);
+#endif
 
 MODULE_DESCRIPTION("Sharp SL Series PCMCIA Support");
 MODULE_LICENSE("GPL");
Index: linux-2.6.13/arch/arm/mach-sa1100/collie.c
===================================================================
--- linux-2.6.13.orig/arch/arm/mach-sa1100/collie.c	2005-08-29 00:41:01.000000000 +0100
+++ linux-2.6.13/arch/arm/mach-sa1100/collie.c	2005-09-05 19:50:52.000000000 +0100
@@ -66,6 +66,14 @@
 	.resource	= collie_scoop_resources,
 };
 
+static struct scoop_pcmcia_dev collie_pcmcia_scoop[] = {
+{
+	.dev        = &collie_scoop_device.dev,
+	.irq        = COLLIE_IRQ_GPIO_CF_IRQ,
+	.cd_irq     = COLLIE_IRQ_GPIO_CF_CD,
+	.cd_irq_str = "PCMCIA0 CD",
+},
+};
 
 static struct resource locomo_resources[] = {
 	[0] = {
@@ -160,6 +168,9 @@
 	GPDR |= GPIO_32_768kHz;
 	TUCR  = TUCR_32_768kHz;
 
+	scoop_num = 1;
+	scoop_devs = &collie_pcmcia_scoop[0];
+
 	ret = platform_add_devices(devices, ARRAY_SIZE(devices));
 	if (ret) {
 		printk(KERN_WARNING "collie: Unable to register LoCoMo device\n");
