Branch data Line data Source code
1 : : /* SPDX-License-Identifier: GPL-2.0 */ 2 : : #ifndef INT_BLK_MQ_DEBUGFS_H 3 : : #define INT_BLK_MQ_DEBUGFS_H 4 : : 5 : : #ifdef CONFIG_BLK_DEBUG_FS 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 : : 18 : : int __blk_mq_debugfs_rq_show(struct seq_file *m, struct request *rq); 19 : : int blk_mq_debugfs_rq_show(struct seq_file *m, void *v); 20 : : 21 : : void blk_mq_debugfs_register(struct request_queue *q); 22 : : void blk_mq_debugfs_unregister(struct request_queue *q); 23 : : void blk_mq_debugfs_register_hctx(struct request_queue *q, 24 : : struct blk_mq_hw_ctx *hctx); 25 : : void blk_mq_debugfs_unregister_hctx(struct blk_mq_hw_ctx *hctx); 26 : : void blk_mq_debugfs_register_hctxs(struct request_queue *q); 27 : : void blk_mq_debugfs_unregister_hctxs(struct request_queue *q); 28 : : 29 : : void blk_mq_debugfs_register_sched(struct request_queue *q); 30 : : void blk_mq_debugfs_unregister_sched(struct request_queue *q); 31 : : void blk_mq_debugfs_register_sched_hctx(struct request_queue *q, 32 : : struct blk_mq_hw_ctx *hctx); 33 : : void blk_mq_debugfs_unregister_sched_hctx(struct blk_mq_hw_ctx *hctx); 34 : : 35 : : void blk_mq_debugfs_register_rqos(struct rq_qos *rqos); 36 : : void blk_mq_debugfs_unregister_rqos(struct rq_qos *rqos); 37 : : void blk_mq_debugfs_unregister_queue_rqos(struct request_queue *q); 38 : : #else 39 : : static inline void blk_mq_debugfs_register(struct request_queue *q) 40 : : { 41 : : } 42 : : 43 : : static inline void blk_mq_debugfs_unregister(struct request_queue *q) 44 : : { 45 : : } 46 : : 47 : : static inline void blk_mq_debugfs_register_hctx(struct request_queue *q, 48 : : struct blk_mq_hw_ctx *hctx) 49 : : { 50 : : } 51 : : 52 : : static inline void blk_mq_debugfs_unregister_hctx(struct blk_mq_hw_ctx *hctx) 53 : : { 54 : : } 55 : : 56 : : static inline void blk_mq_debugfs_register_hctxs(struct request_queue *q) 57 : : { 58 : : } 59 : : 60 : : static inline void blk_mq_debugfs_unregister_hctxs(struct request_queue *q) 61 : : { 62 : : } 63 : : 64 : : static inline void blk_mq_debugfs_register_sched(struct request_queue *q) 65 : : { 66 : : } 67 : : 68 : : static inline void blk_mq_debugfs_unregister_sched(struct request_queue *q) 69 : : { 70 : : } 71 : : 72 : : static inline void blk_mq_debugfs_register_sched_hctx(struct request_queue *q, 73 : : struct blk_mq_hw_ctx *hctx) 74 : : { 75 : : } 76 : : 77 : : static inline void blk_mq_debugfs_unregister_sched_hctx(struct blk_mq_hw_ctx *hctx) 78 : : { 79 : : } 80 : : 81 : : static inline void blk_mq_debugfs_register_rqos(struct rq_qos *rqos) 82 : : { 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 : : } 92 : : #endif 93 : : 94 : : #ifdef CONFIG_BLK_DEBUG_FS_ZONED 95 : : int queue_zone_wlock_show(void *data, struct seq_file *m); 96 : : #else 97 : 0 : static inline int queue_zone_wlock_show(void *data, struct seq_file *m) 98 : : { 99 : 0 : return 0; 100 : : } 101 : : #endif 102 : : 103 : : #endif