I like your idea, all the way to the point where you actually remove the
firmware file from the kernel tree :)
I think it's a good move to make the firmware files standalone and not
#include'd as a C header file, but it's just plain easier to ship them
with the kernel tree in a lot of cases. $FOO-firmware packages in
Fedora prove other methods of firmware distribution are quite usable,
but that does not therefore imply that in-kernel built-in firmwares have
no utility.
Personally, living in an imaginary all-open-source world, I wouldn't
mind seeing firmware source for firmware built into drivers, a la
drivers/scsi/aic7xxx/aicasm/, living in the kernel tree.
If the firmware has a compatible license and is required for critical
operations like booting the machine, built-in firmware should remain an
option. For certain embedded cases, I could certainly see that
in-kernel firmware being the best method for firmware distribution, for
both $Platform's users and $Platform's developers.
Jeff
--