xref: /openbmc/linux/include/linux/blk-pm.h (revision af8cab36)
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 Assche static 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