pcmcia_compat.c 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. /*
  2. * PCMCIA 16-bit compatibility functions
  3. *
  4. * The initial developer of the original code is David A. Hinds
  5. * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
  6. * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
  7. *
  8. * Copyright (C) 2004 Dominik Brodowski
  9. *
  10. * This program is free software; you can redistribute it and/or modify
  11. * it under the terms of the GNU General Public License version 2 as
  12. * published by the Free Software Foundation.
  13. *
  14. */
  15. #include <linux/config.h>
  16. #include <linux/module.h>
  17. #include <linux/init.h>
  18. #define IN_CARD_SERVICES
  19. #include <pcmcia/version.h>
  20. #include <pcmcia/cs_types.h>
  21. #include <pcmcia/cs.h>
  22. #include <pcmcia/bulkmem.h>
  23. #include <pcmcia/cistpl.h>
  24. #include <pcmcia/ds.h>
  25. #include <pcmcia/ss.h>
  26. #include "cs_internal.h"
  27. int pcmcia_get_first_tuple(client_handle_t handle, tuple_t *tuple)
  28. {
  29. struct pcmcia_socket *s;
  30. if (CHECK_HANDLE(handle))
  31. return CS_BAD_HANDLE;
  32. s = SOCKET(handle);
  33. return pccard_get_first_tuple(s, handle->Function, tuple);
  34. }
  35. EXPORT_SYMBOL(pcmcia_get_first_tuple);
  36. int pcmcia_get_next_tuple(client_handle_t handle, tuple_t *tuple)
  37. {
  38. struct pcmcia_socket *s;
  39. if (CHECK_HANDLE(handle))
  40. return CS_BAD_HANDLE;
  41. s = SOCKET(handle);
  42. return pccard_get_next_tuple(s, handle->Function, tuple);
  43. }
  44. EXPORT_SYMBOL(pcmcia_get_next_tuple);
  45. int pcmcia_get_tuple_data(client_handle_t handle, tuple_t *tuple)
  46. {
  47. struct pcmcia_socket *s;
  48. if (CHECK_HANDLE(handle))
  49. return CS_BAD_HANDLE;
  50. s = SOCKET(handle);
  51. return pccard_get_tuple_data(s, tuple);
  52. }
  53. EXPORT_SYMBOL(pcmcia_get_tuple_data);
  54. int pcmcia_parse_tuple(client_handle_t handle, tuple_t *tuple, cisparse_t *parse)
  55. {
  56. return pccard_parse_tuple(tuple, parse);
  57. }
  58. EXPORT_SYMBOL(pcmcia_parse_tuple);
  59. int pcmcia_validate_cis(client_handle_t handle, cisinfo_t *info)
  60. {
  61. struct pcmcia_socket *s;
  62. if (CHECK_HANDLE(handle))
  63. return CS_BAD_HANDLE;
  64. s = SOCKET(handle);
  65. return pccard_validate_cis(s, handle->Function, info);
  66. }
  67. EXPORT_SYMBOL(pcmcia_validate_cis);
  68. int pcmcia_reset_card(client_handle_t handle, client_req_t *req)
  69. {
  70. struct pcmcia_socket *skt;
  71. if (CHECK_HANDLE(handle))
  72. return CS_BAD_HANDLE;
  73. skt = SOCKET(handle);
  74. if (!skt)
  75. return CS_BAD_HANDLE;
  76. return pccard_reset_card(skt);
  77. }
  78. EXPORT_SYMBOL(pcmcia_reset_card);