net:wireless:Support eswin usb wifi ECR6600U
[platform/kernel/linux-starfive.git] / drivers / net / wireless / eswin / slave_log_buf.h
1 #ifndef _SLAVE_LOG_BUF_H_
2 #define _SLAVE_LOG_BUF_H_
3 #include <linux/firmware.h>
4 #include "core.h"
5 #include "ecrnx_debug.h"
6
7
8 #ifndef uint32_t
9 #define uint32_t unsigned int
10 #endif
11
12
13 #define is_power_of_2(x) ((x) != 0 && (((x) & ((x) - 1)) == 0))
14
15 //#define min(a, b) (((a) < (b)) ? (a) : (b))
16  
17 struct ring_buffer
18 {
19     void            *buffer;
20     uint32_t        size;
21     uint32_t        write_point;
22     uint32_t        read_point;
23     char            cover; 
24     char            show;
25     char            init; 
26     spinlock_t     *f_lock;
27 };
28
29 uint32_t ring_buffer_get(struct ring_buffer *ring_buf, void *buffer, uint32_t size);
30 uint32_t ring_buffer_put(struct ring_buffer *ring_buf, void *buffer, uint32_t size);
31 uint32_t ring_buffer_init(struct ring_buffer* ring_buf, uint32_t size);
32 void ring_buffer_deinit(struct ring_buffer *ring_buf);
33 uint32_t ring_buffer_scrolling_display(struct ring_buffer *ring_buf, char show);
34 uint32_t ring_buffer_len(const struct ring_buffer *ring_buf);
35
36
37 #endif