Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
d173a251 OS |
2 | #ifndef INT_BLK_MQ_DEBUGFS_H |
3 | #define INT_BLK_MQ_DEBUGFS_H | |
4 | ||
5 | #ifdef CONFIG_BLK_DEBUG_FS | |
d332ce09 OS |
6 | |
7 | #include <linux/seq_file.h> | |
8 | ||
4e5cc99e ML |
9 | struct blk_mq_hw_ctx; |
10 | ||
d332ce09 OS |
11 | struct blk_mq_debugfs_attr { |
12 | const char *name; | |
13 | umode_t mode; | |
14 | int (*show)(void *, struct seq_file *); | |
15 | ssize_t (*write)(void *, const char __user *, size_t, loff_t *); | |
16 | /* Set either .show or .seq_ops. */ | |
17 | const struct seq_operations *seq_ops; | |
18 | }; | |
19 | ||
daaadb3e | 20 | int __blk_mq_debugfs_rq_show(struct seq_file *m, struct request *rq); |
16b738f6 OS |
21 | int blk_mq_debugfs_rq_show(struct seq_file *m, void *v); |
22 | ||
6cfc0081 | 23 | void blk_mq_debugfs_register(struct request_queue *q); |
6cfc0081 GKH |
24 | void blk_mq_debugfs_register_hctx(struct request_queue *q, |
25 | struct blk_mq_hw_ctx *hctx); | |
9c1051aa | 26 | void blk_mq_debugfs_unregister_hctx(struct blk_mq_hw_ctx *hctx); |
6cfc0081 | 27 | void blk_mq_debugfs_register_hctxs(struct request_queue *q); |
9c1051aa | 28 | void blk_mq_debugfs_unregister_hctxs(struct request_queue *q); |
d332ce09 | 29 | |
6cfc0081 | 30 | void blk_mq_debugfs_register_sched(struct request_queue *q); |
d332ce09 | 31 | void blk_mq_debugfs_unregister_sched(struct request_queue *q); |
6cfc0081 | 32 | void blk_mq_debugfs_register_sched_hctx(struct request_queue *q, |
d332ce09 OS |
33 | struct blk_mq_hw_ctx *hctx); |
34 | void blk_mq_debugfs_unregister_sched_hctx(struct blk_mq_hw_ctx *hctx); | |
cc56694f | 35 | |
6cfc0081 | 36 | void blk_mq_debugfs_register_rqos(struct rq_qos *rqos); |
cc56694f | 37 | void blk_mq_debugfs_unregister_rqos(struct rq_qos *rqos); |
d173a251 | 38 | #else |
6cfc0081 | 39 | static inline void blk_mq_debugfs_register(struct request_queue *q) |
d173a251 | 40 | { |
d173a251 OS |
41 | } |
42 | ||
6cfc0081 GKH |
43 | static inline void blk_mq_debugfs_register_hctx(struct request_queue *q, |
44 | struct blk_mq_hw_ctx *hctx) | |
d173a251 | 45 | { |
d173a251 OS |
46 | } |
47 | ||
9c1051aa OS |
48 | static inline void blk_mq_debugfs_unregister_hctx(struct blk_mq_hw_ctx *hctx) |
49 | { | |
50 | } | |
51 | ||
6cfc0081 | 52 | static inline void blk_mq_debugfs_register_hctxs(struct request_queue *q) |
9c1051aa | 53 | { |
9c1051aa OS |
54 | } |
55 | ||
56 | static inline void blk_mq_debugfs_unregister_hctxs(struct request_queue *q) | |
d173a251 OS |
57 | { |
58 | } | |
d332ce09 | 59 | |
6cfc0081 | 60 | static inline void blk_mq_debugfs_register_sched(struct request_queue *q) |
d332ce09 | 61 | { |
d332ce09 OS |
62 | } |
63 | ||
64 | static inline void blk_mq_debugfs_unregister_sched(struct request_queue *q) | |
65 | { | |
66 | } | |
67 | ||
6cfc0081 GKH |
68 | static inline void blk_mq_debugfs_register_sched_hctx(struct request_queue *q, |
69 | struct blk_mq_hw_ctx *hctx) | |
d332ce09 | 70 | { |
d332ce09 OS |
71 | } |
72 | ||
73 | static inline void blk_mq_debugfs_unregister_sched_hctx(struct blk_mq_hw_ctx *hctx) | |
74 | { | |
75 | } | |
cc56694f | 76 | |
6cfc0081 | 77 | static inline void blk_mq_debugfs_register_rqos(struct rq_qos *rqos) |
cc56694f | 78 | { |
cc56694f ML |
79 | } |
80 | ||
81 | static inline void blk_mq_debugfs_unregister_rqos(struct rq_qos *rqos) | |
82 | { | |
83 | } | |
d173a251 OS |
84 | #endif |
85 | ||
6a5ac984 BVA |
86 | #ifdef CONFIG_BLK_DEBUG_FS_ZONED |
87 | int queue_zone_wlock_show(void *data, struct seq_file *m); | |
88 | #else | |
89 | static inline int queue_zone_wlock_show(void *data, struct seq_file *m) | |
90 | { | |
91 | return 0; | |
92 | } | |
93 | #endif | |
94 | ||
d173a251 | 95 | #endif |