提交 0511b363 编写于 作者: G Greg Kroah-Hartman

USB: sl811: move debug files from proc to debugfs

Drivers should not be putting debug files in /proc/ that is what debugfs
is for, so move the sl811 driver's debug file to debugfs.
Reviewed-by: NFelipe Balbi <balbi@ti.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 2e6a9e84
...@@ -48,6 +48,8 @@ ...@@ -48,6 +48,8 @@
#include <linux/usb/hcd.h> #include <linux/usb/hcd.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/prefetch.h> #include <linux/prefetch.h>
#include <linux/debugfs.h>
#include <linux/seq_file.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/irq.h> #include <asm/irq.h>
...@@ -63,11 +65,6 @@ MODULE_ALIAS("platform:sl811-hcd"); ...@@ -63,11 +65,6 @@ MODULE_ALIAS("platform:sl811-hcd");
#define DRIVER_VERSION "19 May 2005" #define DRIVER_VERSION "19 May 2005"
#ifndef DEBUG
# define STUB_DEBUG_FILE
#endif
/* for now, use only one transfer register bank */ /* for now, use only one transfer register bank */
#undef USE_B #undef USE_B
...@@ -1373,16 +1370,6 @@ sl811h_bus_resume(struct usb_hcd *hcd) ...@@ -1373,16 +1370,6 @@ sl811h_bus_resume(struct usb_hcd *hcd)
/*-------------------------------------------------------------------------*/ /*-------------------------------------------------------------------------*/
#ifdef STUB_DEBUG_FILE
static inline void create_debug_file(struct sl811 *sl811) { }
static inline void remove_debug_file(struct sl811 *sl811) { }
#else
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
static void dump_irq(struct seq_file *s, char *label, u8 mask) static void dump_irq(struct seq_file *s, char *label, u8 mask)
{ {
seq_printf(s, "%s %02x%s%s%s%s%s%s\n", label, mask, seq_printf(s, "%s %02x%s%s%s%s%s%s\n", label, mask,
...@@ -1394,7 +1381,7 @@ static void dump_irq(struct seq_file *s, char *label, u8 mask) ...@@ -1394,7 +1381,7 @@ static void dump_irq(struct seq_file *s, char *label, u8 mask)
(mask & SL11H_INTMASK_DP) ? " dp" : ""); (mask & SL11H_INTMASK_DP) ? " dp" : "");
} }
static int proc_sl811h_show(struct seq_file *s, void *unused) static int sl811h_show(struct seq_file *s, void *unused)
{ {
struct sl811 *sl811 = s->private; struct sl811 *sl811 = s->private;
struct sl811h_ep *ep; struct sl811h_ep *ep;
...@@ -1505,34 +1492,31 @@ static int proc_sl811h_show(struct seq_file *s, void *unused) ...@@ -1505,34 +1492,31 @@ static int proc_sl811h_show(struct seq_file *s, void *unused)
return 0; return 0;
} }
static int proc_sl811h_open(struct inode *inode, struct file *file) static int sl811h_open(struct inode *inode, struct file *file)
{ {
return single_open(file, proc_sl811h_show, PDE_DATA(inode)); return single_open(file, sl811h_show, inode->i_private);
} }
static const struct file_operations proc_ops = { static const struct file_operations debug_ops = {
.open = proc_sl811h_open, .open = sl811h_open,
.read = seq_read, .read = seq_read,
.llseek = seq_lseek, .llseek = seq_lseek,
.release = single_release, .release = single_release,
}; };
/* expect just one sl811 per system */ /* expect just one sl811 per system */
static const char proc_filename[] = "driver/sl811h";
static void create_debug_file(struct sl811 *sl811) static void create_debug_file(struct sl811 *sl811)
{ {
sl811->pde = proc_create_data(proc_filename, 0, NULL, &proc_ops, sl811); sl811->debug_file = debugfs_create_file("sl811h", S_IRUGO,
usb_debug_root, sl811,
&debug_ops);
} }
static void remove_debug_file(struct sl811 *sl811) static void remove_debug_file(struct sl811 *sl811)
{ {
if (sl811->pde) debugfs_remove(sl811->debug_file);
remove_proc_entry(proc_filename, NULL);
} }
#endif
/*-------------------------------------------------------------------------*/ /*-------------------------------------------------------------------------*/
static void static void
......
...@@ -122,7 +122,7 @@ struct sl811 { ...@@ -122,7 +122,7 @@ struct sl811 {
void __iomem *addr_reg; void __iomem *addr_reg;
void __iomem *data_reg; void __iomem *data_reg;
struct sl811_platform_data *board; struct sl811_platform_data *board;
struct proc_dir_entry *pde; struct dentry *debug_file;
unsigned long stat_insrmv; unsigned long stat_insrmv;
unsigned long stat_wake; unsigned long stat_wake;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册