Re: [PATCH 1/3] firmware: allow firmware files to be built into kernel image

From: Sam Ravnborg
Date: Fri May 23 2008 - 12:20:32 EST


Hi David.

> +extern struct builtin_fw __start_builtin_fw[];
> +extern struct builtin_fw __end_builtin_fw[];

Could have these in include/linux/sections.h where we
collect other linker symbols?

> diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
> index f054778..8d71a40 100644
> --- a/include/asm-generic/vmlinux.lds.h
> +++ b/include/asm-generic/vmlinux.lds.h
> @@ -86,6 +86,13 @@
> VMLINUX_SYMBOL(__end_pci_fixups_resume) = .; \
> } \
> \
> + /* Built-in firmware blobs */ \
> + .builtin_fw : AT(ADDR(.builtin_fw) - LOAD_OFFSET) { \
> + VMLINUX_SYMBOL(__start_builtin_fw) = .; \
> + *(.builtin_fw) \
> + VMLINUX_SYMBOL(__end_builtin_fw) = .; \
> + } \
> + \
Looks good.
But do we need the firmware after init?
In other owrds could it be inside a discard after init block?


> +
> +#define DECLARE_BUILTIN_FIRMWARE_SIZE(name, blob, size) \
> + static const struct builtin_fw __fw_concat(__builtin_fw,__COUNTER__) \
> + __used __attribute__((__section__(".builtin_fw"))) = \

Use __section():

> + __used __section(.builtin_fw))) = \
(See compiler.h IIRC).

Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/