/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ /* * Copyright (c) 2019 Amlogic, Inc. All rights reserved. */ #ifndef __AMLOGIC_DEBUG_FILE_H #define __AMLOGIC_DEBUG_FILE_H #include #include #include #define DEBUG_FILE_NAME_LEN 200 struct debug_file_param { int id; int status; int flags; unsigned int mode; char filename[DEBUG_FILE_NAME_LEN]; }; struct debug_file { struct delayed_work release_work; struct kfifo kfifo_buf; struct list_head list; struct mutex mutex; /* */ struct proc_dir_entry *proc_file; struct debug_file_param param; wait_queue_head_t wq; }; struct debug_file *debug_file_open(const char *filename, int flags, umode_t mode); ssize_t debug_file_read(struct debug_file *filp, void *buf, size_t count); ssize_t debug_file_write(struct debug_file *filp, const void *buf, size_t count); int debug_file_close(struct debug_file *filp); #endif