diff mbox series

[v2,3/3] usb: chipidea: debug: remove redundant 'role' debug file

Message ID 20221130081231.3127369-3-xu.yang_2@nxp.com
State Superseded
Headers show
Series [v2,1/3] usb: chipdea: core: don't return -EINVAL if request role is the same with current role | expand

Commit Message

Xu Yang Nov. 30, 2022, 8:12 a.m. UTC
Two 'role' file exist in different position but with totally same function.

1. /sys/devices/platform/soc@0/xxxxxxxx.usb/ci_hdrc.0/role
2. /sys/kernel/debug/usb/ci_hdrc.0/role

This will remove the 2rd redundant 'role' debug file (under debugfs) and
keep the one which is more closer to user.

Signed-off-by: Xu Yang <xu.yang_2@nxp.com>

---
changes since v1:
- no change
---
 drivers/usb/chipidea/debug.c | 55 ------------------------------------
 1 file changed, 55 deletions(-)

Comments

Peter Chen Feb. 10, 2023, 8:58 a.m. UTC | #1
On 22-11-30 16:12:31, Xu Yang wrote:
> Two 'role' file exist in different position but with totally same function.
> 
> 1. /sys/devices/platform/soc@0/xxxxxxxx.usb/ci_hdrc.0/role
> 2. /sys/kernel/debug/usb/ci_hdrc.0/role
> 
> This will remove the 2rd redundant 'role' debug file (under debugfs) and
> keep the one which is more closer to user.
> 
> Signed-off-by: Xu Yang <xu.yang_2@nxp.com>

Acked-by: Peter Chen <peter.chen@kernel.org>

Peter
> 
> ---
> changes since v1:
> - no change
> ---
>  drivers/usb/chipidea/debug.c | 55 ------------------------------------
>  1 file changed, 55 deletions(-)
> 
> diff --git a/drivers/usb/chipidea/debug.c b/drivers/usb/chipidea/debug.c
> index faf6b078b6c4..37da83de3cba 100644
> --- a/drivers/usb/chipidea/debug.c
> +++ b/drivers/usb/chipidea/debug.c
> @@ -247,60 +247,6 @@ static int ci_otg_show(struct seq_file *s, void *unused)
>  }
>  DEFINE_SHOW_ATTRIBUTE(ci_otg);
>  
> -static int ci_role_show(struct seq_file *s, void *data)
> -{
> -	struct ci_hdrc *ci = s->private;
> -
> -	if (ci->role != CI_ROLE_END)
> -		seq_printf(s, "%s\n", ci_role(ci)->name);
> -
> -	return 0;
> -}
> -
> -static ssize_t ci_role_write(struct file *file, const char __user *ubuf,
> -			     size_t count, loff_t *ppos)
> -{
> -	struct seq_file *s = file->private_data;
> -	struct ci_hdrc *ci = s->private;
> -	enum ci_role role;
> -	char buf[8];
> -	int ret;
> -
> -	if (copy_from_user(buf, ubuf, min_t(size_t, sizeof(buf) - 1, count)))
> -		return -EFAULT;
> -
> -	for (role = CI_ROLE_HOST; role < CI_ROLE_END; role++)
> -		if (ci->roles[role] &&
> -		    !strncmp(buf, ci->roles[role]->name,
> -			     strlen(ci->roles[role]->name)))
> -			break;
> -
> -	if (role == CI_ROLE_END || role == ci->role)
> -		return -EINVAL;
> -
> -	pm_runtime_get_sync(ci->dev);
> -	disable_irq(ci->irq);
> -	ci_role_stop(ci);
> -	ret = ci_role_start(ci, role);
> -	enable_irq(ci->irq);
> -	pm_runtime_put_sync(ci->dev);
> -
> -	return ret ? ret : count;
> -}
> -
> -static int ci_role_open(struct inode *inode, struct file *file)
> -{
> -	return single_open(file, ci_role_show, inode->i_private);
> -}
> -
> -static const struct file_operations ci_role_fops = {
> -	.open		= ci_role_open,
> -	.write		= ci_role_write,
> -	.read		= seq_read,
> -	.llseek		= seq_lseek,
> -	.release	= single_release,
> -};
> -
>  static int ci_registers_show(struct seq_file *s, void *unused)
>  {
>  	struct ci_hdrc *ci = s->private;
> @@ -354,7 +300,6 @@ void dbg_create_files(struct ci_hdrc *ci)
>  	if (ci_otg_is_fsm_mode(ci))
>  		debugfs_create_file("otg", S_IRUGO, dir, ci, &ci_otg_fops);
>  
> -	debugfs_create_file("role", S_IRUGO | S_IWUSR, dir, ci, &ci_role_fops);
>  	debugfs_create_file("registers", S_IRUGO, dir, ci, &ci_registers_fops);
>  }
>  
> -- 
> 2.34.1
>
diff mbox series

Patch

diff --git a/drivers/usb/chipidea/debug.c b/drivers/usb/chipidea/debug.c
index faf6b078b6c4..37da83de3cba 100644
--- a/drivers/usb/chipidea/debug.c
+++ b/drivers/usb/chipidea/debug.c
@@ -247,60 +247,6 @@  static int ci_otg_show(struct seq_file *s, void *unused)
 }
 DEFINE_SHOW_ATTRIBUTE(ci_otg);
 
-static int ci_role_show(struct seq_file *s, void *data)
-{
-	struct ci_hdrc *ci = s->private;
-
-	if (ci->role != CI_ROLE_END)
-		seq_printf(s, "%s\n", ci_role(ci)->name);
-
-	return 0;
-}
-
-static ssize_t ci_role_write(struct file *file, const char __user *ubuf,
-			     size_t count, loff_t *ppos)
-{
-	struct seq_file *s = file->private_data;
-	struct ci_hdrc *ci = s->private;
-	enum ci_role role;
-	char buf[8];
-	int ret;
-
-	if (copy_from_user(buf, ubuf, min_t(size_t, sizeof(buf) - 1, count)))
-		return -EFAULT;
-
-	for (role = CI_ROLE_HOST; role < CI_ROLE_END; role++)
-		if (ci->roles[role] &&
-		    !strncmp(buf, ci->roles[role]->name,
-			     strlen(ci->roles[role]->name)))
-			break;
-
-	if (role == CI_ROLE_END || role == ci->role)
-		return -EINVAL;
-
-	pm_runtime_get_sync(ci->dev);
-	disable_irq(ci->irq);
-	ci_role_stop(ci);
-	ret = ci_role_start(ci, role);
-	enable_irq(ci->irq);
-	pm_runtime_put_sync(ci->dev);
-
-	return ret ? ret : count;
-}
-
-static int ci_role_open(struct inode *inode, struct file *file)
-{
-	return single_open(file, ci_role_show, inode->i_private);
-}
-
-static const struct file_operations ci_role_fops = {
-	.open		= ci_role_open,
-	.write		= ci_role_write,
-	.read		= seq_read,
-	.llseek		= seq_lseek,
-	.release	= single_release,
-};
-
 static int ci_registers_show(struct seq_file *s, void *unused)
 {
 	struct ci_hdrc *ci = s->private;
@@ -354,7 +300,6 @@  void dbg_create_files(struct ci_hdrc *ci)
 	if (ci_otg_is_fsm_mode(ci))
 		debugfs_create_file("otg", S_IRUGO, dir, ci, &ci_otg_fops);
 
-	debugfs_create_file("role", S_IRUGO | S_IWUSR, dir, ci, &ci_role_fops);
 	debugfs_create_file("registers", S_IRUGO, dir, ci, &ci_registers_fops);
 }