Commit | Line | Data |
---|---|---|
bca6b067 BVA |
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_PM | |
52abca64 | 9 | static inline int blk_pm_resume_queue(const bool pm, struct request_queue *q) |
154b00d5 | 10 | { |
52abca64 AS |
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; | |
154b00d5 BVA |
17 | } |
18 | ||
19 | static 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 | } | |
bca6b067 | 24 | #else |
52abca64 | 25 | static inline int blk_pm_resume_queue(const bool pm, struct request_queue *q) |
154b00d5 | 26 | { |
52abca64 | 27 | return 1; |
154b00d5 BVA |
28 | } |
29 | ||
30 | static inline void blk_pm_mark_last_busy(struct request *rq) | |
31 | { | |
32 | } | |
bca6b067 BVA |
33 | #endif |
34 | ||
35 | #endif /* _BLOCK_BLK_PM_H_ */ |