|
@@ -59,7 +59,7 @@
|
|
|
.offset = DWC3_ ##nm - DWC3_GLOBALS_REGS_START, \
|
|
|
}
|
|
|
|
|
|
-static const struct debugfs_reg32 dwc3_regs[] = {
|
|
|
+static struct debugfs_reg32 dwc3_regs[] = {
|
|
|
dump_register(GSBUSCFG0),
|
|
|
dump_register(GSBUSCFG1),
|
|
|
dump_register(GTXTHRCFG),
|
|
@@ -376,27 +376,6 @@ static const struct debugfs_reg32 dwc3_regs[] = {
|
|
|
dump_register(OSTS),
|
|
|
};
|
|
|
|
|
|
-static int dwc3_regdump_show(struct seq_file *s, void *unused)
|
|
|
-{
|
|
|
- struct dwc3 *dwc = s->private;
|
|
|
-
|
|
|
- seq_printf(s, "DesignWare USB3 Core Register Dump\n");
|
|
|
- debugfs_print_regs32(s, dwc3_regs, ARRAY_SIZE(dwc3_regs),
|
|
|
- dwc->regs, "");
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
-static int dwc3_regdump_open(struct inode *inode, struct file *file)
|
|
|
-{
|
|
|
- return single_open(file, dwc3_regdump_show, inode->i_private);
|
|
|
-}
|
|
|
-
|
|
|
-static const struct file_operations dwc3_regdump_fops = {
|
|
|
- .open = dwc3_regdump_open,
|
|
|
- .read = seq_read,
|
|
|
- .release = single_release,
|
|
|
-};
|
|
|
-
|
|
|
static int dwc3_mode_show(struct seq_file *s, void *unused)
|
|
|
{
|
|
|
struct dwc3 *dwc = s->private;
|
|
@@ -666,8 +645,17 @@ int dwc3_debugfs_init(struct dwc3 *dwc)
|
|
|
|
|
|
dwc->root = root;
|
|
|
|
|
|
- file = debugfs_create_file("regdump", S_IRUGO, root, dwc,
|
|
|
- &dwc3_regdump_fops);
|
|
|
+ dwc->regset = kzalloc(sizeof(*dwc->regset), GFP_KERNEL);
|
|
|
+ if (!dwc->regset) {
|
|
|
+ ret = -ENOMEM;
|
|
|
+ goto err1;
|
|
|
+ }
|
|
|
+
|
|
|
+ dwc->regset->regs = dwc3_regs;
|
|
|
+ dwc->regset->nregs = ARRAY_SIZE(dwc3_regs);
|
|
|
+ dwc->regset->base = dwc->regs;
|
|
|
+
|
|
|
+ file = debugfs_create_regset32("regdump", S_IRUGO, root, dwc->regset);
|
|
|
if (!file) {
|
|
|
ret = -ENOMEM;
|
|
|
goto err1;
|