Re: [PATCH] [firmware_class] Fix compile with no builtin firmware
From: Ming Lei <tom.leiming@gmail.com>
Date: 2012-11-21 01:35:50
Also in:
lkml
On Tue, 20 Nov 2012 13:12:03 -0500 Solomon Peachy [off-list ref] wrote:
On Tue, Nov 20, 2012 at 08:33:09AM -0800, Greg KH wrote:quoted
quoted
The corresponding .config is attached. Note that it is for a uClinux 3.3.0-uc0 kernel.Lots of things have changed in the firmware code since 3.3.0, can you retest this on the 3.7-rc6 tree?
Solomon, I can't duplicate the build failure with your .config on 3.7-rc5-next.
Not easily; My employer is contracted to do some driver porting and we're stuck with the kernel the client provided. However, the patch is still relevant for upstream, because the underlying problem still exists: * The #ifdef wraps code that pertains solely to built-in firmware, (ie CONFIG_FIRMWARE_IN_KERNEL) and has an #else path for when it's disabled. * There is no point in a CONFIG_FW_LOADER test inside firmware_class.c when the file isn't even compiled unless CONFIG_FW_LOADER is defined.
Enabling CONFIG_EXTRA_FIRMWARE still can make one firmware built in kernel even though CONFIG_FIRMWARE_IN_KERNEL isn't defined, so your patch will break this case.
Perhaps the compile problem is solved in newer kernels (by always generating an empty builtin firmware list?) but the #ifdef is still incorrect.
Looks the problem hasn't been reported before. Thanks, -- Ming Lei