On Wed, Aug 24, 2016 at 10:17:38AM +0200, Gabriel Paubert wrote:
On Tue, Aug 23, 2016 at 05:45:04PM -0700, mcgrof@kernel.org wrote:
[snip]
quoted
---
Documentation/firmware_class/README | 20 ++++
drivers/base/Kconfig | 2 +-
.../request_firmware-avoid-init-probe-init.cocci | 130 +++++++++++++++++++++
3 files changed, 151 insertions(+), 1 deletion(-)
create mode 100644 scripts/coccinelle/api/request_firmware-avoid-init-probe-init.cocci
diff --git a/Documentation/firmware_class/README b/Documentation/firmware_class/README
index cafdca8b3b15..056d1cb9d365 100644
--- a/Documentation/firmware_class/README
+++ b/Documentation/firmware_class/README
@@ -93,6 +93,26 @@
user contexts to request firmware asynchronously, but can't be called
in atomic contexts.
+Requirements:
+=============
+
+You should avoid at all costs requesting firmware on both init and probe paths
+of your device driver. Reason for this is the complexity needed to ensure a
+firmware will be available for a driver early in boot through different
+build configurations. Consider built-in drivers needing firmware early, or
+consider a driver assuming it will only get firmware after pivot_root().
+
+Drivers that really need firmware early should use stuff the firmware in
Minor grammatical nit: s/use//
Fixed, thanks.
Luis