| .. | .. |
|---|
| 124 | 124 | return 0; |
|---|
| 125 | 125 | } |
|---|
| 126 | 126 | |
|---|
| 127 | | -static const struct seq_operations ipoib_mcg_seq_ops = { |
|---|
| 127 | +static const struct seq_operations ipoib_mcg_sops = { |
|---|
| 128 | 128 | .start = ipoib_mcg_seq_start, |
|---|
| 129 | 129 | .next = ipoib_mcg_seq_next, |
|---|
| 130 | 130 | .stop = ipoib_mcg_seq_stop, |
|---|
| 131 | 131 | .show = ipoib_mcg_seq_show, |
|---|
| 132 | 132 | }; |
|---|
| 133 | 133 | |
|---|
| 134 | | -static int ipoib_mcg_open(struct inode *inode, struct file *file) |
|---|
| 135 | | -{ |
|---|
| 136 | | - struct seq_file *seq; |
|---|
| 137 | | - int ret; |
|---|
| 138 | | - |
|---|
| 139 | | - ret = seq_open(file, &ipoib_mcg_seq_ops); |
|---|
| 140 | | - if (ret) |
|---|
| 141 | | - return ret; |
|---|
| 142 | | - |
|---|
| 143 | | - seq = file->private_data; |
|---|
| 144 | | - seq->private = inode->i_private; |
|---|
| 145 | | - |
|---|
| 146 | | - return 0; |
|---|
| 147 | | -} |
|---|
| 148 | | - |
|---|
| 149 | | -static const struct file_operations ipoib_mcg_fops = { |
|---|
| 150 | | - .owner = THIS_MODULE, |
|---|
| 151 | | - .open = ipoib_mcg_open, |
|---|
| 152 | | - .read = seq_read, |
|---|
| 153 | | - .llseek = seq_lseek, |
|---|
| 154 | | - .release = seq_release |
|---|
| 155 | | -}; |
|---|
| 134 | +DEFINE_SEQ_ATTRIBUTE(ipoib_mcg); |
|---|
| 156 | 135 | |
|---|
| 157 | 136 | static void *ipoib_path_seq_start(struct seq_file *file, loff_t *pos) |
|---|
| 158 | 137 | { |
|---|
| .. | .. |
|---|
| 229 | 208 | return 0; |
|---|
| 230 | 209 | } |
|---|
| 231 | 210 | |
|---|
| 232 | | -static const struct seq_operations ipoib_path_seq_ops = { |
|---|
| 211 | +static const struct seq_operations ipoib_path_sops = { |
|---|
| 233 | 212 | .start = ipoib_path_seq_start, |
|---|
| 234 | 213 | .next = ipoib_path_seq_next, |
|---|
| 235 | 214 | .stop = ipoib_path_seq_stop, |
|---|
| 236 | 215 | .show = ipoib_path_seq_show, |
|---|
| 237 | 216 | }; |
|---|
| 238 | 217 | |
|---|
| 239 | | -static int ipoib_path_open(struct inode *inode, struct file *file) |
|---|
| 240 | | -{ |
|---|
| 241 | | - struct seq_file *seq; |
|---|
| 242 | | - int ret; |
|---|
| 243 | | - |
|---|
| 244 | | - ret = seq_open(file, &ipoib_path_seq_ops); |
|---|
| 245 | | - if (ret) |
|---|
| 246 | | - return ret; |
|---|
| 247 | | - |
|---|
| 248 | | - seq = file->private_data; |
|---|
| 249 | | - seq->private = inode->i_private; |
|---|
| 250 | | - |
|---|
| 251 | | - return 0; |
|---|
| 252 | | -} |
|---|
| 253 | | - |
|---|
| 254 | | -static const struct file_operations ipoib_path_fops = { |
|---|
| 255 | | - .owner = THIS_MODULE, |
|---|
| 256 | | - .open = ipoib_path_open, |
|---|
| 257 | | - .read = seq_read, |
|---|
| 258 | | - .llseek = seq_lseek, |
|---|
| 259 | | - .release = seq_release |
|---|
| 260 | | -}; |
|---|
| 218 | +DEFINE_SEQ_ATTRIBUTE(ipoib_path); |
|---|
| 261 | 219 | |
|---|
| 262 | 220 | void ipoib_create_debug_files(struct net_device *dev) |
|---|
| 263 | 221 | { |
|---|
| .. | .. |
|---|
| 267 | 225 | snprintf(name, sizeof(name), "%s_mcg", dev->name); |
|---|
| 268 | 226 | priv->mcg_dentry = debugfs_create_file(name, S_IFREG | S_IRUGO, |
|---|
| 269 | 227 | ipoib_root, dev, &ipoib_mcg_fops); |
|---|
| 270 | | - if (!priv->mcg_dentry) |
|---|
| 271 | | - ipoib_warn(priv, "failed to create mcg debug file\n"); |
|---|
| 272 | 228 | |
|---|
| 273 | 229 | snprintf(name, sizeof(name), "%s_path", dev->name); |
|---|
| 274 | 230 | priv->path_dentry = debugfs_create_file(name, S_IFREG | S_IRUGO, |
|---|
| 275 | 231 | ipoib_root, dev, &ipoib_path_fops); |
|---|
| 276 | | - if (!priv->path_dentry) |
|---|
| 277 | | - ipoib_warn(priv, "failed to create path debug file\n"); |
|---|
| 278 | 232 | } |
|---|
| 279 | 233 | |
|---|
| 280 | 234 | void ipoib_delete_debug_files(struct net_device *dev) |
|---|
| .. | .. |
|---|
| 286 | 240 | priv->mcg_dentry = priv->path_dentry = NULL; |
|---|
| 287 | 241 | } |
|---|
| 288 | 242 | |
|---|
| 289 | | -int ipoib_register_debugfs(void) |
|---|
| 243 | +void ipoib_register_debugfs(void) |
|---|
| 290 | 244 | { |
|---|
| 291 | 245 | ipoib_root = debugfs_create_dir("ipoib", NULL); |
|---|
| 292 | | - return ipoib_root ? 0 : -ENOMEM; |
|---|
| 293 | 246 | } |
|---|
| 294 | 247 | |
|---|
| 295 | 248 | void ipoib_unregister_debugfs(void) |
|---|