/* * Copyright (C) 2013 Spreadtrum Communications Inc. * * Authors: * Keguang Zhang * * This software is licensed under the terms of the GNU General Public * License version 2, as published by the Free Software Foundation, and * may be copied, distributed, and modified under those terms. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #ifndef __SPRDWL_INTF_H__ #define __SPRDWL_INTF_H__ #include "msg.h" struct sprdwl_priv; struct sprdwl_if_ops { struct sprdwl_msg_buf *(*get_msg_buf)(void *sdev, enum sprdwl_head_type type, #if defined(UWE5621_FTR) enum sprdwl_mode mode, u8 ctx_id); #else enum sprdwl_mode mode); #endif void (*free_msg_buf)(void *sdev, struct sprdwl_msg_buf *msg); int (*tx)(void *spdev, struct sprdwl_msg_buf *msg); #if defined(UWE5621_FTR) void (*force_exit)(void *spdev); int (*is_exit)(void *spdev); #else void (*force_exit)(void); int (*is_exit)(void); #endif /* UWE5621_FTR */ int (*suspend)(struct sprdwl_priv *priv); int (*resume)(struct sprdwl_priv *priv); #if defined(UWE5621_FTR) void (*debugfs)(void *spdev, struct dentry *dir); #else void (*debugfs)(struct dentry *dir); #endif /* UWE5621_FTR */ #if defined(UWE5621_FTR) void (*tcp_drop_msg)(void *spdev, struct sprdwl_msg_buf *msg); #else void (*tcp_drop_msg)(struct sprdwl_msg_buf *msg); #endif /* UWE5621_FTR*/ int (*ini_download_status)(void); }; #endif/*__INTF_H__*/