On Sun, Apr 08, 2018 at 07:40:11PM +0200, Hans de Goede wrote: > static void firmware_free_data(const struct firmware *fw) > { > @@ -576,6 +600,15 @@ _request_firmware(const struct firmware **firmware_p, const char *name, > goto out; > > ret = fw_get_filesystem_firmware(device, fw->priv); > +#ifdef CONFIG_EFI_EMBEDDED_FIRMWARE > + if (ret && device && > + device_property_read_bool(device, "efi-embedded-firmware")) { > + ret = fw_get_efi_embedded_fw(device, fw->priv, ret); > + if (ret == 0) > + ret = assign_fw(fw, device, opt_flags | FW_OPT_NOCACHE); > + goto out; > + } > +#endif You mussed what I asked for in terms of adding a new flag, (please work on top of Andre's patches as those likely will be merged first, and also have kdocs for the flags) and then a new firmware API to wrap the above into a function which would only do something if the driver *asked* for it on their firmware API call. Ie, please add a new firmware_request_efi_fw(). Also if you see the work I've done to remove the ifdefs over fallback mechanism you'll see it helps split code and make it easier to read. We should strive to not add any more ifdefery and instead make tehis code read easily. Luis