Re: [GIT *] Allow request_firmware() to be satisfied from in-kernel, use it in more drivers.

Yinghai Lu
2008-07-15T01:08:41Z

On Mon, Jul 14, 2008 at 5:50 PM, David Woodhouse <dwmw2@infradead.org> wrote:
> On Mon, 2008-07-14 at 17:31 -0700, Yinghai Lu wrote:
>> make[1]: *** No rule to make target
>> `include/config/builtin/firmware/dir.h', needed by
>> `firmware/ql2100_fw.bin.gen.S'. Stop.
>> make: *** [firmware] Error 2
>
> Oh, pants. Sorry, I renamed the CONFIG_BUILTIN_FIRMWARE option to
> CONFIG_EXTRA_FIRMWARE some time back, but all my own test builds had the
> include/config/builtin/firmware/dir.h file still lying around so I
> didn't notice that I'd forgotten to change that manual dependency. And
> evidently nobody using linux-next actually tried to include arbitrary
> _other_ firmware into their tree. This patch should fix it...
>
> (Why _do_ we have stray files left in include/config/ when config
> options go away, btw? Shouldn't they get deleted?)
>
> ----
> Subject: firmware: Correct dependency on CONFIG_EXTRA_FIRMWARE_DIR
>
> When CONFIG_EXTRA_FIRMWARE_DIR gets changed, the filename in the .S file
> (which uses .incbin to include the binary) needs to change. When we
> renamed the BUILTIN_FIRMWARE_DIR option to EXTRA_FIRMWARE_DIR, we forgot
> to update the manual dependency in firmware/Makefile, so it was
> depending on a non-existent file in include/config/
>
> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
>
> diff --git a/firmware/Makefile b/firmware/Makefile
> index 5a1e61c..ec4f0cc 100644
> --- a/firmware/Makefile
> +++ b/firmware/Makefile
> @@ -146,7 +146,7 @@ $(patsubst %,$(obj)/%.gen.S, $(fw-shipped-y)): %: $(wordsize_deps) \
> | $(objtree)/$$(dir %)
> $(call cmd,fwbin,$(patsubst %.gen.S,%,$@))
> $(patsubst %,$(obj)/%.gen.S, $(fw-external-y)): %: $(wordsize_deps) \
> - include/config/builtin/firmware/dir.h | $(objtree)/$$(dir %)
> + include/config/extra/firmware/dir.h | $(objtree)/$$(dir %)
> $(call cmd,fwbin,$(fwabs)/$(patsubst $(obj)/%.gen.S,%,$@))
>
> # The .o files depend on the binaries directly; the .S files don't.
>
>
> --
> dwmw2
>

thanks. it works

MK_FW firmware/ql2100_fw.bin.gen.S
MK_FW firmware/ql2300_fw.bin.gen.S
MK_FW firmware/ql2400_fw.bin.gen.S
MK_FW firmware/ql2200_fw.bin.gen.S
MK_FW firmware/ql2322_fw.bin.gen.S
MK_FW firmware/ql2500_fw.bin.gen.S
AS firmware/ql2100_fw.bin.gen.o
AS firmware/ql2300_fw.bin.gen.o
AS firmware/ql2400_fw.bin.gen.o
AS firmware/ql2200_fw.bin.gen.o
AS firmware/ql2322_fw.bin.gen.o
AS firmware/ql2500_fw.bin.gen.o
LD firmware/built-in.o

calling qla2x00_module_init+0x0/0x131
QLogic Fibre Channel HBA Driver: 8.02.01-k4
ACPI: PCI Interrupt 0000:0c:02.0[A] -> GSI 57 (level, low) -> IRQ 57
qla2xxx 0000:0c:02.0: Found an ISP2312, irq 57, iobase 0xffffc2002d00c000
qla2xxx 0000:0c:02.0: Configuring PCI space...
qla2xxx 0000:0c:02.0: Configure NVRAM parameters...
qla2xxx 0000:0c:02.0: Verifying loaded RISC code...
firmware: using built-in firmware ql2300_fw.bin
qla2xxx 0000:0c:02.0: Allocated (412 KB) for firmware dump...

YH