summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/misc/mei/debugfs.c47
-rw-r--r--drivers/misc/mei/main.c8
-rw-r--r--drivers/misc/mei/mei_dev.h7
3 files changed, 14 insertions, 48 deletions
diff --git a/drivers/misc/mei/debugfs.c b/drivers/misc/mei/debugfs.c
index 0970142bcace..df6bf8b81936 100644
--- a/drivers/misc/mei/debugfs.c
+++ b/drivers/misc/mei/debugfs.c
@@ -233,47 +233,22 @@ void mei_dbgfs_deregister(struct mei_device *dev)
233 * 233 *
234 * @dev: the mei device structure 234 * @dev: the mei device structure
235 * @name: the mei device name 235 * @name: the mei device name
236 *
237 * Return: 0 on success, <0 on failure.
238 */ 236 */
239int mei_dbgfs_register(struct mei_device *dev, const char *name) 237void mei_dbgfs_register(struct mei_device *dev, const char *name)
240{ 238{
241 struct dentry *dir, *f; 239 struct dentry *dir;
242 240
243 dir = debugfs_create_dir(name, NULL); 241 dir = debugfs_create_dir(name, NULL);
244 if (!dir)
245 return -ENOMEM;
246
247 dev->dbgfs_dir = dir; 242 dev->dbgfs_dir = dir;
248 243
249 f = debugfs_create_file("meclients", S_IRUSR, dir, 244 debugfs_create_file("meclients", S_IRUSR, dir, dev,
250 dev, &mei_dbgfs_fops_meclients); 245 &mei_dbgfs_fops_meclients);
251 if (!f) { 246 debugfs_create_file("active", S_IRUSR, dir, dev,
252 dev_err(dev->dev, "meclients: registration failed\n"); 247 &mei_dbgfs_fops_active);
253 goto err; 248 debugfs_create_file("devstate", S_IRUSR, dir, dev,
254 } 249 &mei_dbgfs_fops_devstate);
255 f = debugfs_create_file("active", S_IRUSR, dir, 250 debugfs_create_file("allow_fixed_address", S_IRUSR | S_IWUSR, dir,
256 dev, &mei_dbgfs_fops_active); 251 &dev->allow_fixed_address,
257 if (!f) { 252 &mei_dbgfs_fops_allow_fa);
258 dev_err(dev->dev, "active: registration failed\n");
259 goto err;
260 }
261 f = debugfs_create_file("devstate", S_IRUSR, dir,
262 dev, &mei_dbgfs_fops_devstate);
263 if (!f) {
264 dev_err(dev->dev, "devstate: registration failed\n");
265 goto err;
266 }
267 f = debugfs_create_file("allow_fixed_address", S_IRUSR | S_IWUSR, dir,
268 &dev->allow_fixed_address,
269 &mei_dbgfs_fops_allow_fa);
270 if (!f) {
271 dev_err(dev->dev, "allow_fixed_address: registration failed\n");
272 goto err;
273 }
274 return 0;
275err:
276 mei_dbgfs_deregister(dev);
277 return -ENODEV;
278} 253}
279 254
diff --git a/drivers/misc/mei/main.c b/drivers/misc/mei/main.c
index ad02097d7fee..f894d1f8a53e 100644
--- a/drivers/misc/mei/main.c
+++ b/drivers/misc/mei/main.c
@@ -984,16 +984,10 @@ int mei_register(struct mei_device *dev, struct device *parent)
984 goto err_dev_create; 984 goto err_dev_create;
985 } 985 }
986 986
987 ret = mei_dbgfs_register(dev, dev_name(clsdev)); 987 mei_dbgfs_register(dev, dev_name(clsdev));
988 if (ret) {
989 dev_err(clsdev, "cannot register debugfs ret = %d\n", ret);
990 goto err_dev_dbgfs;
991 }
992 988
993 return 0; 989 return 0;
994 990
995err_dev_dbgfs:
996 device_destroy(mei_class, devno);
997err_dev_create: 991err_dev_create:
998 cdev_del(&dev->cdev); 992 cdev_del(&dev->cdev);
999err_dev_add: 993err_dev_add:
diff --git a/drivers/misc/mei/mei_dev.h b/drivers/misc/mei/mei_dev.h
index fca832fcac57..f71a023aed3c 100644
--- a/drivers/misc/mei/mei_dev.h
+++ b/drivers/misc/mei/mei_dev.h
@@ -718,13 +718,10 @@ bool mei_hbuf_acquire(struct mei_device *dev);
718bool mei_write_is_idle(struct mei_device *dev); 718bool mei_write_is_idle(struct mei_device *dev);
719 719
720#if IS_ENABLED(CONFIG_DEBUG_FS) 720#if IS_ENABLED(CONFIG_DEBUG_FS)
721int mei_dbgfs_register(struct mei_device *dev, const char *name); 721void mei_dbgfs_register(struct mei_device *dev, const char *name);
722void mei_dbgfs_deregister(struct mei_device *dev); 722void mei_dbgfs_deregister(struct mei_device *dev);
723#else 723#else
724static inline int mei_dbgfs_register(struct mei_device *dev, const char *name) 724static inline void mei_dbgfs_register(struct mei_device *dev, const char *name) {}
725{
726 return 0;
727}
728static inline void mei_dbgfs_deregister(struct mei_device *dev) {} 725static inline void mei_dbgfs_deregister(struct mei_device *dev) {}
729#endif /* CONFIG_DEBUG_FS */ 726#endif /* CONFIG_DEBUG_FS */
730 727