# HG changeset patch
# User hgs
# Date 1281970690 -10800
# Node ID 8e0a221dc349fa1cd4388a2f14230d4fd02e5c56
# Parent c01ef7f246fdda00e48b05fc07b1cf4c7288439b
201033
diff -r c01ef7f246fd -r 8e0a221dc349 package_definition.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/package_definition.xml Mon Aug 16 17:58:10 2010 +0300
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r c01ef7f246fd -r 8e0a221dc349 package_map.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/package_map.xml Mon Aug 16 17:58:10 2010 +0300
@@ -0,0 +1,1 @@
+
diff -r c01ef7f246fd -r 8e0a221dc349 wlan_bearer/wlanldd/wlan_symbian/wlanldd_symbian/group/bld.inf
--- a/wlan_bearer/wlanldd/wlan_symbian/wlanldd_symbian/group/bld.inf Fri Jul 02 13:43:20 2010 +0300
+++ b/wlan_bearer/wlanldd/wlan_symbian/wlanldd_symbian/group/bld.inf Mon Aug 16 17:58:10 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -16,13 +16,13 @@
*/
/*
-* %version: 28 %
+* %version: 29 %
*/
#include
PRJ_PLATFORMS
-DEFAULT
+BASEDEFAULT
PRJ_MMPFILES
diff -r c01ef7f246fd -r 8e0a221dc349 wlan_bearer/wlannwif/etherpkt/CardDll.cpp
--- a/wlan_bearer/wlannwif/etherpkt/CardDll.cpp Fri Jul 02 13:43:20 2010 +0300
+++ b/wlan_bearer/wlannwif/etherpkt/CardDll.cpp Mon Aug 16 17:58:10 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -16,7 +16,7 @@
*/
/*
-* %version: 13 %
+* %version: 14 %
*/
#include
@@ -81,8 +81,12 @@
iReceiver = CReceiver::NewL( this );
User::LeaveIfError( iCard.Open() );
+
+ CleanupClosePushL( iCard );
User::LeaveIfError( iCard.InitialiseBuffers() );
+
+ CleanupStack::Pop( &iCard );
}
diff -r c01ef7f246fd -r 8e0a221dc349 wlan_plat/group/bld.inf
--- a/wlan_plat/group/bld.inf Fri Jul 02 13:43:20 2010 +0300
+++ b/wlan_plat/group/bld.inf Mon Aug 16 17:58:10 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -17,7 +17,7 @@
*/
/*
-* %version: tr1cfwln#6 %
+* %version: tr1cfwln#7 %
*/
#include "../wlan_dbif_api/group/bld.inf"
@@ -30,7 +30,7 @@
#include "../wlan_info_api/group/bld.inf"
#include "../wlan_agent_hotspot_plugin_api/group/bld.inf"
#include "../wlan_osa_api/group/bld.inf"
-#include "../wlan_spia_api/group/bld.inf"
+#include "../wlan_busaccess_api/group/bld.inf"
#include "../wlan_hpa_api/group/bld.inf"
#include "../wlan_eapol_plugin_api/group/bld.inf"
#include "../wlan_generic_plugin_api/group/bld.inf"
diff -r c01ef7f246fd -r 8e0a221dc349 wlan_plat/wlan_busaccess_api/group/bld.inf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlan_plat/wlan_busaccess_api/group/bld.inf Mon Aug 16 17:58:10 2010 +0300
@@ -0,0 +1,44 @@
+/*
+* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: File that exports the files belonging to
+* WLAN bus access API
+*
+*/
+
+/*
+* %version: 6 %
+*/
+
+#if defined(RD_WLAN_DDK)
+
+#include
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/wlanhwbusaccesslayer.h OS_LAYER_PLATFORM_EXPORT_PATH(wlanhwbusaccesslayer.h)
+../inc/wlanspia.h OS_LAYER_PLATFORM_EXPORT_PATH(wlanspia.h)
+../inc/wlanspia.inl OS_LAYER_PLATFORM_EXPORT_PATH(wlanspia.inl)
+../inc/wlanspiaclient.h OS_LAYER_PLATFORM_EXPORT_PATH(wlanspiaclient.h)
+../inc/wlanspianamespace.h OS_LAYER_PLATFORM_EXPORT_PATH(wlanspianamespace.h)
+../inc/wlanspiatypes.h OS_LAYER_PLATFORM_EXPORT_PATH(wlanspiatypes.h)
+../inc/wlansdioa.h OS_LAYER_PLATFORM_EXPORT_PATH(wlansdioa.h)
+../inc/wlansdioa.inl OS_LAYER_PLATFORM_EXPORT_PATH(wlansdioa.inl)
+../inc/wlansdioaclient.h OS_LAYER_PLATFORM_EXPORT_PATH(wlansdioaclient.h)
+../inc/wlansdioanamespace.h OS_LAYER_PLATFORM_EXPORT_PATH(wlansdioanamespace.h)
+../inc/wlansdioatypes.h OS_LAYER_PLATFORM_EXPORT_PATH(wlansdioatypes.h)
+
+#endif
diff -r c01ef7f246fd -r 8e0a221dc349 wlan_plat/wlan_busaccess_api/inc/wlanhwbusaccesslayer.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlan_plat/wlan_busaccess_api/inc/wlanhwbusaccesslayer.h Mon Aug 16 17:58:10 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: The file contains a structure definition for accessing
+* HW bus adaptation modules (SPIA or SDIOA) in WLAN
+* adaptation code.
+*
+*/
+
+/*
+* %version: 5 %
+*/
+
+#ifndef WLANHWBUSACCESSLAYER_H
+#define WLANHWBUSACCESSLAYER_H
+
+#include
+
+class WlanSpia;
+class WlanSdioa;
+
+/**
+ *
+ *
+ *
+ * @lib wlanpdd.pdd
+ * @since S60 v3.2
+ */
+struct SHwBusAccessLayer
+ {
+ WlanSpia* iSpia;
+ WlanSdioa* iSdioa;
+
+ SHwBusAccessLayer() : iSpia( NULL ), iSdioa( NULL ) {};
+
+private:
+
+ // Prohibit copy constructor.
+ SHwBusAccessLayer( const SHwBusAccessLayer& );
+ // Prohibit assigment operator.
+ SHwBusAccessLayer& operator= ( const SHwBusAccessLayer& );
+ };
+
+#endif // WLANHWBUSACCESSLAYER_H
diff -r c01ef7f246fd -r 8e0a221dc349 wlan_plat/wlan_busaccess_api/inc/wlansdioa.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlan_plat/wlan_busaccess_api/inc/wlansdioa.h Mon Aug 16 17:58:10 2010 +0300
@@ -0,0 +1,274 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef WLANSDIOA_H
+#define WLANSDIOA_H
+
+class MWlanSdioaClient;
+class MWlanOsaExt;
+
+#include
+
+class WlanSdioa
+ {
+
+public:
+
+ typedef TInt TRequestId;
+
+ enum { KMaxFunctions = 8 };
+
+ enum TSdioBusWidth
+ {
+ ESdioBusWidth1 = 1,
+ ESdioBusWidth4 = 4
+ };
+
+ struct TCapabilities
+ {
+ /* Capability mask (values defined in wlansdioatypes.h) */
+ TUint32 iCapability;
+
+ /* Maximum number of buffers the SDIOA client is allowed to provide in buffer lists
+ of the TReadRequest and TWriteRequest structures.
+ The value of 1 means that only a single contiguous buffer can be used. */
+ TUint32 iMaxNumberOfBuffers;
+
+ /* Length of the memory cache line (in bytes) */
+ TUint32 iCacheLineLength;
+ };
+
+ struct TBufferItem
+ {
+ /* Buffer length */
+ TUint32 iLength;
+
+ /* Data buffer */
+ TUint8 *iBuffer;
+
+ /* Pointer to the next list item (NULL if this is the last item) */
+ struct TBufferItem *iNext;
+ };
+
+ struct TReadRequest
+ {
+ /* Command number */
+ TUint8 iCmdIndex;
+
+ /* Function number */
+ TUint8 iFunctionNum;
+
+ /* Register address */
+ TUint32 iRegAddr;
+
+ /* Flags (defined in wlansdioatypes.h) */
+ TUint32 iFlags;
+
+ /* Receive buffer (only valid for CMD52) */
+ TUint8 iRxBuffer;
+
+ /* Receive buffer list (only valid for CMD53) */
+ TBufferItem *iRxBufferList;
+
+ /* Transfer size (bytes) */
+ TUint32 iRxCount;
+
+ /* Completion callback */
+ MWlanSdioaClient* iRequestClient;
+
+ /* Request identifier (passed back to client with callback) */
+ TRequestId iRequestId;
+ };
+
+ struct TWriteRequest
+ {
+ /* Command number */
+ TUint8 iCmdIndex;
+
+ /* Function number */
+ TUint8 iFunctionNum;
+
+ /* register address */
+ TUint32 iRegAddr;
+
+ /* Flags (defined in wlansdioatypes.h) */
+ TUint32 iFlags;
+
+ /* Command argument or CMD52 byte data */
+ TUint8 iTxBuffer;
+
+ /* Transmit buffer list (only valid for CMD53) */
+ TBufferItem *iTxBufferList;
+
+ /* Transfer size (bytes) */
+ TUint32 iTxCount;
+
+ /* Completion callback */
+ MWlanSdioaClient* iRequestClient;
+
+ /* Request identifier (passed back to client with callback) */
+ TRequestId iRequestId;
+ };
+
+ /**
+ * Destructor
+ *
+ */
+ virtual ~WlanSdioa() {};
+
+ /**
+ * Create SDIOA object
+ *
+ */
+ static WlanSdioa* Create();
+
+ /**
+ * Attach the OSA extension object
+ *
+ * @param aOsaExt OSA extension object
+ */
+ void Attach( MWlanOsaExt& aOsaExt );
+
+ /**
+ * Destroy the SDIOA object
+ *
+ * @param aWlanSdioa sdioa layer object
+ */
+ static void Destroy( WlanSdioa* aWlanSdioa );
+
+ /**
+ * Extract module capabilities
+ *
+ * @param aCapabilities capabilities of the module
+ */
+ virtual void Capability( TCapabilities& aCapabilities ) = 0;
+
+ /**
+ * Issue an SDIOA request (separate methods for read and write)
+ *
+ * @param aRequest Request structure
+ * @return Status of the operation
+ * ESuccess - The request was accepted for asynchronous
+ * execution and will complete later.
+ * Completion is notified by the SDIOA request
+ * completion callback.
+ * The SDIOA client is allowed to issue additional
+ * requests.
+ *
+ * EFailure - The request was not accepted for execution.
+ * The request completion callback will not be called.
+ *
+ * ESuccessXfer - The request was accepted and completed
+ * synchronously.
+ * The SDIOA request completion callback will not be called.
+ * The SDIOA client is allowed to issue additional requests.
+ *
+ * EPending - The request was accepted for asynchronous
+ * excecution and will complete later.
+ * Completion is notified by the SDIOA request
+ * completion callback.
+ * The SDIOA client is not allowed to issue additional
+ * requests until the completion callback has been called.
+ */
+ virtual SDIOA::TStatus ReadRequest( TReadRequest& aRequest ) = 0;
+ virtual SDIOA::TStatus WriteRequest( TWriteRequest& aRequest ) = 0;
+
+ /**
+ * Cancel a pending SDIOA request
+ *
+ * @param aRequestId Request ID
+ * @return Status of the operation
+ * ESuccess - The SDIOA request was cancelled.
+ * The completion callback will not be called.
+ *
+ * EFailure - The request could not be cancelled.
+ */
+ virtual SDIOA::TStatus Cancel( TRequestId aRequestId ) = 0;
+
+ /**
+ * Enable SDIO interrupts (multiplexed on DAT1 line)
+ *
+ * @param aEnable ETrue (enable) or EFalse (disable)
+ * @param aCallbackClient Pointer to the object containing the OnSDIOInterrupt callback method
+ * (can be omitted when aEnable == EFalse)
+ * @return Status of the operation
+ * ESuccess - SDIO interrupts were enabled.
+ * The MWlanSdioaClient::OnSDIOInterrupt()
+ * callback will be called after an
+ * interrupt has occurred.
+ *
+ * EFailure - SDIO interrupts could not be enabled.
+ */
+ virtual SDIOA::TStatus EnableSDIOInterrupt( TBool aEnable, MWlanSdioaClient* aCallbackClient = NULL ) = 0;
+
+ /**
+ * Initialize the SDIO device
+ *
+ * This method will perform device initialization so that the device
+ * will be ready for receiving CMD52 and CMD53 requests.
+ * The method must be called after the WLAN device has been powered on.
+ */
+ virtual SDIOA::TStatus Initialize() = 0;
+
+ /**
+ * Set the SDIO bus width
+ *
+ * @param aBusWidth SDIO bus width
+ *
+ * This method sets the SDIO bus width to 1 or 4 bits.
+ */
+ virtual void SetBusWidth( TSdioBusWidth aBusWidth ) = 0;
+
+ /**
+ * Set the SDIO bus clock speed
+ *
+ * @param aMHz SDIO bus clock speed in MHz
+ *
+ * This method sets the SDIO bus clock speed to the value
+ * specified by the aMHz parameter or the nearest lower
+ * value supported by the hardware.
+ */
+ virtual void SetClockSpeed( TUint32 aMHz ) = 0;
+
+protected:
+
+ /**
+ * Constructor
+ *
+ * @param aOsaExt OSA extension object
+ */
+ explicit WlanSdioa() {};
+
+ /**
+ * Extract OSA extension
+ *
+ * @return OSA extension
+ */
+ inline MWlanOsaExt& OsaExtCb();
+
+private:
+
+ /**
+ * OSA extension
+ */
+ MWlanOsaExt* iOsaExt;
+
+ };
+
+#include
+
+#endif // WLANSDIOA_H
diff -r c01ef7f246fd -r 8e0a221dc349 wlan_plat/wlan_busaccess_api/inc/wlansdioa.inl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlan_plat/wlan_busaccess_api/inc/wlansdioa.inl Mon Aug 16 17:58:10 2010 +0300
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+inline MWlanOsaExt& WlanSdioa::OsaExtCb()
+ {
+ return *iOsaExt;
+ }
+
+inline void WlanSdioa::Attach( MWlanOsaExt& aOsaExt )
+ {
+ iOsaExt = &aOsaExt;
+ }
\ No newline at end of file
diff -r c01ef7f246fd -r 8e0a221dc349 wlan_plat/wlan_busaccess_api/inc/wlansdioaclient.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlan_plat/wlan_busaccess_api/inc/wlansdioaclient.h Mon Aug 16 17:58:10 2010 +0300
@@ -0,0 +1,61 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef WLANSDIOACLIENT_H
+#define WLANSDIOACLIENT_H
+
+#include
+
+/**
+ * SDIOA client callback interface
+ *
+ *
+ */
+class MWlanSdioaClient
+ {
+
+public:
+
+ /**
+ * Destructor
+ *
+ */
+ virtual ~MWlanSdioaClient() {};
+
+ /**
+ * SDIOA request complete callback
+ *
+ * @param aRequestId SDIOA request ID
+ * @param aStatus Status of the operation
+ * ESuccess - The request completed successfully
+ * EFailure - The request failed
+ */
+ virtual void OnRequestComplete( WlanSdioa::TRequestId aRequestId,
+ SDIOA::TStatus aStatus ) = 0;
+
+ /**
+ * SDIO interrupt callback
+ *
+ * This method will be called after a device interrupt only if SDIO
+ * (DAT1 multiplexed) interrupts have been enabled with the
+ * WlanSdioa::EnableSDIOInterrupt() method.
+ */
+ virtual void OnSDIOInterrupt() = 0;
+ };
+
+
+#endif // WLANSDIOACLIENT_H
diff -r c01ef7f246fd -r 8e0a221dc349 wlan_plat/wlan_busaccess_api/inc/wlansdioanamespace.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlan_plat/wlan_busaccess_api/inc/wlansdioanamespace.h Mon Aug 16 17:58:10 2010 +0300
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef SDIOANAMESPACE_H
+#define SDIOANAMESPACE_H
+
+#define SDIOA WlanSdioaNameSpace
+#define NAMESPACE_BEGIN_SDIOA namespace WlanSdioaNameSpace {
+#define NAMESPACE_END_SDIOA }
+
+#endif // SDIOANAMESPACE_H
diff -r c01ef7f246fd -r 8e0a221dc349 wlan_plat/wlan_busaccess_api/inc/wlansdioatypes.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlan_plat/wlan_busaccess_api/inc/wlansdioatypes.h Mon Aug 16 17:58:10 2010 +0300
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef WLANSDIOATYPES_H
+#define WLANSDIOATYPES_H
+
+#include
+#include
+
+NAMESPACE_BEGIN_SDIOA
+
+enum TStatus
+ {
+ ESuccess = 0,
+ EFailure,
+ ESuccessXfer,
+ EPending
+ };
+
+
+// Capability flags
+
+// High speed mode support
+const TUint32 KCapabilityHighSpeed = ( 1 << 0 );
+
+
+// Request parameter flags
+
+// If this flag is set to 1, the write operation will be done to an incrementing address
+const TUint32 KRequestIncrAddress = ( 1 << 0 );
+
+
+NAMESPACE_END_SDIOA
+
+#endif // WLANSDIOATYPES_H
diff -r c01ef7f246fd -r 8e0a221dc349 wlan_plat/wlan_busaccess_api/inc/wlanspia.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlan_plat/wlan_busaccess_api/inc/wlanspia.h Mon Aug 16 17:58:10 2010 +0300
@@ -0,0 +1,326 @@
+/*
+* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: spia interface declaration
+*
+*/
+
+/*
+* %version: 7 %
+*/
+
+#ifndef WLANSPIA_H
+#define WLANSPIA_H
+
+class MWlanSpiaClient;
+class MWlanOsaExt;
+
+#include
+
+/**
+ * spia interface declaration
+ *
+ *
+ * @lib wlanpdd.pdd
+ * @since S60 v3.2
+ */
+class WlanSpia
+ {
+
+public:
+
+ typedef TInt TRequestId;
+
+ /* SPI transfer clock speed. The closest one is selected if the
+ * exact clock frequency cannot be achieved.
+ * The closest is always less than the requested frequency.*/
+ enum TClockSpeed
+ {
+ EClk1_5MHz = 0,
+ EClk3MHz,
+ EClk6MHz,
+ EClk12MHz,
+ EClk24MHz,
+ EClk48MHz,
+ EClk96MHz
+ };
+
+ /* SPI clock modes used for transfer.
+ Next picture shows what different configuration values means.
+
+ ,--> Sampling
+ | ,> Shift out
+ | |
+ high/rising ______|¯|_|¯|_|¯|_ (mode 0)
+
+ high/falling ____|¯|_|¯|_|¯|_|¯ (mode 1)
+
+ low/falling ¯¯¯¯¯¯|_|¯|_|¯|_|¯ (mode 2)
+
+ low/rising ¯¯¯¯|_|¯|_|¯|_|¯|_ (mode 3)
+ */
+ enum TClockMode
+ {
+ /* SPI clock active high, sampling occurs on the rising edge */
+ EPolarityHighRisingEdge = 0,
+ /* SPI clock active high, sampling occurs on the falling edge */
+ EPolarityHighFallingEdge,
+ /* SPI clock active low, sampling occurs on the falling edge */
+ EPolarityLowFallingEdge,
+ /* SPI clock active low, sampling occurs on the rising edge */
+ EPolarityLowRisingEdge
+ };
+
+ /* SPI slave select signal polarity used for transfer */
+ enum TSsPolarity
+ {
+ /** SS is held \e high during the active state */
+ ESsPolarityHigh = 0,
+ /** SS is held \e low during the active state */
+ ESsPolarityLow
+ };
+
+ /* SPI read mode, used when reading is done */
+ enum TReadMode
+ {
+ /* normal read from SPI slave device
+ * (i.e no write involved for this call) */
+ ENormalRead = 0,
+ /* write buffer is written completely
+ * before the read operation is done */
+ EWriteB4Read,
+ /* full duplex mode
+ * Tx and Rx are done at same time
+ * NOTE: Tx and Rx buffers must not overlap and must be of equal size */
+ ECombinedWriteRead
+ };
+
+ struct TConfig
+ {
+ /* SPI clock mode */
+ TClockMode iSpiaClockMode;
+ /* SPI slave select signal polarity */
+ TSsPolarity iSpiaSsPolarity;
+ /* number of bytes per frame in tx */
+ TUint8 iTxBytesPerFrame;
+ /* number of bytes per frame in rx */
+ TUint8 iRxBytsPerFrame;
+ };
+
+ /* SPI slave select mode */
+ enum TSsMode
+ {
+ /* slave select is active during the whole SPI request operation */
+ EForcedActive = 0,
+ /* slave select is toggled on SPI frame basis during the whole SPI request */
+ EFrameControlled
+ };
+
+ struct TCapabilities
+ {
+ /* bit 0 - memory config support:
+ * bit clear non cached memory supported, bit set cached memory supported
+ * default value is cleared
+ * bit 1 - ENormalRead support in TReadMode: bit set when supported
+ * bit 2 - EWriteB4Read support in TReadMode: bit set when supported
+ * bit 3 - ECombinedWriteRead support in TReadMode: bit set when supported
+ * bit 4 - EForcedActive support in TSsMode: bit set when supported
+ * bit 5 - EFrameControlled in TSsMode: bit set when supported */
+ TUint32 iCapability;
+ /* Length of the memory cache line in bytes (needed for buffer alignment) */
+ TUint32 iCacheLineLength;
+ /* DMA threshold for SPI operations */
+ TUint32 iDMAThreshold;
+ };
+
+ /* SPIA request structure */
+ struct TRequest
+ {
+ /* tx buffer. Buffer length must be multiple of sizeof(TInt) */
+ const TUint8* iTxBuffer;
+ /* amount of data to transmit in the tx buffer in bytes */
+ TUint iTxBufferSize;
+ /* rx buffer. Buffer length must be multiple of sizeof(TInt) */
+ TUint8* iRxBuffer;
+ /* amount of data to read to the rx buffer in bytes */
+ TUint iRxBufferSize;
+ /* read operation type */
+ TReadMode iReadMode;
+ /* complete callback method client to be called after
+ * the request has completed */
+ MWlanSpiaClient* iRequestClient;
+ /* unique request ID passed back to client as
+ * is in SPIA request callback */
+ TRequestId iRequestId;
+ /* SPI transfer clock speed.
+ * The closest one is selected if exact clock frequency
+ * can not be achieved. The closest is always less
+ * than the requested frequency. */
+ TClockSpeed iSpiaClockSpeed;
+ /* last request or not for a while, a hint for power management
+ * ETrue upon last request, any other not */
+ TBool iLastRequest;
+ /* SPI slave select mode used */
+ TSsMode iSsMode;
+ };
+
+ /**
+ * Destructor.
+ *
+ * @since S60 v3.2
+ */
+ virtual ~WlanSpia() {};
+
+ /**
+ * Create spia layer object
+ *
+ * @since S60 v3.2
+ * @param aOsaExt osa extension object
+ * @return spia layer object, NULL upon failure
+ * @deprecated Create() and Attach( MWlanOsaExt& ) should be used instead
+ */
+ static WlanSpia* Create( MWlanOsaExt& aOsaExt );
+
+ /**
+ * Create spia layer object
+ *
+ * @since S60 v3.2
+ * @return spia layer object, NULL upon failure
+ */
+ static WlanSpia* Create();
+
+ /**
+ * Attach the OSA extension object
+ *
+ * @since S60 v3.2
+ * @param aOsaExt osa extension object
+ */
+ void Attach( MWlanOsaExt& aOsaExt );
+
+ /**
+ * Destroy spia layer object
+ *
+ * @since S60 v3.2
+ * @param aWlanSpia spia layer object
+ */
+ static void Destroy( WlanSpia* aWlanSpia );
+
+ /**
+ * Extract module capabilities
+ *
+ * @since S60 v3.2
+ * @param aCapabilities capabilities of the module
+ */
+ virtual void Capability( TCapabilities& aCapabilities ) { aCapabilities.iCapability = 0; }
+
+ /**
+ * Configures the SPI HW block
+ *
+ * @since S60 v3.2
+ * @param aConfig SPI configuration data
+ */
+ virtual void Configure( const TConfig& aConfig ) = 0;
+
+ /**
+ * Issues SPIA request
+ *
+ * NOTE: the request must remain valid until operation completes
+ * (either synchronously or asynchronously by completion callback).
+ * It is guaranteed by the system that no SPIA request complete callback
+ * gets called during this call
+ *
+ * @since S60 v3.2
+ * @param aRequest request to execute
+ * @return status of the operation
+ * ESuccess - request was accepted for asynchronous
+ * excecution and will complete at a later time.
+ * Request completion is notified by
+ * SPIA request complete callback.
+ * SPIA user is allowed to issue additional
+ * requests
+ *
+ * EFailure - request was not accepted as it failed due
+ * unspecified reason.
+ * SPIA request complete callback is not called
+ *
+ * ESuccessXfer - request was accepted and completed
+ * synchronously inside the SPIA.
+ * SPIA request complete callback is not called.
+ * SPIA user is allowed to issue additional
+ * requests
+ *
+ * EPending - request was accepted for asynchronous
+ * excecution and will complete at later time.
+ * Request completion is notified by
+ * SPIA request complete callback.
+ * SPIA user is NOT allowed to issue additional
+ * requests until SPIA request complete callback is called
+ */
+ virtual SPIA::TStatus Request( const TRequest& aRequest ) = 0;
+
+ /**
+ * Cancels a pending SPIA request. Either succeeds or has no effect
+ *
+ * NOTE: it is guaranteed by the system that no SPIA request complete callback
+ * gets called during this call
+ *
+ * @since S60 v3.2
+ * @param aRequestId request ID that identifies the SPIA request to cancel
+ * @return status of the operation
+ * ESuccess - operation success.
+ * SPIA request was cancelled and no SPIA request
+ * complete callback gets executed for the request
+ * that was cancelled
+ *
+ *
+ * EFailure - the request is in use and can not be cancelled.
+ */
+ virtual SPIA::TStatus Cancel( TRequestId aRequestId ) = 0;
+
+protected:
+
+ /**
+ * Constructor
+ *
+ * @since S60 v3.2
+ */
+ explicit WlanSpia() : iOsaExt( NULL ) {}
+
+ /**
+ * Constructor
+ *
+ * @since S60 v3.2
+ * @param aOsaExt osa extension object
+ */
+ explicit WlanSpia( MWlanOsaExt& aOsaExt ) : iOsaExt( &aOsaExt ) {}
+
+ /**
+ * Extract osa extension
+ *
+ * @since S60 v3.2
+ * @return osa extension
+ */
+ inline MWlanOsaExt& OsaExtCb();
+
+private:
+
+ /**
+ * osa extension
+ */
+ MWlanOsaExt* iOsaExt;
+
+ };
+
+#include
+
+#endif // WLANSPIA_H
diff -r c01ef7f246fd -r 8e0a221dc349 wlan_plat/wlan_busaccess_api/inc/wlanspia.inl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlan_plat/wlan_busaccess_api/inc/wlanspia.inl Mon Aug 16 17:58:10 2010 +0300
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: inline implementation of WlanSpia
+*
+*/
+
+/*
+* %version: 4 %
+*/
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+inline MWlanOsaExt& WlanSpia::OsaExtCb()
+ {
+ return *iOsaExt;
+ }
+
+inline void WlanSpia::Attach( MWlanOsaExt& aOsaExt )
+ {
+ iOsaExt = &aOsaExt;
+ }
diff -r c01ef7f246fd -r 8e0a221dc349 wlan_plat/wlan_busaccess_api/inc/wlanspiaclient.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlan_plat/wlan_busaccess_api/inc/wlanspiaclient.h Mon Aug 16 17:58:10 2010 +0300
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: spia client callback interface
+*
+*/
+
+/*
+* %version: 3 %
+*/
+
+#ifndef WLANSPIACLIENT_H
+#define WLANSPIACLIENT_H
+
+#include
+
+/**
+ * spia client callback interface
+ *
+ *
+ * @lib wlanpdd.pdd
+ * @since S60 v3.2
+ */
+class MWlanSpiaClient
+ {
+
+public:
+
+ /**
+ * Destructor.
+ *
+ * @since S60 v3.2
+ */
+ virtual ~MWlanSpiaClient() {};
+
+ /**
+ * spia request complete callback,
+ * resources associated to the request can be freed in this method
+ *
+ * NOTE: the callback client may call back in the same context
+ *
+ * @since S60 v3.2
+ * @param aRequestId request ID
+ * @param aStatus status of the operation
+ * ESuccess - request completed successfully
+ * EFailure - request failed due unspecified reason.
+ */
+ virtual void OnRequestComplete( WlanSpia::TRequestId aRequestId,
+ SPIA::TStatus aStatus ) = 0;
+
+ };
+
+
+#endif // WLANSPIACLIENT_H
diff -r c01ef7f246fd -r 8e0a221dc349 wlan_plat/wlan_busaccess_api/inc/wlanspianamespace.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlan_plat/wlan_busaccess_api/inc/wlanspianamespace.h Mon Aug 16 17:58:10 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: defines SPIA namespace
+*
+*/
+
+/*
+* %version: 3 %
+*/
+
+#ifndef SPIANAMESPACE_H
+#define SPIANAMESPACE_H
+
+#define SPIA WlanSpiaNameSpace
+#define NAMESPACE_BEGIN_SPIA namespace WlanSpiaNameSpace {
+#define NAMESPACE_END_SPIA }
+
+#endif // SPIANAMESPACE_H
diff -r c01ef7f246fd -r 8e0a221dc349 wlan_plat/wlan_busaccess_api/inc/wlanspiatypes.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlan_plat/wlan_busaccess_api/inc/wlanspiatypes.h Mon Aug 16 17:58:10 2010 +0300
@@ -0,0 +1,47 @@
+/*
+* Copyright (c) 2006-2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: file holds SPIA specific type definitions
+*
+*/
+
+/*
+* %version: 5 %
+*/
+
+#ifndef WLANSPIATYPES_H
+#define WLANSPIATYPES_H
+
+#include
+#include
+
+NAMESPACE_BEGIN_SPIA
+
+enum TStatus
+ {
+ ESuccess = 0,
+ EFailure,
+ ESuccessXfer,
+ EPending
+ };
+
+const TUint32 KCapabilityMemoryConfig = ( 1 << 0 );
+const TUint32 KCapabilityNormalRead = ( 1 << 1 );
+const TUint32 KCapabilityWriteB4Read = ( 1 << 2 );
+const TUint32 KCapabilityCombinedWriteRead = ( 1 << 3 );
+const TUint32 KCapabilityForcedActive = ( 1 << 4 );
+const TUint32 KCapabilityFrameControlled = ( 1 << 5 );
+
+NAMESPACE_END_SPIA
+
+#endif // WLANSPIACLIENT_H
diff -r c01ef7f246fd -r 8e0a221dc349 wlan_plat/wlan_busaccess_api/wlan_busaccess_api.metaxml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlan_plat/wlan_busaccess_api/wlan_busaccess_api.metaxml Mon Aug 16 17:58:10 2010 +0300
@@ -0,0 +1,13 @@
+
+
+WLAN Bus Access API
+WLAN Bus Access API
+c++
+wlan_bearer
+
+
+
+no
+no
+
+
diff -r c01ef7f246fd -r 8e0a221dc349 wlan_plat/wlan_spia_api/group/bld.inf
--- a/wlan_plat/wlan_spia_api/group/bld.inf Fri Jul 02 13:43:20 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: File that exports the files belonging to
-* WLAN SPIA API
-*
-*/
-
-/*
-* %version: 5 %
-*/
-
-#if defined(RD_WLAN_DDK)
-
-#include
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/wlanhwbusaccesslayer.h OS_LAYER_PLATFORM_EXPORT_PATH(wlanhwbusaccesslayer.h)
-../inc/wlanspia.h OS_LAYER_PLATFORM_EXPORT_PATH(wlanspia.h)
-../inc/wlanspia.inl OS_LAYER_PLATFORM_EXPORT_PATH(wlanspia.inl)
-../inc/wlanspiaclient.h OS_LAYER_PLATFORM_EXPORT_PATH(wlanspiaclient.h)
-../inc/wlanspianamespace.h OS_LAYER_PLATFORM_EXPORT_PATH(wlanspianamespace.h)
-../inc/wlanspiatypes.h OS_LAYER_PLATFORM_EXPORT_PATH(wlanspiatypes.h)
-
-#endif
diff -r c01ef7f246fd -r 8e0a221dc349 wlan_plat/wlan_spia_api/inc/wlanhwbusaccesslayer.h
--- a/wlan_plat/wlan_spia_api/inc/wlanhwbusaccesslayer.h Fri Jul 02 13:43:20 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2006-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: file holds SPIA specific type definitions
-*
-*/
-
-/*
-* %version: 4 %
-*/
-
-#ifndef WLANHWBUSACCESSLAYER_H
-#define WLANHWBUSACCESSLAYER_H
-
-#include
-
-class WlanSpia;
-
-/**
- *
- *
- *
- * @lib wlanpdd.pdd
- * @since S60 v3.2
- */
-struct SHwBusAccessLayer
- {
- WlanSpia* iSpia;
-
- SHwBusAccessLayer() : iSpia( NULL ) {};
-
-private:
-
- // Prohibit copy constructor.
- SHwBusAccessLayer( const SHwBusAccessLayer& );
- // Prohibit assigment operator.
- SHwBusAccessLayer& operator= ( const SHwBusAccessLayer& );
- };
-
-#endif // WLANHWBUSACCESSLAYER_H
diff -r c01ef7f246fd -r 8e0a221dc349 wlan_plat/wlan_spia_api/inc/wlanspia.h
--- a/wlan_plat/wlan_spia_api/inc/wlanspia.h Fri Jul 02 13:43:20 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,326 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: spia interface declaration
-*
-*/
-
-/*
-* %version: 7 %
-*/
-
-#ifndef WLANSPIA_H
-#define WLANSPIA_H
-
-class MWlanSpiaClient;
-class MWlanOsaExt;
-
-#include
-
-/**
- * spia interface declaration
- *
- *
- * @lib wlanpdd.pdd
- * @since S60 v3.2
- */
-class WlanSpia
- {
-
-public:
-
- typedef TInt TRequestId;
-
- /* SPI transfer clock speed. The closest one is selected if the
- * exact clock frequency cannot be achieved.
- * The closest is always less than the requested frequency.*/
- enum TClockSpeed
- {
- EClk1_5MHz = 0,
- EClk3MHz,
- EClk6MHz,
- EClk12MHz,
- EClk24MHz,
- EClk48MHz,
- EClk96MHz
- };
-
- /* SPI clock modes used for transfer.
- Next picture shows what different configuration values means.
-
- ,--> Sampling
- | ,> Shift out
- | |
- high/rising ______|¯|_|¯|_|¯|_ (mode 0)
-
- high/falling ____|¯|_|¯|_|¯|_|¯ (mode 1)
-
- low/falling ¯¯¯¯¯¯|_|¯|_|¯|_|¯ (mode 2)
-
- low/rising ¯¯¯¯|_|¯|_|¯|_|¯|_ (mode 3)
- */
- enum TClockMode
- {
- /* SPI clock active high, sampling occurs on the rising edge */
- EPolarityHighRisingEdge = 0,
- /* SPI clock active high, sampling occurs on the falling edge */
- EPolarityHighFallingEdge,
- /* SPI clock active low, sampling occurs on the falling edge */
- EPolarityLowFallingEdge,
- /* SPI clock active low, sampling occurs on the rising edge */
- EPolarityLowRisingEdge
- };
-
- /* SPI slave select signal polarity used for transfer */
- enum TSsPolarity
- {
- /** SS is held \e high during the active state */
- ESsPolarityHigh = 0,
- /** SS is held \e low during the active state */
- ESsPolarityLow
- };
-
- /* SPI read mode, used when reading is done */
- enum TReadMode
- {
- /* normal read from SPI slave device
- * (i.e no write involved for this call) */
- ENormalRead = 0,
- /* write buffer is written completely
- * before the read operation is done */
- EWriteB4Read,
- /* full duplex mode
- * Tx and Rx are done at same time
- * NOTE: Tx and Rx buffers must not overlap and must be of equal size */
- ECombinedWriteRead
- };
-
- struct TConfig
- {
- /* SPI clock mode */
- TClockMode iSpiaClockMode;
- /* SPI slave select signal polarity */
- TSsPolarity iSpiaSsPolarity;
- /* number of bytes per frame in tx */
- TUint8 iTxBytesPerFrame;
- /* number of bytes per frame in rx */
- TUint8 iRxBytsPerFrame;
- };
-
- /* SPI slave select mode */
- enum TSsMode
- {
- /* slave select is active during the whole SPI request operation */
- EForcedActive = 0,
- /* slave select is toggled on SPI frame basis during the whole SPI request */
- EFrameControlled
- };
-
- struct TCapabilities
- {
- /* bit 0 - memory config support:
- * bit clear non cached memory supported, bit set cached memory supported
- * default value is cleared
- * bit 1 - ENormalRead support in TReadMode: bit set when supported
- * bit 2 - EWriteB4Read support in TReadMode: bit set when supported
- * bit 3 - ECombinedWriteRead support in TReadMode: bit set when supported
- * bit 4 - EForcedActive support in TSsMode: bit set when supported
- * bit 5 - EFrameControlled in TSsMode: bit set when supported */
- TUint32 iCapability;
- /* Length of the memory cache line in bytes (needed for buffer alignment) */
- TUint32 iCacheLineLength;
- /* DMA threshold for SPI operations */
- TUint32 iDMAThreshold;
- };
-
- /* SPIA request structure */
- struct TRequest
- {
- /* tx buffer. Buffer length must be multiple of sizeof(TInt) */
- const TUint8* iTxBuffer;
- /* amount of data to transmit in the tx buffer in bytes */
- TUint iTxBufferSize;
- /* rx buffer. Buffer length must be multiple of sizeof(TInt) */
- TUint8* iRxBuffer;
- /* amount of data to read to the rx buffer in bytes */
- TUint iRxBufferSize;
- /* read operation type */
- TReadMode iReadMode;
- /* complete callback method client to be called after
- * the request has completed */
- MWlanSpiaClient* iRequestClient;
- /* unique request ID passed back to client as
- * is in SPIA request callback */
- TRequestId iRequestId;
- /* SPI transfer clock speed.
- * The closest one is selected if exact clock frequency
- * can not be achieved. The closest is always less
- * than the requested frequency. */
- TClockSpeed iSpiaClockSpeed;
- /* last request or not for a while, a hint for power management
- * ETrue upon last request, any other not */
- TBool iLastRequest;
- /* SPI slave select mode used */
- TSsMode iSsMode;
- };
-
- /**
- * Destructor.
- *
- * @since S60 v3.2
- */
- virtual ~WlanSpia() {};
-
- /**
- * Create spia layer object
- *
- * @since S60 v3.2
- * @param aOsaExt osa extension object
- * @return spia layer object, NULL upon failure
- * @deprecated Create() and Attach( MWlanOsaExt& ) should be used instead
- */
- static WlanSpia* Create( MWlanOsaExt& aOsaExt );
-
- /**
- * Create spia layer object
- *
- * @since S60 v3.2
- * @return spia layer object, NULL upon failure
- */
- static WlanSpia* Create();
-
- /**
- * Attach the OSA extension object
- *
- * @since S60 v3.2
- * @param aOsaExt osa extension object
- */
- void Attach( MWlanOsaExt& aOsaExt );
-
- /**
- * Destroy spia layer object
- *
- * @since S60 v3.2
- * @param aWlanSpia spia layer object
- */
- static void Destroy( WlanSpia* aWlanSpia );
-
- /**
- * Extract module capabilities
- *
- * @since S60 v3.2
- * @param aCapabilities capabilities of the module
- */
- virtual void Capability( TCapabilities& aCapabilities ) { aCapabilities.iCapability = 0; }
-
- /**
- * Configures the SPI HW block
- *
- * @since S60 v3.2
- * @param aConfig SPI configuration data
- */
- virtual void Configure( const TConfig& aConfig ) = 0;
-
- /**
- * Issues SPIA request
- *
- * NOTE: the request must remain valid until operation completes
- * (either synchronously or asynchronously by completion callback).
- * It is guaranteed by the system that no SPIA request complete callback
- * gets called during this call
- *
- * @since S60 v3.2
- * @param aRequest request to execute
- * @return status of the operation
- * ESuccess - request was accepted for asynchronous
- * excecution and will complete at a later time.
- * Request completion is notified by
- * SPIA request complete callback.
- * SPIA user is allowed to issue additional
- * requests
- *
- * EFailure - request was not accepted as it failed due
- * unspecified reason.
- * SPIA request complete callback is not called
- *
- * ESuccessXfer - request was accepted and completed
- * synchronously inside the SPIA.
- * SPIA request complete callback is not called.
- * SPIA user is allowed to issue additional
- * requests
- *
- * EPending - request was accepted for asynchronous
- * excecution and will complete at later time.
- * Request completion is notified by
- * SPIA request complete callback.
- * SPIA user is NOT allowed to issue additional
- * requests until SPIA request complete callback is called
- */
- virtual SPIA::TStatus Request( const TRequest& aRequest ) = 0;
-
- /**
- * Cancels a pending SPIA request. Either succeeds or has no effect
- *
- * NOTE: it is guaranteed by the system that no SPIA request complete callback
- * gets called during this call
- *
- * @since S60 v3.2
- * @param aRequestId request ID that identifies the SPIA request to cancel
- * @return status of the operation
- * ESuccess - operation success.
- * SPIA request was cancelled and no SPIA request
- * complete callback gets executed for the request
- * that was cancelled
- *
- *
- * EFailure - the request is in use and can not be cancelled.
- */
- virtual SPIA::TStatus Cancel( TRequestId aRequestId ) = 0;
-
-protected:
-
- /**
- * Constructor
- *
- * @since S60 v3.2
- */
- explicit WlanSpia() : iOsaExt( NULL ) {}
-
- /**
- * Constructor
- *
- * @since S60 v3.2
- * @param aOsaExt osa extension object
- */
- explicit WlanSpia( MWlanOsaExt& aOsaExt ) : iOsaExt( &aOsaExt ) {}
-
- /**
- * Extract osa extension
- *
- * @since S60 v3.2
- * @return osa extension
- */
- inline MWlanOsaExt& OsaExtCb();
-
-private:
-
- /**
- * osa extension
- */
- MWlanOsaExt* iOsaExt;
-
- };
-
-#include
-
-#endif // WLANSPIA_H
diff -r c01ef7f246fd -r 8e0a221dc349 wlan_plat/wlan_spia_api/inc/wlanspia.inl
--- a/wlan_plat/wlan_spia_api/inc/wlanspia.inl Fri Jul 02 13:43:20 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: inline implementation of WlanSpia
-*
-*/
-
-/*
-* %version: 4 %
-*/
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline MWlanOsaExt& WlanSpia::OsaExtCb()
- {
- return *iOsaExt;
- }
-
-inline void WlanSpia::Attach( MWlanOsaExt& aOsaExt )
- {
- iOsaExt = &aOsaExt;
- }
diff -r c01ef7f246fd -r 8e0a221dc349 wlan_plat/wlan_spia_api/inc/wlanspiaclient.h
--- a/wlan_plat/wlan_spia_api/inc/wlanspiaclient.h Fri Jul 02 13:43:20 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: spia client callback interface
-*
-*/
-
-/*
-* %version: 3 %
-*/
-
-#ifndef WLANSPIACLIENT_H
-#define WLANSPIACLIENT_H
-
-#include
-
-/**
- * spia client callback interface
- *
- *
- * @lib wlanpdd.pdd
- * @since S60 v3.2
- */
-class MWlanSpiaClient
- {
-
-public:
-
- /**
- * Destructor.
- *
- * @since S60 v3.2
- */
- virtual ~MWlanSpiaClient() {};
-
- /**
- * spia request complete callback,
- * resources associated to the request can be freed in this method
- *
- * NOTE: the callback client may call back in the same context
- *
- * @since S60 v3.2
- * @param aRequestId request ID
- * @param aStatus status of the operation
- * ESuccess - request completed successfully
- * EFailure - request failed due unspecified reason.
- */
- virtual void OnRequestComplete( WlanSpia::TRequestId aRequestId,
- SPIA::TStatus aStatus ) = 0;
-
- };
-
-
-#endif // WLANSPIACLIENT_H
diff -r c01ef7f246fd -r 8e0a221dc349 wlan_plat/wlan_spia_api/inc/wlanspianamespace.h
--- a/wlan_plat/wlan_spia_api/inc/wlanspianamespace.h Fri Jul 02 13:43:20 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: defines SPIA namespace
-*
-*/
-
-/*
-* %version: 3 %
-*/
-
-#ifndef SPIANAMESPACE_H
-#define SPIANAMESPACE_H
-
-#define SPIA WlanSpiaNameSpace
-#define NAMESPACE_BEGIN_SPIA namespace WlanSpiaNameSpace {
-#define NAMESPACE_END_SPIA }
-
-#endif // SPIANAMESPACE_H
diff -r c01ef7f246fd -r 8e0a221dc349 wlan_plat/wlan_spia_api/inc/wlanspiatypes.h
--- a/wlan_plat/wlan_spia_api/inc/wlanspiatypes.h Fri Jul 02 13:43:20 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2006-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: file holds SPIA specific type definitions
-*
-*/
-
-/*
-* %version: 5 %
-*/
-
-#ifndef WLANSPIATYPES_H
-#define WLANSPIATYPES_H
-
-#include
-#include
-
-NAMESPACE_BEGIN_SPIA
-
-enum TStatus
- {
- ESuccess = 0,
- EFailure,
- ESuccessXfer,
- EPending
- };
-
-const TUint32 KCapabilityMemoryConfig = ( 1 << 0 );
-const TUint32 KCapabilityNormalRead = ( 1 << 1 );
-const TUint32 KCapabilityWriteB4Read = ( 1 << 2 );
-const TUint32 KCapabilityCombinedWriteRead = ( 1 << 3 );
-const TUint32 KCapabilityForcedActive = ( 1 << 4 );
-const TUint32 KCapabilityFrameControlled = ( 1 << 5 );
-
-NAMESPACE_END_SPIA
-
-#endif // WLANSPIACLIENT_H
diff -r c01ef7f246fd -r 8e0a221dc349 wlan_plat/wlan_spia_api/wlan_spia_api.metaxml
--- a/wlan_plat/wlan_spia_api/wlan_spia_api.metaxml Fri Jul 02 13:43:20 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-
-
-WLAN SPIA API
-WLAN SPI Abstraction API
-c++
-wlan_bearer
-
-
-
-no
-no
-
-