hc
2024-08-16 62c46c9150c4afde7e5b25436263fddf79d66f0b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/*
 * Copyright (C) 2013 Spreadtrum Communications Inc.
 *
 * Authors:
 * Keguang Zhang <keguang.zhang@spreadtrum.com>
 *
 * 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__*/