linux/block/blk-pm.h
<<
>>
Prefs
   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
   9static 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#else
  25static 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#endif
  34
  35#endif /* _BLOCK_BLK_PM_H_ */
  36