firmware: Add CONFIG_FIRMWARE_IN_KERNEL option.

This will control whether we build firmware into the kernel image for
_every_ driver which we convert to request_firmware(), to avoid a
proliferation of 'CONFIG_XXX_FIRMWARE' options for each one.

Default to 'y' for now, which is the wrong thing to do but people seem
to be insisting on it and refusing to even review patches until it's
done. And it does preserve the existing behaviour for built-in drivers.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
diff --git a/firmware/Makefile b/firmware/Makefile
index e69461f..cc25f56 100644
--- a/firmware/Makefile
+++ b/firmware/Makefile
@@ -9,6 +9,11 @@
 
 fw-external-y := $(subst ",,$(CONFIG_EXTRA_FIRMWARE))
 
+# If CONFIG_FIRMWARE_IN_KERNEL is not set, then don't include any firmware
+ifneq ($(CONFIG_FIRMWARE_IN_KERNEL),y)
+fw-shipped-y :=
+endif
+
 firmware-y    := $(fw-external-y) $(fw-shipped-y)
 firmware-dirs := $(sort $(patsubst %,$(objtree)/$(obj)/%/,$(dir $(firmware-y) $(fw-shipped-))))