36 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2 3#ifndef _BLOCK_BLK_PM_H_4#define _BLOCK_BLK_PM_H_5 6#include <linux/pm_runtime.h>7 8#ifdef CONFIG_PM9static inline int blk_pm_resume_queue(const bool pm, struct request_queue *q)10{11 if (!q->dev || !blk_queue_pm_only(q))12 return 1; /* Nothing to do */13 if (pm && q->rpm_status != RPM_SUSPENDED)14 return 1; /* Request allowed */15 pm_request_resume(q->dev);16 return 0;17}18 19static inline void blk_pm_mark_last_busy(struct request *rq)20{21 if (rq->q->dev && !(rq->rq_flags & RQF_PM))22 pm_runtime_mark_last_busy(rq->q->dev);23}24#else25static inline int blk_pm_resume_queue(const bool pm, struct request_queue *q)26{27 return 1;28}29 30static inline void blk_pm_mark_last_busy(struct request *rq)31{32}33#endif34 35#endif /* _BLOCK_BLK_PM_H_ */36