blob: a0f4077d695932ceaa42367e710fdc07a87d9fff [file]
// SPDX-License-Identifier: GPL-2.0
/*
* Shared request-based / make_request-based functionality
*/
#include <linux/kernel.h>
#include <linux/blkdev.h>
#include <linux/debugfs.h>
struct dentry *blk_debugfs_root;
void blk_debugfs_register(void)
{
blk_debugfs_root = debugfs_create_dir("block", NULL);
}
static struct dentry *blk_debugfs_dir_register(const char *name)
{
return debugfs_create_dir(name, blk_debugfs_root);
}
void blk_queue_debugfs_register(struct request_queue *q, const char *name)
{
q->debugfs_dir = blk_debugfs_dir_register(name);
}
EXPORT_SYMBOL_GPL(blk_queue_debugfs_register);
void blk_queue_debugfs_unregister(struct request_queue *q)
{
debugfs_remove_recursive(q->debugfs_dir);
q->debugfs_dir = NULL;
}
EXPORT_SYMBOL_GPL(blk_queue_debugfs_unregister);
void blk_part_debugfs_register(struct hd_struct *p, const char *name)
{
p->debugfs_dir = blk_debugfs_dir_register(name);
}
void blk_part_debugfs_unregister(struct hd_struct *p)
{
debugfs_remove_recursive(p->debugfs_dir);
p->debugfs_dir = NULL;
}