Fix duplicate atomic_t typedef conflicting with types.h
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef _LINUX_SIMPLE_RING_BUFFER_H
|
||||
#define _LINUX_SIMPLE_RING_BUFFER_H
|
||||
|
||||
#include <linux/list.h>
|
||||
#include <linux/ring_buffer.h>
|
||||
#include <linux/ring_buffer_types.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
/*
|
||||
* Ideally those struct would stay private but the caller needs to know
|
||||
* the allocation size for simple_ring_buffer_init().
|
||||
*/
|
||||
struct simple_buffer_page {
|
||||
struct list_head link;
|
||||
struct buffer_data_page *page;
|
||||
u64 entries;
|
||||
u32 write;
|
||||
u32 id;
|
||||
};
|
||||
|
||||
struct simple_rb_per_cpu {
|
||||
struct simple_buffer_page *tail_page;
|
||||
struct simple_buffer_page *reader_page;
|
||||
struct simple_buffer_page *head_page;
|
||||
struct simple_buffer_page *bpages;
|
||||
struct trace_buffer_meta *meta;
|
||||
u32 nr_pages;
|
||||
|
||||
#define SIMPLE_RB_UNAVAILABLE 0
|
||||
#define SIMPLE_RB_READY 1
|
||||
#define SIMPLE_RB_WRITING 2
|
||||
u32 status;
|
||||
|
||||
u64 last_overrun;
|
||||
u64 write_stamp;
|
||||
|
||||
struct simple_rb_cbs *cbs;
|
||||
};
|
||||
|
||||
int simple_ring_buffer_init(struct simple_rb_per_cpu *cpu_buffer, struct simple_buffer_page *bpages,
|
||||
const struct ring_buffer_desc *desc);
|
||||
|
||||
void simple_ring_buffer_unload(struct simple_rb_per_cpu *cpu_buffer);
|
||||
|
||||
void *simple_ring_buffer_reserve(struct simple_rb_per_cpu *cpu_buffer, unsigned long length,
|
||||
u64 timestamp);
|
||||
|
||||
void simple_ring_buffer_commit(struct simple_rb_per_cpu *cpu_buffer);
|
||||
|
||||
int simple_ring_buffer_enable_tracing(struct simple_rb_per_cpu *cpu_buffer, bool enable);
|
||||
|
||||
int simple_ring_buffer_reset(struct simple_rb_per_cpu *cpu_buffer);
|
||||
|
||||
int simple_ring_buffer_swap_reader_page(struct simple_rb_per_cpu *cpu_buffer);
|
||||
|
||||
int simple_ring_buffer_init_mm(struct simple_rb_per_cpu *cpu_buffer,
|
||||
struct simple_buffer_page *bpages,
|
||||
const struct ring_buffer_desc *desc,
|
||||
void *(*load_page)(unsigned long va),
|
||||
void (*unload_page)(void *va));
|
||||
|
||||
void simple_ring_buffer_unload_mm(struct simple_rb_per_cpu *cpu_buffer,
|
||||
void (*unload_page)(void *));
|
||||
#endif
|
||||
Reference in New Issue
Block a user