diff options
Diffstat (limited to 'drivers/s390/cio/qdio_debug.c')
| -rw-r--r-- | drivers/s390/cio/qdio_debug.c | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/drivers/s390/cio/qdio_debug.c b/drivers/s390/cio/qdio_debug.c index b5390821434..f05590355be 100644 --- a/drivers/s390/cio/qdio_debug.c +++ b/drivers/s390/cio/qdio_debug.c | |||
| @@ -20,6 +20,7 @@ static struct dentry *debugfs_root; | |||
| 20 | #define MAX_DEBUGFS_QUEUES 32 | 20 | #define MAX_DEBUGFS_QUEUES 32 |
| 21 | static struct dentry *debugfs_queues[MAX_DEBUGFS_QUEUES] = { NULL }; | 21 | static struct dentry *debugfs_queues[MAX_DEBUGFS_QUEUES] = { NULL }; |
| 22 | static DEFINE_MUTEX(debugfs_mutex); | 22 | static DEFINE_MUTEX(debugfs_mutex); |
| 23 | #define QDIO_DEBUGFS_NAME_LEN 40 | ||
| 23 | 24 | ||
| 24 | void qdio_allocate_do_dbf(struct qdio_initialize *init_data) | 25 | void qdio_allocate_do_dbf(struct qdio_initialize *init_data) |
| 25 | { | 26 | { |
| @@ -152,17 +153,6 @@ static int qstat_seq_open(struct inode *inode, struct file *filp) | |||
| 152 | filp->f_path.dentry->d_inode->i_private); | 153 | filp->f_path.dentry->d_inode->i_private); |
| 153 | } | 154 | } |
| 154 | 155 | ||
| 155 | static void get_queue_name(struct qdio_q *q, struct ccw_device *cdev, char *name) | ||
| 156 | { | ||
| 157 | memset(name, 0, sizeof(name)); | ||
| 158 | sprintf(name, "%s", dev_name(&cdev->dev)); | ||
| 159 | if (q->is_input_q) | ||
| 160 | sprintf(name + strlen(name), "_input"); | ||
| 161 | else | ||
| 162 | sprintf(name + strlen(name), "_output"); | ||
| 163 | sprintf(name + strlen(name), "_%d", q->nr); | ||
| 164 | } | ||
| 165 | |||
| 166 | static void remove_debugfs_entry(struct qdio_q *q) | 156 | static void remove_debugfs_entry(struct qdio_q *q) |
| 167 | { | 157 | { |
| 168 | int i; | 158 | int i; |
| @@ -189,14 +179,17 @@ static struct file_operations debugfs_fops = { | |||
| 189 | static void setup_debugfs_entry(struct qdio_q *q, struct ccw_device *cdev) | 179 | static void setup_debugfs_entry(struct qdio_q *q, struct ccw_device *cdev) |
| 190 | { | 180 | { |
| 191 | int i = 0; | 181 | int i = 0; |
| 192 | char name[40]; | 182 | char name[QDIO_DEBUGFS_NAME_LEN]; |
| 193 | 183 | ||
| 194 | while (debugfs_queues[i] != NULL) { | 184 | while (debugfs_queues[i] != NULL) { |
| 195 | i++; | 185 | i++; |
| 196 | if (i >= MAX_DEBUGFS_QUEUES) | 186 | if (i >= MAX_DEBUGFS_QUEUES) |
| 197 | return; | 187 | return; |
| 198 | } | 188 | } |
| 199 | get_queue_name(q, cdev, name); | 189 | snprintf(name, QDIO_DEBUGFS_NAME_LEN, "%s_%s_%d", |
| 190 | dev_name(&cdev->dev), | ||
| 191 | q->is_input_q ? "input" : "output", | ||
| 192 | q->nr); | ||
| 200 | debugfs_queues[i] = debugfs_create_file(name, S_IFREG | S_IRUGO | S_IWUSR, | 193 | debugfs_queues[i] = debugfs_create_file(name, S_IFREG | S_IRUGO | S_IWUSR, |
| 201 | debugfs_root, q, &debugfs_fops); | 194 | debugfs_root, q, &debugfs_fops); |
| 202 | } | 195 | } |
