1bca6b067SBart Van Assche /* SPDX-License-Identifier: GPL-2.0 */ 2bca6b067SBart Van Assche 3bca6b067SBart Van Assche #ifndef _BLK_PM_H_ 4bca6b067SBart Van Assche #define _BLK_PM_H_ 5bca6b067SBart Van Assche 6bca6b067SBart Van Assche struct device; 7bca6b067SBart Van Assche struct request_queue; 8bca6b067SBart Van Assche 9bca6b067SBart Van Assche /* 10bca6b067SBart Van Assche * block layer runtime pm functions 11bca6b067SBart Van Assche */ 12bca6b067SBart Van Assche #ifdef CONFIG_PM 13bca6b067SBart Van Assche extern void blk_pm_runtime_init(struct request_queue *q, struct device *dev); 14bca6b067SBart Van Assche extern int blk_pre_runtime_suspend(struct request_queue *q); 15bca6b067SBart Van Assche extern void blk_post_runtime_suspend(struct request_queue *q, int err); 16bca6b067SBart Van Assche extern void blk_pre_runtime_resume(struct request_queue *q); 17*af8cab36SAlan Stern extern void blk_post_runtime_resume(struct request_queue *q); 18bca6b067SBart Van Assche extern void blk_set_runtime_active(struct request_queue *q); 19bca6b067SBart Van Assche #else blk_pm_runtime_init(struct request_queue * q,struct device * dev)20bca6b067SBart Van Asschestatic inline void blk_pm_runtime_init(struct request_queue *q, 21bca6b067SBart Van Assche struct device *dev) {} 22bca6b067SBart Van Assche #endif 23bca6b067SBart Van Assche 24bca6b067SBart Van Assche #endif /* _BLK_PM_H_ */ 25