| 1 |
|
| 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
|
| 9 | static 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;
|
| 13 | if (pm && q->rpm_status != RPM_SUSPENDED)
|
| 14 | return 1;
|
| 15 | pm_request_resume(q->dev);
|
| 16 | return 0;
|
| 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 | }
|
| 24 | #else
|
| 25 | static inline int blk_pm_resume_queue(const bool pm, struct request_queue *q)
|
| 26 | {
|
| 27 | return 1;
|
| 28 | }
|
| 29 |
|
| 30 | static inline void blk_pm_mark_last_busy(struct request *rq)
|
| 31 | {
|
| 32 | }
|
| 33 | #endif
|
| 34 |
|
| 35 | #endif
|