* Wait for every reference to the dentry to be gone,
* except us.
*/
- while (atomic_read(&dentry->d_count) != 1)
+ while (ACCESS_ONCE(dentry->d_count) != 1)
msleep(100);
dput(dentry);
}
}
EXPORT_SYMBOL_GPL(ltt_ascii_remove_dir);
-static __init int ltt_ascii_init(void)
+__init int ltt_ascii_init(void)
{
ltt_ascii_dir_dentry = debugfs_create_dir(LTT_ASCII, get_ltt_root());
- put_ltt_root();
return ltt_ascii_dir_dentry ? 0 : -EFAULT;
}
-static __exit void ltt_ascii_exit(void)
+__exit void ltt_ascii_exit(void)
{
debugfs_remove(ltt_ascii_dir_dentry);
+ put_ltt_root();
}
-module_init(ltt_ascii_init);
-module_exit(ltt_ascii_exit);
-
MODULE_LICENSE("GPL and additional rights");
MODULE_AUTHOR("Lai Jiangshan@FNST and Mathieu Desnoyers");
MODULE_DESCRIPTION("Linux Trace Toolkit Next Generation Ascii Converter");