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