block: implement runtime pm strategy
When a request is added:
If device is suspended or is suspending and the request is not a
PM request, resume the device.
When the last request finishes:
Call pm_runtime_mark_last_busy().
When pick a request:
If device is resuming/suspending, then only PM request is allowed
to go.
The idea and API is designed by Alan Stern and described here:
http://marc.info/?l=linux-scsi&m=
133727953625963&w=2
Signed-off-by: Lin Ming <[email protected]>
Signed-off-by: Aaron Lu <[email protected]>
Acked-by: Alan Stern <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>