diff options
Diffstat (limited to 'drivers/usb/dwc3/debugfs.c')
| -rw-r--r-- | drivers/usb/dwc3/debugfs.c | 36 | 
1 files changed, 12 insertions, 24 deletions
diff --git a/drivers/usb/dwc3/debugfs.c b/drivers/usb/dwc3/debugfs.c index 5945aadaa1c..aff8fd3e7e9 100644 --- a/drivers/usb/dwc3/debugfs.c +++ b/drivers/usb/dwc3/debugfs.c @@ -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;  |