diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig
index 13cfcb435f7d3e988cf792e106d8cd8cd0693e21..d47482fa1d212644a5e152b8d8c033e40c9a8626 100644
--- a/drivers/base/Kconfig
+++ b/drivers/base/Kconfig
@@ -34,6 +34,31 @@ config FW_LOADER
 	  require userspace firmware loading support, but a module built outside
 	  the kernel tree does.
 
+config FIRMWARE_IN_KERNEL
+	bool "Include in-kernel firmware blobs in kernel binary"
+	depends on FW_LOADER
+	default y
+	help
+	  The kernel source tree includes a number of firmware 'blobs'
+	  which are used by various drivers. The recommended way to
+	  use these is to run "make firmware_install" and to copy the
+	  resulting binary files created in usr/lib/firmware directory
+	  of the kernel tree to the /lib/firmware on your system so
+	  that they can be loaded by userspace helpers on request.
+
+	  Enabling this option will build each required firmware blob
+	  into the kernel directly, where request_firmware() will find
+	  them without having to call out to userspace. This may be
+	  useful if your root file system requires a device which uses
+	  such firmware, and do not wish to use an initrd.
+
+	  This single option controls the inclusion of firmware for
+	  every driver which usees request_firmare() and ships its
+	  firmware in the kernel source tree, to avoid a proliferation
+	  of 'Include firmware for xxx device' options.
+
+	  Say 'N' and let firmware be loaded from userspace.
+
 config EXTRA_FIRMWARE
 	string "External firmware blobs to build into the kernel binary"
 	depends on FW_LOADER
diff --git a/firmware/Makefile b/firmware/Makefile
index e69461f9362bbd5c534f44c97403dbf3f1db3fe1..cc25f5600d5d1f0d14abdb0c7f58c667e70af6dd 100644
--- a/firmware/Makefile
+++ b/firmware/Makefile
@@ -9,6 +9,11 @@ fwabs := $(addprefix $(srctree)/,$(filter-out /%,$(fwdir)))$(filter /%,$(fwdir))
 
 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-))))