[PATCH] pcmcia: ds.c cleanup

Clean up ds.c

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resource.c
index cf66b99..9ed3d4a 100644
--- a/drivers/pcmcia/pcmcia_resource.c
+++ b/drivers/pcmcia/pcmcia_resource.c
@@ -36,8 +36,6 @@
 #include "ds_internal.h"
 
 
-static const char *release = "Linux Kernel Card Services";
-
 /* Access speed for IO windows */
 static int io_speed = 0;
 module_param(io_speed, int, 0444);
@@ -202,7 +200,18 @@
 	}
 	return CS_SUCCESS;
 } /* pccard_access_configuration_register */
-EXPORT_SYMBOL(pccard_access_configuration_register);
+
+int pcmcia_access_configuration_register(client_handle_t handle,
+					 conf_reg_t *reg)
+{
+	struct pcmcia_socket *s;
+	if (CHECK_HANDLE(handle))
+		return CS_BAD_HANDLE;
+	s = SOCKET(handle);
+	return pccard_access_configuration_register(s, handle->Function, reg);
+}
+EXPORT_SYMBOL(pcmcia_access_configuration_register);
+
 
 
 int pccard_get_configuration_info(struct pcmcia_socket *s,
@@ -260,31 +269,20 @@
 
 	return CS_SUCCESS;
 } /* pccard_get_configuration_info */
-EXPORT_SYMBOL(pccard_get_configuration_info);
 
-
-/** pcmcia_get_card_services_info
- *
- * Return information about this version of Card Services
- */
-
-int pcmcia_get_card_services_info(servinfo_t *info)
+int pcmcia_get_configuration_info(client_handle_t handle,
+				  config_info_t *config)
 {
-	unsigned int socket_count = 0;
-	struct list_head *tmp;
-	info->Signature[0] = 'C';
-	info->Signature[1] = 'S';
-	down_read(&pcmcia_socket_list_rwsem);
-	list_for_each(tmp, &pcmcia_socket_list)
-		socket_count++;
-	up_read(&pcmcia_socket_list_rwsem);
-	info->Count = socket_count;
-	info->Revision = CS_RELEASE_CODE;
-	info->CSLevel = 0x0210;
-	info->VendorString = (char *)release;
-	return CS_SUCCESS;
-} /* get_card_services_info */
-EXPORT_SYMBOL(pcmcia_get_card_services_info);
+	struct pcmcia_socket *s;
+
+	if ((CHECK_HANDLE(handle)) || !config)
+		return CS_BAD_HANDLE;
+	s = SOCKET(handle);
+	if (!s)
+		return CS_BAD_HANDLE;
+	return pccard_get_configuration_info(s, handle->Function, config);
+}
+EXPORT_SYMBOL(pcmcia_get_configuration_info);
 
 
 /** pcmcia_get_window
@@ -379,7 +377,17 @@
 		(val & SS_READY) ? CS_EVENT_READY_CHANGE : 0;
 	return CS_SUCCESS;
 } /* pccard_get_status */
-EXPORT_SYMBOL(pccard_get_status);
+
+int pcmcia_get_status(client_handle_t handle, cs_status_t *status)
+{
+	struct pcmcia_socket *s;
+	if (CHECK_HANDLE(handle))
+		return CS_BAD_HANDLE;
+	s = SOCKET(handle);
+	return pccard_get_status(s, handle->Function, status);
+}
+EXPORT_SYMBOL(pcmcia_get_status);
+
 
 
 /** pcmcia_get_mem_page