2013/9/30 Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>: > On Mon, 30 Sep 2013, yoma sophian wrote: > >> hi all: >> We are trying to make usb hibernate work on our embedded system. >> below are configs we enable for system power management: > > Do you mean "hibernate" or "sleep"? it is a little complex to describe what we can. 1. DDR power is still keep alive, so data is ok (suspend) 2. But cpu/usb is power off (hibernate) so I intend to replace suspend function with hibernate ones. such that ehci power off/on can follow hibernate rule. > >> # >> # Power management options >> # >> CONFIG_SUSPEND=y >> CONFIG_SUSPEND_FREEZER=y >> # CONFIG_HIBERNATION is not set >> CONFIG_PM_SLEEP=y > > Notice that PM_SLEEP is enabled but HIBERNATION is disabled. our soc enable suspend funciton and want drivers focus on hibernate flow. > >> CONFIG_PM_SLEEP_SMP=y >> # CONFIG_PM_AUTOSLEEP is not set >> # CONFIG_PM_WAKELOCKS is not set >> CONFIG_PM_RUNTIME=y >> CONFIG_PM=y >> CONFIG_PM_DEBUG=y >> CONFIG_PM_ADVANCED_DEBUG=y >> CONFIG_PM_SLEEP_DEBUG=y >> # CONFIG_APM_EMULATION is not set >> CONFIG_PM_CLK=y >> CONFIG_CPU_PM=y >> CONFIG_ARCH_SUSPEND_POSSIBLE=y >> CONFIG_ARM_CPU_SUSPEND=y >> >> When we use "echo mem > /sys/power/state" , we didn't see any function > > "mem" is a kind of sleep, not a kind of hibernation. But I don't see any usb sleep funciton called from log > >> in usb_device_pm_ops is called. > > Some of those functions definitely should have been called. How do you > know they weren't called? from dmesg on our embedded system. >> Did we miss any configuration to let hibernate work? >> Or we used the wrong way to activate it? > > Maybe something else went wrong before the functions were called. What > does your dmesg log show? I will append to you tomorrow ASAP Grateful your Kind help :) -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html