2011-03-22 04:00:50 +03:00
/*
* Marvell Wireless LAN device driver : utility functions
*
* Copyright ( C ) 2011 , Marvell International Ltd .
*
* This software file ( the " File " ) is distributed by Marvell International
* Ltd . under the terms of the GNU General Public License Version 2 , June 1991
* ( the " License " ) . You may use , redistribute and / or modify this File in
* accordance with the terms and conditions of the License , a copy of which
* is available by writing to the Free Software Foundation , Inc . ,
* 51 Franklin Street , Fifth Floor , Boston , MA 02110 - 1301 USA or on the
* worldwide web at http : //www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
*
* THE FILE IS DISTRIBUTED AS - IS , WITHOUT WARRANTY OF ANY KIND , AND THE
* IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
* ARE EXPRESSLY DISCLAIMED . The License provides additional details about
* this warranty disclaimer .
*/
# ifndef _MWIFIEX_UTIL_H_
# define _MWIFIEX_UTIL_H_
static inline struct mwifiex_rxinfo * MWIFIEX_SKB_RXCB ( struct sk_buff * skb )
{
2013-01-04 09:21:30 +04:00
return ( struct mwifiex_rxinfo * ) ( skb - > cb + sizeof ( dma_addr_t ) ) ;
2011-03-22 04:00:50 +03:00
}
static inline struct mwifiex_txinfo * MWIFIEX_SKB_TXCB ( struct sk_buff * skb )
{
2013-01-04 09:21:30 +04:00
return ( struct mwifiex_txinfo * ) ( skb - > cb + sizeof ( dma_addr_t ) ) ;
2011-10-12 04:41:21 +04:00
}
2014-02-08 04:25:50 +04:00
struct mwifiex_dma_mapping {
dma_addr_t addr ;
size_t len ;
} ;
static inline void MWIFIEX_SKB_PACB ( struct sk_buff * skb ,
struct mwifiex_dma_mapping * mapping )
2011-10-12 04:41:21 +04:00
{
2014-02-08 04:25:50 +04:00
memcpy ( mapping , skb - > cb , sizeof ( * mapping ) ) ;
2011-03-22 04:00:50 +03:00
}
2014-02-08 04:25:50 +04:00
static inline dma_addr_t MWIFIEX_SKB_DMA_ADDR ( struct sk_buff * skb )
{
struct mwifiex_dma_mapping mapping ;
MWIFIEX_SKB_PACB ( skb , & mapping ) ;
return mapping . addr ;
}
2011-03-22 04:00:50 +03:00
# endif /* !_MWIFIEX_UTIL_H_ */