Messages in this thread Patch in this message | | | From | Mark Salyzyn <> | Subject | [PATCH] firmware_class: make firmware caching configurable | Date | Wed, 13 Nov 2019 13:01:13 -0800 |
| |
Because firmware caching generates uevent messages that are sent over a netlink socket, it can prevent suspend on many platforms. It's also not always useful, so make it a configurable option.
Signed-off-by: Mark Salyzyn <salyzyn@android.com> Cc: Tim Murray <timmurray@google.com> Cc: Venkata Narendra Kumar Gutta <vnkgutta@codeaurora.org> --- drivers/base/Kconfig | 13 +++++++++++++ drivers/base/firmware_loader/main.c | 6 +++--- 2 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig index 28b92e3cc570..36351c3a62b0 100644 --- a/drivers/base/Kconfig +++ b/drivers/base/Kconfig @@ -89,6 +89,19 @@ config PREVENT_FIRMWARE_BUILD source "drivers/base/firmware_loader/Kconfig" +config FW_CACHE + bool "Enable firmware caching during suspend" + depends on PM_SLEEP + default y + help + Because firmware caching generates uevent messages that are sent + over a netlink socket, it can prevent suspend on many platforms. + It is also not always useful, so on such platforms we have the + option. + + If unsure, say Y. + + config WANT_DEV_COREDUMP bool help diff --git a/drivers/base/firmware_loader/main.c b/drivers/base/firmware_loader/main.c index bf44c79beae9..1c9f03514a47 100644 --- a/drivers/base/firmware_loader/main.c +++ b/drivers/base/firmware_loader/main.c @@ -51,7 +51,7 @@ struct firmware_cache { struct list_head head; int state; -#ifdef CONFIG_PM_SLEEP +#ifdef CONFIG_FW_CACHE /* * Names of firmware images which have been cached successfully * will be added into the below list so that device uncache @@ -556,7 +556,7 @@ static void fw_set_page_data(struct fw_priv *fw_priv, struct firmware *fw) (unsigned int)fw_priv->size); } -#ifdef CONFIG_PM_SLEEP +#ifdef CONFIG_FW_CACHE static void fw_name_devm_release(struct device *dev, void *res) { struct fw_name_devm *fwn = res; @@ -1046,7 +1046,7 @@ request_firmware_nowait( } EXPORT_SYMBOL(request_firmware_nowait); -#ifdef CONFIG_PM_SLEEP +#ifdef CONFIG_FW_CACHE static ASYNC_DOMAIN_EXCLUSIVE(fw_cache_domain); /** -- 2.24.0.rc1.363.gb1bccd3e3d-goog
| |