Re: [PATCH 2/2] PM / sleep: prohibit devices probing during suspend/hibernation

From: Rafael J. Wysocki
Date: Thu Oct 08 2015 - 16:17:33 EST


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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/