aboutsummaryrefslogtreecommitdiff
path: root/drivers/sdio/stack/lib/sdio_lib_os.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/sdio/stack/lib/sdio_lib_os.c')
-rw-r--r--drivers/sdio/stack/lib/sdio_lib_os.c251
1 files changed, 0 insertions, 251 deletions
diff --git a/drivers/sdio/stack/lib/sdio_lib_os.c b/drivers/sdio/stack/lib/sdio_lib_os.c
deleted file mode 100644
index 55363d04ffd..00000000000
--- a/drivers/sdio/stack/lib/sdio_lib_os.c
+++ /dev/null
@@ -1,251 +0,0 @@
-/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-@file: sdio_function_os.c
-
-@abstract: Linux implementation module for SDIO library
-
-#notes: includes module load and unload functions
-
-@notice: Copyright (c), 2004 Atheros Communications, Inc.
-
-
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation;
- *
- * Software distributed under the License is distributed on an "AS
- * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * rights and limitations under the License.
- *
- * Portions of this code were developed with information supplied from the
- * SD Card Association Simplified Specifications. The following conditions and disclaimers may apply:
- *
- * The following conditions apply to the release of the SD simplified specification (�Simplified
- * Specification�) by the SD Card Association. The Simplified Specification is a subset of the complete
- * SD Specification which is owned by the SD Card Association. This Simplified Specification is provided
- * on a non-confidential basis subject to the disclaimers below. Any implementation of the Simplified
- * Specification may require a license from the SD Card Association or other third parties.
- * Disclaimers:
- * The information contained in the Simplified Specification is presented only as a standard
- * specification for SD Cards and SD Host/Ancillary products and is provided "AS-IS" without any
- * representations or warranties of any kind. No responsibility is assumed by the SD Card Association for
- * any damages, any infringements of patents or other right of the SD Card Association or any third
- * parties, which may result from its use. No license is granted by implication, estoppel or otherwise
- * under any patent or other rights of the SD Card Association or any third party. Nothing herein shall
- * be construed as an obligation by the SD Card Association to disclose or distribute any technical
- * information, know-how or other confidential information to any third party.
- *
- *
- * The initial developers of the original code are Seung Yi and Paul Lever
- *
- * sdio@atheros.com
- *
- *
-
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/* debug level for this module*/
-#define DBG_DECLARE 4;
-#include <linux/sdio/ctsystem.h>
-
-#include <linux/module.h>
-#include <linux/init.h>
-#include <linux/kthread.h>
-
-#include <linux/sdio/sdio_busdriver.h>
-#include <linux/sdio/sdio_lib.h>
-#include "_sdio_lib.h"
-
-#define DESCRIPTION "SDIO Kernel Library"
-#define AUTHOR "Atheros Communications, Inc."
-
-/* proxies */
-SDIO_STATUS SDLIB_IssueCMD52(PSDDEVICE pDevice,
- UINT8 FuncNo,
- UINT32 Address,
- PUINT8 pData,
- INT ByteCount,
- BOOL Write)
-{
- return _SDLIB_IssueCMD52(pDevice,FuncNo,Address,pData,ByteCount,Write);
-}
-
-SDIO_STATUS SDLIB_FindTuple(PSDDEVICE pDevice,
- UINT8 Tuple,
- UINT32 *pTupleScanAddress,
- PUINT8 pBuffer,
- UINT8 *pLength)
-{
- return _SDLIB_FindTuple(pDevice,Tuple,pTupleScanAddress,pBuffer,pLength);
-}
-
-SDIO_STATUS SDLIB_IssueConfig(PSDDEVICE pDevice,
- SDCONFIG_COMMAND Command,
- PVOID pData,
- INT Length)
-{
- return _SDLIB_IssueConfig(pDevice,Command,pData,Length);
-}
-
-void SDLIB_PrintBuffer(PUCHAR pBuffer,INT Length,PTEXT pDescription)
-{
- _SDLIB_PrintBuffer(pBuffer,Length,pDescription);
-}
-
-SDIO_STATUS SDLIB_SetFunctionBlockSize(PSDDEVICE pDevice,
- UINT16 BlockSize)
-{
- return _SDLIB_SetFunctionBlockSize(pDevice,BlockSize);
-}
-
-void SDLIB_SetupCMD52Request(UINT8 FuncNo,
- UINT32 Address,
- BOOL Write,
- UINT8 WriteData,
- PSDREQUEST pRequest)
-{
- _SDLIB_SetupCMD52Request(FuncNo,Address,Write,WriteData,pRequest);
-}
-
-SDIO_STATUS SDLIB_GetDefaultOpCurrent(PSDDEVICE pDevice, SD_SLOT_CURRENT *pOpCurrent)
-{
- return _SDLIB_GetDefaultOpCurrent(pDevice,pOpCurrent);
-}
-
-/* helper function launcher */
-INT HelperLaunch(PVOID pContext)
-{
- INT exit;
- /* call function */
- exit = ((POSKERNEL_HELPER)pContext)->pHelperFunc((POSKERNEL_HELPER)pContext);
- complete_and_exit(&((POSKERNEL_HELPER)pContext)->Completion, exit);
- return exit;
-}
-
-/*
- * OSCreateHelper - create a worker kernel thread
-*/
-SDIO_STATUS SDLIB_OSCreateHelper(POSKERNEL_HELPER pHelper,
- PHELPER_FUNCTION pFunction,
- PVOID pContext)
-{
- SDIO_STATUS status = SDIO_STATUS_SUCCESS;
-
- memset(pHelper,0,sizeof(OSKERNEL_HELPER));
-
- do {
- pHelper->pContext = pContext;
- pHelper->pHelperFunc = pFunction;
- status = SignalInitialize(&pHelper->WakeSignal);
- if (!SDIO_SUCCESS(status)) {
- break;
- }
- init_completion(&pHelper->Completion);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
- pHelper->pTask = kthread_create(HelperLaunch,
- (PVOID)pHelper,
- "SDIO Helper");
- if (NULL == pHelper->pTask) {
- status = SDIO_STATUS_NO_RESOURCES;
- break;
- }
- wake_up_process(pHelper->pTask);
-#else
- /* 2.4 */
- pHelper->pTask = kernel_thread(HelperLaunch,
- (PVOID)pHelper,
- (CLONE_FS | CLONE_FILES | SIGCHLD));
- if (pHelper->pTask < 0) {
- DBG_PRINT(SDDBG_TRACE,
- ("SDIO BusDriver - OSCreateHelper, failed to create thread\n"));
- }
-#endif
-
- } while (FALSE);
-
- if (!SDIO_SUCCESS(status)) {
- SDLIB_OSDeleteHelper(pHelper);
- }
- return status;
-}
-
-/*
- * OSDeleteHelper - delete thread created with OSCreateHelper
-*/
-void SDLIB_OSDeleteHelper(POSKERNEL_HELPER pHelper)
-{
-
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
- if (pHelper->pTask != NULL) {
-#else
- /* 2.4 */
- if (pHelper->pTask >= 0) {
-#endif
- pHelper->ShutDown = TRUE;
- SignalSet(&pHelper->WakeSignal);
- /* wait for thread to exit */
- wait_for_completion(&pHelper->Completion);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
- pHelper->pTask = NULL;
-#else
- /* 2.4 */
- pHelper->pTask = 0;
-#endif
- }
-
- SignalDelete(&pHelper->WakeSignal);
-}
-
-/*
- * module init
-*/
-static int __init sdio_lib_init(void) {
- REL_PRINT(SDDBG_TRACE, ("SDIO Library load\n"));
- return 0;
-}
-
-/*
- * module cleanup
-*/
-static void __exit sdio_lib_cleanup(void) {
- REL_PRINT(SDDBG_TRACE, ("SDIO Library unload\n"));
-}
-
-PSDMESSAGE_QUEUE SDLIB_CreateMessageQueue(INT MaxMessages, INT MaxMessageLength)
-{
- return _CreateMessageQueue(MaxMessages,MaxMessageLength);
-
-}
-void SDLIB_DeleteMessageQueue(PSDMESSAGE_QUEUE pQueue)
-{
- _DeleteMessageQueue(pQueue);
-}
-
-SDIO_STATUS SDLIB_PostMessage(PSDMESSAGE_QUEUE pQueue, PVOID pMessage, INT MessageLength)
-{
- return _PostMessage(pQueue,pMessage,MessageLength);
-}
-
-SDIO_STATUS SDLIB_GetMessage(PSDMESSAGE_QUEUE pQueue, PVOID pData, INT *pBufferLength)
-{
- return _GetMessage(pQueue,pData,pBufferLength);
-}
-
-MODULE_LICENSE("GPL and additional rights");
-MODULE_DESCRIPTION(DESCRIPTION);
-MODULE_AUTHOR(AUTHOR);
-module_init(sdio_lib_init);
-module_exit(sdio_lib_cleanup);
-EXPORT_SYMBOL(SDLIB_IssueCMD52);
-EXPORT_SYMBOL(SDLIB_FindTuple);
-EXPORT_SYMBOL(SDLIB_IssueConfig);
-EXPORT_SYMBOL(SDLIB_PrintBuffer);
-EXPORT_SYMBOL(SDLIB_SetFunctionBlockSize);
-EXPORT_SYMBOL(SDLIB_SetupCMD52Request);
-EXPORT_SYMBOL(SDLIB_GetDefaultOpCurrent);
-EXPORT_SYMBOL(SDLIB_OSCreateHelper);
-EXPORT_SYMBOL(SDLIB_OSDeleteHelper);
-EXPORT_SYMBOL(SDLIB_CreateMessageQueue);
-EXPORT_SYMBOL(SDLIB_DeleteMessageQueue);
-EXPORT_SYMBOL(SDLIB_PostMessage);
-EXPORT_SYMBOL(SDLIB_GetMessage);