|
|
|
|
@ -20,7 +20,6 @@
|
|
|
|
|
|
|
|
|
|
#define RTW_PROC_HDL_TYPE_SEQ 0
|
|
|
|
|
#define RTW_PROC_HDL_TYPE_SSEQ 1
|
|
|
|
|
#define RTW_PROC_HDL_TYPE_SZSEQ 2
|
|
|
|
|
|
|
|
|
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0))
|
|
|
|
|
#define HAVE_PROC_OPS_STRUCT
|
|
|
|
|
@ -35,10 +34,6 @@ struct rtw_proc_hdl {
|
|
|
|
|
union {
|
|
|
|
|
int (*show)(struct seq_file *, void *);
|
|
|
|
|
struct seq_operations *seq_op;
|
|
|
|
|
struct {
|
|
|
|
|
int (*show)(struct seq_file *, void *);
|
|
|
|
|
size_t size;
|
|
|
|
|
} sz;
|
|
|
|
|
} u;
|
|
|
|
|
ssize_t (*write)(struct file *file, const char __user *buffer, size_t count, loff_t *pos, void *data);
|
|
|
|
|
};
|
|
|
|
|
@ -49,11 +44,9 @@ struct rtw_proc_hdl {
|
|
|
|
|
#define RTW_PROC_HDL_SSEQ(_name, _show, _write) \
|
|
|
|
|
{ .name = _name, .type = RTW_PROC_HDL_TYPE_SSEQ, .u.show = _show, .write = _write}
|
|
|
|
|
|
|
|
|
|
#define RTW_PROC_HDL_SZSEQ(_name, _show, _write, _size) \
|
|
|
|
|
{ .name = _name, .type = RTW_PROC_HDL_TYPE_SZSEQ, .u.sz.show = _show, .write = _write, .u.sz.size = _size}
|
|
|
|
|
|
|
|
|
|
#ifdef CONFIG_PROC_DEBUG
|
|
|
|
|
|
|
|
|
|
struct proc_dir_entry *get_rtw_drv_proc(void);
|
|
|
|
|
int rtw_drv_proc_init(void);
|
|
|
|
|
void rtw_drv_proc_deinit(void);
|
|
|
|
|
struct proc_dir_entry *rtw_adapter_proc_init(struct net_device *dev);
|
|
|
|
|
@ -62,9 +55,10 @@ void rtw_adapter_proc_replace(struct net_device *dev);
|
|
|
|
|
|
|
|
|
|
#else /* !CONFIG_PROC_DEBUG */
|
|
|
|
|
|
|
|
|
|
static inline int rtw_drv_proc_init(void) {return _FAIL;}
|
|
|
|
|
#define get_rtw_drv_proc() NULL
|
|
|
|
|
#define rtw_drv_proc_init() 0
|
|
|
|
|
#define rtw_drv_proc_deinit() do {} while (0)
|
|
|
|
|
static inline struct proc_dir_entry *rtw_adapter_proc_init(struct net_device *dev) {return NULL;}
|
|
|
|
|
#define rtw_adapter_proc_init(dev) NULL
|
|
|
|
|
#define rtw_adapter_proc_deinit(dev) do {} while (0)
|
|
|
|
|
#define rtw_adapter_proc_replace(dev) do {} while (0)
|
|
|
|
|
|
|
|
|
|
|