[PATCH 0/5 v7] Keep rtsx_usb suspended when there's no card

From: Kai-Heng Feng
Date: Mon Nov 05 2018 - 03:45:15 EST


Hi,

This is based on Ulf's work [1] [2].

This patch series can keep rtsx_usb suspended, to save ~0.5W on Intel
platforms and ~1.5W on AMD platforms.

[1] https://patchwork.kernel.org/patch/10440583/
[2] https://patchwork.kernel.org/patch/10445725/

Kai-Heng Feng (5):
memstick: rtsx_usb_ms: Add missing pm_runtime_disable() in probe
function
misc: rtsx_usb: Use USB remote wakeup signaling for card insertion
detection
memstick: Prevent memstick host from getting runtime suspended during
card detection
memstick: rtsx_usb_ms: Use ms_dev() helper
memstick: rtsx_usb_ms: Support runtime power management

v7: Keep CONFIG_PM_SLEEP for .suspend and .resume callbacks.
Use CONFIG_PM for .runtime_suspend and .runtime_resume callbacks.
Reorder pm_runtime_get_noresume() before pm_runtime_enable().
Add missing pm_runtime_disable().

v6: Move pm_runtime_get_noresume() to media_check(), to avoid
potentially unblanced rpm count.

v5: Corretly use system suspend/resume and runtime suspend/resume callback.
Prevent runtime callbacks get call during system suspend.

v4: Use pm_runtime_put() in memstick_check().

v3: Skip parent device check in rtsx_usb_resume_child().
Remove dev_dbg() if it only prints function name.
Use ms_dev() helper at more places.
Remove const qualifier for UNIVERSAL_DEV_PM_OPS.

v2: Resend to linux-usb and LKML.

drivers/memstick/core/memstick.c | 3 +
drivers/memstick/host/rtsx_usb_ms.c | 172 +++++++++++++++++-----------
drivers/misc/cardreader/rtsx_usb.c | 8 ++
3 files changed, 117 insertions(+), 66 deletions(-)

--
2.19.1