driver core: firmware loader: fix build error
PATCH 1/1 driver core: firmware loader: fix build error
Patch af5bc11e9 "driver core: firmware loader: kill FW_ACTION_NOHOTPLUG requests before suspend" caused a regression for the case where CONFIG_FW_LOADER_USER_HELPER is not enabled, because it adds references to code that is not available in that configuration:
drivers/base/firmware_class.c: In function 'kill_requests_without_uevent':drivers/base/firmware_class.c:1424:49: error: 'struct firmware_buf' has no member named 'pending_list'
list_for_each_entry_safe(buf, next, &pending_fw_head, pending_list) {drivers/base/firmware_class.c:1426:5: error: implicit declaration of function 'fw_load_abort' [-Werror=implicit-function-declaration]
This fixes the build error by making the new code conditional as well. Found using ARM ape6evm_defconfig on today's linux-next.
drivers/base/firmware_class.c +2 -0
@@ -1417,6 +1417,7 @@ static void __device_uncache_fw_images(void)/* kill pending requests without uevent to avoid blocking suspend */ static void kill_requests_without_uevent (void ) { +#ifdef CONFIG_FW_LOADER_USER_HELPER struct firmware_buf *buf;struct firmware_buf *next;
@@ -1426,6 +1427,7 @@ static void kill_requests_without_uevent(void) fw_load_abort(buf); }mutex_unlock (&fw_lock); +#endif }/**
Hi Arnd,
Thanks for the fix.
Quoted 31 lines · Arnd Bergmann
Patch
af5bc11e9"driver core: firmware loader: killFW_ACTION_NOHOTPLUGrequests before suspend" caused a regression for the case whereCONFIG_FW_LOADER_USER_HELPERis not enabled, because it adds references to code that is not available in that configuration:
drivers/base/firmware_class.c: In function 'kill_requests_without_uevent':drivers/base/firmware_class.c:1424:49: error: 'structfirmware_buf' has no member named 'pending_list'
list_for_each_entry_safe(buf, next, &pending_fw_head, pending_list){drivers/base/firmware_class.c:1426:5: error: implicit declaration of function 'fw_load_abort' [-Werror=implicit-function-declaration]This fixes the build error by making the new code conditional as well. Found using ARM
ape6evm_defconfigon today's linux-next.Signed-off-by Arnd Bergmann <[email protected]>Cc Ming Lei <[email protected]>Cc Takashi Iwai <[email protected]>Cc Greg Kroah-Hartman <[email protected]>drivers/base/firmware_class.c +1
-0@@ -1417,6 +1417,7 @@ static void __device_uncache_fw_images(void)/* kill pending requests without uevent to avoid blocking suspend */ static void kill_requests_without_uevent (void ) { +#ifdef CONFIG_FW_LOADER_USER_HELPER struct firmware_buf *buf;struct firmware_buf *next;
drivers/base/firmware_class.c static void kill_requests_without_uevent(void) · line 1430
Quoted 4 lines
drivers/base/firmware_class.c +1
-0@@ -1426,6 +1427,7 @@ static void kill_requests_without_uevent(void) fw_load_abort(buf); }mutex_unlock (&fw_lock); +#endif
Fenggang's kbuild robot captured the build failure, and a similar fix patch has been posted out:
http://marc.info/?l=linux-kernel&m=137031139632564&w=2
Thanks,
--
Ming Lei