diff options
author | Dominik Brodowski <linux@dominikbrodowski.net> | 2005-06-27 16:28:54 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-27 18:03:20 -0700 |
commit | 3448139b41b9e3b8799eed7d427cd50789dadc3e (patch) | |
tree | 9c6c2938220fb6826de49f7bf1b7fe3ecdc801ad /drivers/pcmcia/pcmcia_resource.c | |
parent | 33519ddd43f4adc221ee7b2801dedd19ac97540b (diff) |
[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>
Diffstat (limited to 'drivers/pcmcia/pcmcia_resource.c')
-rw-r--r-- | drivers/pcmcia/pcmcia_resource.c | 62 |
1 files changed, 35 insertions, 27 deletions
diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resource.c index cf66b997894..9ed3d4a9b99 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 @@ int pccard_access_configuration_register(struct pcmcia_socket *s, } 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 @@ int pccard_get_configuration_info(struct pcmcia_socket *s, 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 @@ int pccard_get_status(struct pcmcia_socket *s, unsigned int function, (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 |