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