Messages in this thread | | | Subject | Re: [PATCH 2/2] PM / sleep: prohibit devices probing during suspend/hibernation | From | Grygorii Strashko <> | Date | Fri, 9 Oct 2015 09:31:24 -0500 |
| |
On 10/08/2015 03:46 PM, Rafael J. Wysocki wrote: > On Thursday, October 08, 2015 03:20:08 PM Alan Stern wrote: >> On Thu, 8 Oct 2015, Grygorii Strashko wrote: >> >>>>> /** >>>>> + * device_defer_all_probes() - Enable/disable probing of devices >>>>> + * @enable: Enable/disable probing of devices >>>>> + * >>>>> + * if @enable = true >>>>> + * It will disable probing of devices and defer their probes. >>>>> + * otherwise >>>>> + * It will restore normal behavior and trigger re-probing of deferred >>>>> + * devices. >>>>> + */ >>>>> +void device_defer_all_probes(bool enable) >>>>> +{ >>>>> + defer_all_probes = enable; >>>>> + if (enable) >>>>> + /* sync with probes to avoid any races. */ >>>>> + wait_for_device_probe(); >>> >>> ^ pls, pay attention on above code line >>> >>>>> + else >>>>> + driver_deferred_probe_trigger(); >>>>> +} >>>> >>>> Some people might prefer to see two separate functions, an enable >>>> routine and a disable routine. I don't much care. >>> >>> May be. Should I change it? >> >> It would then be more in line with functions like >> pm_runtime_set_{active|suspended} or pm_runtime_[dont_]use_autosuspend. > > Also it would be cleaner code without conditionals: > > enable: > defer_all_probes = true; > wait_for_device_probe(); > > disable: > defer_all_probes = false; > driver_deferred_probe_trigger(); > > Cleaner, no? >
NP. Will do.
-- regards, -grygorii
| |