Messages in this thread | | | From | "Rafael J. Wysocki" <> | Subject | Re: [PATCH 2/2] PM / sleep: prohibit devices probing during suspend/hibernation | Date | Thu, 08 Oct 2015 22:46:02 +0200 |
| |
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?
Thanks, Rafael
| |