#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/ptrace.h>
#include <linux/types.h>
#include <linux/spinlock.h>
#include <linux/debugfs.h>
#include <linux/seq_file.h>
#include <linux/delay.h>
#include <linux/uaccess.h>
#include <linux/usb/ch9.h>
#include "core.h"
#include "gadget.h"
#include "io.h"
#include "debug.h"
#define DWC3_LSP_MUX_UNSELECTED …
#define dump_register(nm) …
#define dump_ep_register_set(n) …
static const struct debugfs_reg32 dwc3_regs[] = …;
static void dwc3_host_lsp(struct seq_file *s)
{ … }
static void dwc3_gadget_lsp(struct seq_file *s)
{ … }
static int dwc3_lsp_show(struct seq_file *s, void *unused)
{ … }
static int dwc3_lsp_open(struct inode *inode, struct file *file)
{ … }
static ssize_t dwc3_lsp_write(struct file *file, const char __user *ubuf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations dwc3_lsp_fops = …;
static int dwc3_mode_show(struct seq_file *s, void *unused)
{ … }
static int dwc3_mode_open(struct inode *inode, struct file *file)
{ … }
static ssize_t dwc3_mode_write(struct file *file,
const char __user *ubuf, size_t count, loff_t *ppos)
{ … }
static const struct file_operations dwc3_mode_fops = …;
static int dwc3_testmode_show(struct seq_file *s, void *unused)
{ … }
static int dwc3_testmode_open(struct inode *inode, struct file *file)
{ … }
static ssize_t dwc3_testmode_write(struct file *file,
const char __user *ubuf, size_t count, loff_t *ppos)
{ … }
static const struct file_operations dwc3_testmode_fops = …;
static int dwc3_link_state_show(struct seq_file *s, void *unused)
{ … }
static int dwc3_link_state_open(struct inode *inode, struct file *file)
{ … }
static ssize_t dwc3_link_state_write(struct file *file,
const char __user *ubuf, size_t count, loff_t *ppos)
{ … }
static const struct file_operations dwc3_link_state_fops = …;
struct dwc3_ep_file_map { … };
static int dwc3_tx_fifo_size_show(struct seq_file *s, void *unused)
{ … }
static int dwc3_rx_fifo_size_show(struct seq_file *s, void *unused)
{ … }
static int dwc3_tx_request_queue_show(struct seq_file *s, void *unused)
{ … }
static int dwc3_rx_request_queue_show(struct seq_file *s, void *unused)
{ … }
static int dwc3_rx_info_queue_show(struct seq_file *s, void *unused)
{ … }
static int dwc3_descriptor_fetch_queue_show(struct seq_file *s, void *unused)
{ … }
static int dwc3_event_queue_show(struct seq_file *s, void *unused)
{ … }
static int dwc3_transfer_type_show(struct seq_file *s, void *unused)
{ … }
static int dwc3_trb_ring_show(struct seq_file *s, void *unused)
{ … }
static int dwc3_ep_info_register_show(struct seq_file *s, void *unused)
{ … }
DEFINE_SHOW_ATTRIBUTE(…);
DEFINE_SHOW_ATTRIBUTE(…);
DEFINE_SHOW_ATTRIBUTE(…);
DEFINE_SHOW_ATTRIBUTE(…);
DEFINE_SHOW_ATTRIBUTE(…);
DEFINE_SHOW_ATTRIBUTE(…);
DEFINE_SHOW_ATTRIBUTE(…);
DEFINE_SHOW_ATTRIBUTE(…);
DEFINE_SHOW_ATTRIBUTE(…);
DEFINE_SHOW_ATTRIBUTE(…);
static const struct dwc3_ep_file_map dwc3_ep_file_map[] = …;
void dwc3_debugfs_create_endpoint_dir(struct dwc3_ep *dep)
{ … }
void dwc3_debugfs_remove_endpoint_dir(struct dwc3_ep *dep)
{ … }
void dwc3_debugfs_init(struct dwc3 *dwc)
{ … }
void dwc3_debugfs_exit(struct dwc3 *dwc)
{ … }