usb: typec: tcpm: Use usb_debug_root as root for our debugfs entry
authorHans de Goede <hdegoede@redhat.com>
Sat, 17 Aug 2019 18:43:38 +0000 (20:43 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 18 Aug 2019 11:32:25 +0000 (13:32 +0200)
Use usb_debug_root as root for our debugfs entry instead of creating our
own subdirectory under the debugfs root.

Another patch in this series will make the same change to the fusb302
driver, which also uses dev_name() (on the same device) for the debugfs
entry name. So we also prefix dev_name() with "tcpm-" here to avoid a
name conflict.

Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20190817184340.64086-1-hdegoede@redhat.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/tcpm/tcpm.c

index ec9460d..166b285 100644 (file)
@@ -19,6 +19,7 @@
 #include <linux/seq_file.h>
 #include <linux/slab.h>
 #include <linux/spinlock.h>
+#include <linux/usb.h>
 #include <linux/usb/pd.h>
 #include <linux/usb/pd_ado.h>
 #include <linux/usb/pd_bdo.h>
@@ -571,17 +572,13 @@ static int tcpm_debug_show(struct seq_file *s, void *v)
 }
 DEFINE_SHOW_ATTRIBUTE(tcpm_debug);
 
-static struct dentry *rootdir;
-
 static void tcpm_debugfs_init(struct tcpm_port *port)
 {
-       mutex_init(&port->logbuffer_lock);
-       /* /sys/kernel/debug/tcpm/usbcX */
-       if (!rootdir)
-               rootdir = debugfs_create_dir("tcpm", NULL);
+       char name[NAME_MAX];
 
-       port->dentry = debugfs_create_file(dev_name(port->dev),
-                                          S_IFREG | 0444, rootdir,
+       mutex_init(&port->logbuffer_lock);
+       snprintf(name, NAME_MAX, "tcpm-%s", dev_name(port->dev));
+       port->dentry = debugfs_create_file(name, S_IFREG | 0444, usb_debug_root,
                                           port, &tcpm_debug_fops);
 }
 
@@ -597,10 +594,6 @@ static void tcpm_debugfs_exit(struct tcpm_port *port)
        mutex_unlock(&port->logbuffer_lock);
 
        debugfs_remove(port->dentry);
-       if (list_empty(&rootdir->d_subdirs)) {
-               debugfs_remove(rootdir);
-               rootdir = NULL;
-       }
 }
 
 #else