#include <linux/debugfs.h>
#include "ufs-debugfs.h"
#include <ufs/ufshcd.h>
#include "ufshcd-priv.h"
static struct dentry *ufs_debugfs_root;
struct ufs_debugfs_attr { … };
static inline struct ufs_hba *hba_from_file(const struct file *file)
{ … }
void __init ufs_debugfs_init(void)
{ … }
void ufs_debugfs_exit(void)
{ … }
static int ufs_debugfs_stats_show(struct seq_file *s, void *data)
{ … }
DEFINE_SHOW_ATTRIBUTE(…);
static int ee_usr_mask_get(void *data, u64 *val)
{ … }
static int ufs_debugfs_get_user_access(struct ufs_hba *hba)
__acquires(&hba->host_sem)
{ … }
static void ufs_debugfs_put_user_access(struct ufs_hba *hba)
__releases(&hba->host_sem)
{ … }
static int ee_usr_mask_set(void *data, u64 val)
{ … }
DEFINE_DEBUGFS_ATTRIBUTE(…);
void ufs_debugfs_exception_event(struct ufs_hba *hba, u16 status)
{ … }
static void ufs_debugfs_restart_ee(struct work_struct *work)
{ … }
static int ufs_saved_err_show(struct seq_file *s, void *data)
{ … }
static ssize_t ufs_saved_err_write(struct file *file, const char __user *buf,
size_t count, loff_t *ppos)
{ … }
static int ufs_saved_err_open(struct inode *inode, struct file *file)
{ … }
static const struct file_operations ufs_saved_err_fops = …;
static const struct ufs_debugfs_attr ufs_attrs[] = …;
void ufs_debugfs_hba_init(struct ufs_hba *hba)
{ … }
void ufs_debugfs_hba_exit(struct ufs_hba *hba)
{ … }