PageRenderTime 42ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/drivers/net/wireless/tiwlan1251/pform/linux/inc/spi_api.h

http://github.com/CyanogenMod/cm-kernel
C Header | 69 lines | 23 code | 12 blank | 34 comment | 0 complexity | bbad1cc92d9527756425657eb51ccfc2 MD5 | raw file
Possible License(s): AGPL-1.0, GPL-2.0, LGPL-2.0
  1. /****************************************************************************
  2. **+-----------------------------------------------------------------------+**
  3. **| |**
  4. **| Copyright(c) 1998 - 2008 Texas Instruments. All rights reserved. |**
  5. **| All rights reserved. |**
  6. **| |**
  7. **| Redistribution and use in source and binary forms, with or without |**
  8. **| modification, are permitted provided that the following conditions |**
  9. **| are met: |**
  10. **| |**
  11. **| * Redistributions of source code must retain the above copyright |**
  12. **| notice, this list of conditions and the following disclaimer. |**
  13. **| * Redistributions in binary form must reproduce the above copyright |**
  14. **| notice, this list of conditions and the following disclaimer in |**
  15. **| the documentation and/or other materials provided with the |**
  16. **| distribution. |**
  17. **| * Neither the name Texas Instruments nor the names of its |**
  18. **| contributors may be used to endorse or promote products derived |**
  19. **| from this software without specific prior written permission. |**
  20. **| |**
  21. **| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |**
  22. **| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |**
  23. **| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |**
  24. **| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |**
  25. **| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |**
  26. **| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |**
  27. **| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |**
  28. **| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |**
  29. **| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |**
  30. **| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |**
  31. **| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |**
  32. **| |**
  33. **+-----------------------------------------------------------------------+**
  34. ****************************************************************************/
  35. #ifndef _SPI_API_H_
  36. #define _SPI_API_H_
  37. typedef void (*request_callback_t) (void *data, int status);
  38. typedef enum
  39. {
  40. SPI_OK = 0,
  41. SPI_TXN_COMPLETE = 0,
  42. SPI_TXN_PENDING = 1,
  43. SPI_ERR_UNKNOWN = -1,
  44. SPI_ERR_BUS_BUSY = -2,
  45. SPI_ERR_QUEUE_FULL = -3,
  46. SPI_ERR_ALLOC_MEM = -4,
  47. SPI_ERR_ASYNC_TIMEOUT = -5,
  48. SPI_ERR_WRONG_LENGTH = -6,
  49. } SPI_Status_e;
  50. void* SPI_Open (void);
  51. int SPI_Close (void* hSPI);
  52. int SPI_Write (void* hSPI, UINT8 *data, UINT32 length, request_callback_t fCb, void *pCb, int more);
  53. int SPI_Read (void* hSPI, UINT8 *data, UINT32 length, request_callback_t fCb, void *pCb, int more);
  54. int SPI_WriteRead (void* hSPI, UINT8 *data, UINT32 length, UINT8 *rdata, UINT32 rlength, request_callback_t fCb, void* pCb, int more);
  55. int SPI_WriteSync (void* hSPI, UINT8 *data, UINT32 length);
  56. int SPI_ReadSync (void* hSPI, UINT8* data, UINT32 length);
  57. #endif /* _SPI_API_H_ */