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

From: Grygorii Strashko
Date: Fri Oct 09 2015 - 10:31:39 EST


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
--
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/