/* * Copyright (c) @Hisilicon Technologies Co., Ltd. 2020. All rights reserved. */ #ifndef __MACH_UTIL_H__ #define __MACH_UTIL_H__ #include #include #include #include #include #define PBUF_MAXSIZE (128) #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0)) typedef struct proc_ops mntn_proc_ops; #define MNTN_PROC_OPEN proc_open #define MNTN_PROC_READ proc_read #define MNTN_PROC_WRITE proc_write #define MNTN_PROC_LSEEK proc_lseek #define MNTN_PROC_RELEASE proc_release #else typedef struct file_operations mntn_proc_ops; #define MNTN_PROC_OPEN open #define MNTN_PROC_READ read #define MNTN_PROC_WRITE write #define MNTN_PROC_LSEEK llseek #define MNTN_PROC_RELEASE release #endif #ifdef CONFIG_PLATFORM_MAINTAIN int check_mntnctl(int feature); #else static inline int check_mntnctl(int feature) { return 0; } #endif u32 mntn_atoi(char *s, int len); struct proc_dir_entry *mntn_create_root_proc_dir(const char *name); struct proc_dir_entry *mntn_create_root_proc_entry(const char *name, mode_t mode, const mntn_proc_ops *proc_fops, void *data); void mntn_remove_root_proc_entry(const char *name); struct proc_dir_entry *mntn_create_stats_proc_entry(const char *name, mode_t mode, const mntn_proc_ops *proc_fops, void *data); void mntn_remove_stats_proc_entry(const char *name); struct proc_dir_entry *mntn_create_memory_proc_entry(const char *name, mode_t mode, const mntn_proc_ops *proc_fops, void *data); void mntn_remove_memory_proc_entry(const char *name); struct proc_dir_entry *mntn_create_log_proc_entry(const char *name, mode_t mode, const mntn_proc_ops *proc_fops, void *data); void mntn_remove_log_proc_entry(const char *name); struct proc_dir_entry *mntn_create_pstore_proc_entry(const char *name, mode_t mode, const mntn_proc_ops *proc_fops, void *data); void mntn_remove_pstore_proc_entry(const char *name); struct proc_dir_entry *mntn_create_extend_proc_entry(const char *name, mode_t mode, const mntn_proc_ops *proc_fops, void *data); void mntn_remove_extend_proc_entry(const char *name); struct proc_dir_entry *mntn_create_platform_proc_entry(const char *name, mode_t mode, const mntn_proc_ops *proc_fops, void *data); void mntn_remove_platform_proc_entry(const char *name); struct proc_dir_entry *mntn_create_mntnctl_proc_entry(const char *name, mode_t mode, const mntn_proc_ops *proc_fops, void *data); void mntn_remove_mntnctl_proc_entry(const char *name); #endif