#include <linux/acpi.h>
#include <linux/device.h>
#include <linux/err.h>
#include <linux/errno.h>
#include <linux/file.h>
#include <linux/fs.h>
#include <linux/miscdevice.h>
#include <linux/module.h>
#include <linux/mm.h>
#include <linux/platform_device.h>
#include <linux/string.h>
#include <linux/uaccess.h>
#include <linux/uio.h>
#include <linux/uuid.h>
#include <uapi/linux/pfrut.h>
#define PFRT_LOG_EXEC_IDX …
#define PFRT_LOG_HISTORY_IDX …
#define PFRT_LOG_ERR …
#define PFRT_LOG_WARN …
#define PFRT_LOG_INFO …
#define PFRT_LOG_VERB …
#define PFRT_FUNC_SET_LEV …
#define PFRT_FUNC_GET_LEV …
#define PFRT_FUNC_GET_DATA …
#define PFRT_REVID_1 …
#define PFRT_REVID_2 …
#define PFRT_DEFAULT_REV_ID …
enum log_index { … };
struct pfrt_log_device { … };
static const guid_t pfrt_log_guid = …;
static DEFINE_IDA(pfrt_log_ida);
static inline struct pfrt_log_device *to_pfrt_log_dev(struct file *file)
{ … }
static int get_pfrt_log_data_info(struct pfrt_log_data_info *data_info,
struct pfrt_log_device *pfrt_log_dev)
{ … }
static int set_pfrt_log_level(int level, struct pfrt_log_device *pfrt_log_dev)
{ … }
static int get_pfrt_log_level(struct pfrt_log_device *pfrt_log_dev)
{ … }
static int valid_log_level(u32 level)
{ … }
static int valid_log_type(u32 type)
{ … }
static inline int valid_log_revid(u32 id)
{ … }
static long pfrt_log_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
{ … }
static int
pfrt_log_mmap(struct file *file, struct vm_area_struct *vma)
{ … }
static const struct file_operations acpi_pfrt_log_fops = …;
static void acpi_pfrt_log_remove(struct platform_device *pdev)
{ … }
static void pfrt_log_put_idx(void *data)
{ … }
static int acpi_pfrt_log_probe(struct platform_device *pdev)
{ … }
static const struct acpi_device_id acpi_pfrt_log_ids[] = …;
MODULE_DEVICE_TABLE(acpi, acpi_pfrt_log_ids);
static struct platform_driver acpi_pfrt_log_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;